Commit Graph

13 Commits

Author SHA1 Message Date
Ian Chua
07c62112b8 Reconcile implementation split with PR tip 2026-08-04 18:12:51 +08:00
Andrew
a2a4ca20e4 Reset device selection on agent swap or unload (#124)
set_live_printer_agent centralizes
the swap: deselect the machine,
clear stale sidebar state and the
previous agent's Other Devices, then
install the new agent (or null when
its provider vanished). Plugin
load/unload callbacks refresh the
dropdown and re-run agent selection.
load_last_machine no longer falls
back to the first available machine.
2026-08-04 18:12:36 +08:00
SoftFever
a5be8075e9 Don't auto-connect LAN printers on Device tab entry (#14851)
Adopt BambuStudio's load_last_machine (cloud machines only, remembered
machine preferred) and port record_user_last_machine /
get_user_last_machine. Orca's version auto-connected an arbitrary LAN
printer, starting an unrequested connection that the user's first
printer switch tore down mid-flight, which the 02.08 plugin's connect
worker does not survive. This also caused the 100% crash-on-relaunch
loop: the crashed-on printer was auto-connected at startup, so
re-selecting it always hit the same-machine disconnect+reconnect path.
2026-07-21 13:33:48 +08:00
SoftFever
5028a5000e Load saved LAN printers when the device manager first gets an agent
When the network plugin is not yet installed at startup, on_init_network builds
the DeviceManager without an agent, so its constructor skips loading the persisted
LAN printers. After the plugin is installed and the network stack hot-reloads, the
manager is reused via set_agent(), which never loaded them - so previously paired
printers stayed missing from the device list until an app restart. Load them once a
real agent first arrives.
2026-07-18 15:16:06 +08:00
SoftFever
84d896bbd3 fixes an issue that devmgr ping cloud server every second
Co-authored-by: Copilot <copilot@github.com>
2026-05-03 16:59:30 +08:00
SoftFever
c04be9ab37 Introducing Orca Cloud: https://cloud.orcaslicer.com (#13414)
* Add OrcaCloud sync platform and preset bundle sharing system

  Introduce OrcaCloud, a cloud sync platform for user presets, alongside
  a preset bundle system that enables sharing printer/filament/process
  profiles as local exportable bundles or subscribed cloud bundles.

  OrcaCloud platform:
  - Auth to Orca Cloud
  - Encrypted token storage (file-based or system keychain)
  - User preset sync with
  - Profile migration from default/bambu folders on first login
  - Homepage integration with entrance to cloud.orcaslicer.com

  Preset bundles:
  - Local bundle import/export with bundle_structure.json metadata
  - Subscribed cloud bundles with version-based update checking
  - Thread-safe concurrent bundle access with read-write mutex
  - Canonical bundle preset naming (_local/<id>/... and _subscribed/<id>/...)
  - Bundle presets are read-only; grouped under subheaders in combo boxes
  - PresetBundleDialog with auto-sync toggle, refresh, update notifications
  - Hyperlinked bundle names to cloud bundle pages

  Co-authored-by: Sabriel Koh <sabrielkcr@gmail.com>
  Co-authored-by: Derrick <derrick992110@gmail.com>
  Co-authored-by: Mykola Nahirnyi <mnahirnyi@amcbridge.com>
  Co-authored-by: Ian Chua <iancrb00@gmail.com>
  Co-authored-by: Draginraptor <draginraptor@gmail.com>
  Co-authored-by: ExPikaPaka <112851715+ExPikaPaka@users.noreply.github.com>
  Co-authored-by: Ian Bassi <ian.bassi@outlook.com>
  Co-authored-by: Ocraftyone <Ocraftyone@users.noreply.github.com>
  Co-authored-by: yw4z <ywsyildiz@gmail.com>
  Co-authored-by: peterm-m <101202951+peterm-m@users.noreply.github.com>

* Fixed an issue on Windows it failed to login Orca Cloud with Google account
2026-05-01 18:01:29 +08:00
Maciej Wilczyński
a4d4bfff27 Allow selecting specific network plugin versions 2025-12-14 14:26:16 +01:00
xin.zhang
fabc681442 ENH: update how to load_ams_list
JIRA: [STUDIO-14255]
Change-Id: I204f881b72185ee16f8ff204feb6469504f9f86b
(cherry picked from commit 4150ff5c178de02dfa67e6bd90765e35c6a64e99)
2025-10-28 15:29:56 +08:00
noisyfox
4943c31bd0 Fix friend class 2025-10-02 19:17:44 +08:00
Bastien Nocera
174346e113 FIX: Fix missing wxTimer declaration
src/slic3r/GUI/DeviceCore/DevManager.h:108:5: error: ‘wxTimer’ does not name a type
  108 |     wxTimer* m_timer{ nullptr };
      |     ^~~~~~~

(cherry picked from commit be709a977ea47380135606cccfab325cc5bb9df1)
2025-10-02 18:35:53 +08:00
Bastien Nocera
a77b19bb46 FIX: Fix missing std::mutex declaration
In file included from /run/build/BambuStudio/src/slic3r/GUI/DeviceCore/DevFilaBlackList.cpp:5:
/run/build/BambuStudio/src/slic3r/GUI/DeviceCore/DevManager.h:23:10: error: ‘mutex’ in namespace ‘std’ does not name a type
   23 |     std::mutex listMutex;
      |          ^~~~~

(cherry picked from commit 53dba781011d468f44fc98a564157674220a947f)
2025-10-02 18:35:49 +08:00
haolin.tian
e68daa36c9 FIX: use actual printer_type when connecting with ip&access_code
jira: [STUDIO-13841]
Change-Id: Iff594cd1f6dcd5c6485ab0aa67c98f422a75fd6c
(cherry picked from commit f8d0f62a1b3f3379de40a3b845c06fe61d907d82)
2025-10-02 17:07:20 +08:00
xin.zhang
4a787f6ff8 ENH: clean codes about device
JIRA: [STUDIO-13609]
Change-Id: I591de7033360b9570600006cfbce2148a8d031d5
(cherry picked from commit e9c774be8f4c89b8dafa14ef56913612fb68bd0c)
2025-10-02 09:30:48 +08:00