mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-09-16 21:42:43 +00:00
feat: printer agent isolation across devices (#15147)
# Description Printers discovered/bound under one printer agent (e.g. built-in BBL) were leaking into another, independent agent's "My Device"/"Other Device" lists and inheriting its saved access code, since neither the device list nor bind state was ever scoped by which agent found them. - Add printer_agent_id to MachineObject/BBLocalMachine, stamped at discovery/bind time; filter get_my_machine_list(), get_my_cloud_machine_list(), and update_other_devices() by it. - clear_other_devices() now drops entries stamped by the outgoing agent on swap, so the incoming agent's own discovery re-inserts and re-stamps them fresh instead of leaving them stale-tagged forever. - Scope access_code by (dev_id, printer_agent_id) on BBLocalMachine (LAN only since cloud's userMachineList is always refreshed live from the account API, so it isn't at risk the same way), with a BBL-only legacy fallback to the old flat access_code/user_access_code keys so existing bindings keep working. # Screenshots/Recordings/Graphs <!-- > Please attach relevant screenshots to showcase the UI changes. > Please attach images that can help explain the changes. --> ## Tests <!-- > Please describe the tests that you have conducted to verify the changes made in this PR. --> <!-- > A guide for users on how to download the artifacts from this PR. --> [How to Download Pull Requests Artifacts for Testing](https://www.orcaslicer.com/wiki/how_to_download_pr_artifacts)
This commit is contained in:
@@ -3912,7 +3912,7 @@ _collect_sorted_machines(Slic3r::DeviceManager* dev_manager,
|
||||
};
|
||||
|
||||
// collect from user machine list
|
||||
const auto& user_machine_list = dev_manager->get_my_machine_list();// user machine list
|
||||
const auto& user_machine_list = dev_manager->get_my_machine_list(dev_manager->get_current_printer_agent_id());// user machine list
|
||||
for (const auto& elem : user_machine_list)
|
||||
{
|
||||
MachineObject* mobj = elem.second;
|
||||
|
||||
Reference in New Issue
Block a user