Ian Chua
c6d3e755ec
chore: remove orcasonar test changes
2026-10-05 16:37:13 +08:00
Ian Chua
797c2c1b33
refactor: move orcasonar changes to dedicated branch
2026-10-05 16:23:53 +08:00
Ian Chua
2b1dba272c
Merge branch 'main' into feat/printer-agent-impl
2026-10-05 16:08:51 +08:00
Ian Chua
f6ccc7a9f9
Merge branch 'main' into feat/printer-agent-impl
2026-10-01 15:09:51 +08:00
Ian Chua
6194c4f8bb
chore: port add_platform_root_certificates from 16027
2026-10-01 14:21:26 +08:00
peachismomo
5af7140cb0
Merge remote-tracking branch 'origin/main' into feat/printer-agent-impl
2026-10-01 00:51:05 +08:00
peachismomo
1cac04eae8
refactor: separate out networking infra
2026-10-01 00:28:57 +08:00
Ian Chua
b935a652b9
Merge branch 'feat/printer-agent-infra' into feat/printer-agent-impl
2026-09-30 19:31:28 +08:00
Ian Chua
a1fd66362b
Merge branch 'main' into feat/printer-agent-infra
2026-09-30 19:29:07 +08:00
peachismomo
a6cad8a6e5
fix: printer agent and camera shutdown races
2026-09-30 19:27:50 +08:00
Ian Chua
9bac75dda5
Merge branch 'feat/printer-agent-infra' into feat/printer-agent-impl
2026-09-28 21:15:32 +08:00
Ian Chua
50c5ec2862
fix: remove redundant earlier expires_never call
2026-09-28 21:14:22 +08:00
Ian Chua
b36a72e16a
fix: orca mqtt session timeout after connack
2026-09-28 21:14:21 +08:00
Ian Chua
64371c191e
Merge branch 'main' into feat/printer-agent-infra
2026-09-28 20:50:03 +08:00
Ian Chua
94702a5f8d
Merge branch 'feat/printer-agent-infra' of https://github.com/OrcaSlicer/OrcaSlicer into feat/printer-agent-infra
2026-09-28 20:48:51 +08:00
Ian Chua
68cdd31852
Merge branch 'main' into feat/printer-agent-infra
2026-09-28 20:48:37 +08:00
Ian Chua
87eb8de001
fix: serialize MQTT ws I/O and dewcouple keepalive
2026-09-24 20:28:13 +08:00
Ian Chua
220508534a
fix: cancel inflight cloud signaling requests
2026-09-24 19:03:58 +08:00
Ian Chua
5a0810365b
fix: clarify OrcaCloud signaling endpoint contract
2026-09-24 18:18:48 +08:00
Ian Chua
fa98ec5afe
feat: add ssl and ca_cert for OrcaPrinterAgent
2026-09-24 17:53:46 +08:00
Ian Chua
3c1d8ac8b4
fix: allow input ip address dialog to validate if is valid endpoint
2026-09-24 17:53:12 +08:00
Ian Chua
936b0bbc17
feat: add https compatibility for moonraker based printer agents
2026-09-24 14:53:32 +08:00
Ian Chua
5222a37eff
fix: command_ams_refresh_rfid function signature in test_printer_agent.cpp
2026-09-24 12:35:03 +08:00
peachismomo
6da938b660
fix: compilation after merge
2026-09-24 01:15:55 +08:00
peachismomo
2dcdf49185
Merge branch 'feat/printer-agent-infra' into feat/printer-agent-impl
2026-09-24 01:02:59 +08:00
peachismomo
52e845a821
fix: add include for non BBL_RELEASE_TO_PUBLIC path in BBLPrinterAgent
2026-09-24 00:23:47 +08:00
Ian Chua
ffb4813510
fix: preserve moonraker device names
2026-09-23 20:17:06 +08:00
Ian Chua
7436f68e09
fix: make moonraker gcode commands asynchronous
2026-09-23 20:15:52 +08:00
Ian Chua
ad956591ce
fix: use correct device id for Moonraker connections
2026-09-23 20:14:21 +08:00
Ian Chua
8da8e9bee1
fix: persist input printer host and port
2026-09-23 20:12:18 +08:00
Ian Chua
0acc8608b1
refactor: make printer connection SSL agent-specific
2026-09-23 20:11:47 +08:00
Ian Chua
a2a9b2ce94
refactor: collapse command_ams_refresh_rfid and command_ams_refresh_rfid2
2026-09-23 18:30:05 +08:00
Ian Chua
07bee6c7a4
Merge branch 'feat/printer-agent-infra' into feat/printer-agent-impl
2026-09-23 15:35:22 +08:00
Ian Chua
1615390182
Merge branch 'main' into feat/printer-agent-infra
2026-09-23 14:54:38 +08:00
Ian Chua
cf20994b58
refactor: connect_printer api and dialog ( #15827 )
...
# Description
<!--
> Please provide a summary of the changes made in this PR. Include
details such as:
> * What issue does this PR address or fix?
> * What new features or enhancements does this PR introduce?
> * Are there any breaking changes or dependencies that need to be
considered?
-->
Changing the IP address input dialog and `connect_printer` API in
preparation for configurable Moonraker/Orca printer agent connections.
# Screenshots/Recordings/Graphs
<!--
> Please attach relevant screenshots to showcase the UI changes.
> Please attach images that can help explain the changes.
-->
<img width="460" height="699" alt="image"
src="https://github.com/user-attachments/assets/35e3ce17-7594-4401-b140-100dea082221 "
/>
## 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 )
2026-09-23 14:54:26 +08:00
Ian Chua
309bb3c6e2
Merge branch 'feat/printer-agent-infra' into feat/printer-agent-impl
2026-09-23 14:53:49 +08:00
Ian Chua
79f20c3996
Merge branch 'feat/printer-agent-infra' into refactor/connect-printer-api
2026-09-23 14:48:33 +08:00
Ian Chua
33179c1902
fix: make integration tests headless
2026-09-23 14:29:57 +08:00
peachismomo
ccaafb3003
tests: cover WebMediaController lifecycle with wxWebView stub
2026-09-23 03:50:35 +08:00
peachismomo
7d4d8276a2
tests: add device manager integration coverage
2026-09-23 03:25:08 +08:00
peachismomo
c492436228
refactor: centralize printer compatibility checks
2026-09-23 03:06:15 +08:00
peachismomo
99a1cd1b74
chore: reduce diagnostic logging level to trace
2026-09-23 02:58:30 +08:00
peachismomo
4b41bf7f4f
fix: clear webview document on stop
2026-09-23 02:57:56 +08:00
peachismomo
d5962052ca
fix: handle malformed printer progress values safely
2026-09-23 02:53:10 +08:00
peachismomo
f1410c8cac
feat: extend optional printer model warnings to calibration & ams workflows
2026-09-23 02:49:27 +08:00
peachismomo
7283a05040
fix: validate windows FFmpeg avformat library
2026-09-23 02:33:47 +08:00
peachismomo
c32c87863b
test: cover printer agent default command dispatch
2026-09-23 01:54:23 +08:00
peachismomo
06f7016d6a
fix: preserve printer agent defaults in PrinterAgentPluginCapabilityTrampoline
2026-09-23 01:53:56 +08:00
peachismomo
be9ae6ffbf
fix(tests): make omitted printer agent operations answer like a missing agent
2026-09-23 00:35:33 +08:00
Ian Chua
cda25c3715
refactor: connect_printer api and dialog
2026-09-22 21:54:10 +08:00
Ian Chua
2dcdfe2d32
fix: refresh token before configuring printer MQTT
2026-09-22 21:46:09 +08:00
Ian Chua
9e34ca536b
fix: port BBL implementations from #15711
2026-09-22 21:11:03 +08:00
Ian Chua
201617a6c0
fix: guard DeviceManager command dispatch when no printer agent is bound
2026-09-22 21:09:58 +08:00
Ian Chua
2dcbee3d76
Merge branch 'main' into feat/printer-agent-infra
2026-09-22 20:55:29 +08:00
Ian Chua
6c353d9596
feat: add ssl compatibility with moonrakerprinteragent
2026-09-22 18:30:30 +08:00
Ian Chua
ce0c759ded
fix: snapmakerprinteragent use moonraker's lifecycle-owned command worker
2026-09-22 16:06:18 +08:00
Ian Chua
9a7e925790
fix: re-implement missing commands on BBLPrinterAgent
2026-09-22 15:49:22 +08:00
Ian Chua
f27b0a1f9d
Merge branch main into feat/printer-agent-infra
2026-09-22 12:11:40 +08:00
Ian Chua
cf1c164546
feat: add printer-agent.md doc to HLSD
2026-09-21 18:40:24 +08:00
Ian Chua
d9f1f8b207
fix: camera signaling API
2026-09-21 16:19:31 +08:00
Ian Chua
a096e1ab8c
Merge branch 'feat/printer-agent-infra' into feat/printer-agent-impl
2026-09-21 16:02:11 +08:00
Ian Chua
bca8dd00dd
Merge branch 'feat/printer-agent-infra' of https://github.com/OrcaSlicer/OrcaSlicer into feat/printer-agent-infra
2026-09-21 15:45:49 +08:00
Ian Chua
8b7f8cac82
fix: follow external-packages for flatpak libdatachannel deps & add flatpak path to use source_dir
2026-09-21 15:45:39 +08:00
Ian Chua
aae03257ed
Merge branch 'main' into feat/printer-agent-infra
2026-09-21 11:54:23 +08:00
Ian Chua
3fba237c9a
fix: shift camera signaling channel to network agent
2026-09-21 11:48:16 +08:00
Ian Chua
cfb6349695
fix: update printer agent plugin API
2026-09-21 11:46:36 +08:00
Ian Chua
f53ad6993a
fix: update windows ffmpeg prebuild
2026-09-21 11:02:20 +08:00
peachismomo
91c6d1d3d5
Merge branch 'feat/printer-agent-impl' of https://github.com/OrcaSlicer/OrcaSlicer into feat/printer-agent-impl
2026-09-18 22:31:37 +08:00
peachismomo
b91f48141d
fix: load windows roots for cloud MQTT and camera signaling
2026-09-18 22:31:25 +08:00
Ian Chua
e168d900f2
fix: stop flatpak DataChannel build from re-cloning over the sandboxed network
2026-09-18 22:10:30 +08:00
Ian Chua
467e249b3d
Merge branch 'feat/printer-agent-infra' into feat/printer-agent-impl
2026-09-18 20:46:18 +08:00
Ian Chua
bc03e3be2f
fix: bump libdatachannel ver & update flatpak to use tar instead
2026-09-18 20:45:29 +08:00
Ian Chua
5287fd0160
fix: swtich start print command from http to mqtt command
2026-09-18 15:59:57 +08:00
Ian Chua
c441fd2fa4
Merge branch feat/printer-agent-infra into feat/printer-agent-impl
2026-09-18 15:59:25 +08:00
Ian Chua
f224b8e4a6
refactor: media controller playback routing and ownership
2026-09-18 13:36:46 +08:00
Ian Chua
8b479c9af3
fix: default impl for vendor agnostic gcode commansd
2026-09-17 18:46:56 +08:00
Ian Chua
d8299c388e
fix: regression bug, connecting to bambu needs bblp username
2026-09-17 18:44:54 +08:00
Ian Chua
771d455d12
Merge branch 'feat/printer-agent-infra' into feat/printer-agent-impl
2026-09-17 16:33:38 +08:00
Ian Chua
a7ab01b815
fix: remove unimplemented pure virtual functions
2026-09-17 16:33:11 +08:00
Ian Chua
4d85b6627e
fix: wrap command_* with small wrapper
2026-09-17 12:51:17 +08:00
Ian Chua
38e35dbff4
Merge branch 'feat/printer-agent-infra' into feat/printer-agent-impl
2026-09-16 22:59:22 +08:00
Ian Chua
dcddb9283c
fix: updated stale docs
2026-09-16 22:54:54 +08:00
Ian Chua
ba9cf6e897
Revert "fix: latent ams in use bug"
...
This reverts commit 910dbcd2e6 .
2026-09-16 22:54:54 +08:00
Ian Chua
d1f2ecb903
feat: restore printer agent implementations
2026-09-16 22:54:46 +08:00
Ian Chua
ee2b4ccf70
Merge branch 'main' into feat/printer-agent-infra
2026-09-16 22:32:32 +08:00
Ian Chua
753c793ea0
revert: filament sync work
2026-09-16 22:20:35 +08:00
Ian Chua
9c5494b19f
fix: disable unused DataChannel media support
2026-09-16 22:08:53 +08:00
Ian Chua
93a119427a
Merge branch main into feat/printer-agent-infra
2026-09-16 22:06:09 +08:00
Ian Chua
d264fcaef4
fix: always build bundled DataChannel dep
2026-09-16 22:04:27 +08:00
Ian Chua
b4ab6dedfd
fix: move printer agent plugin tests into test_plugin_lifecycle.cpp
2026-09-16 21:33:04 +08:00
Ian Chua
ed59f93456
fix: scope get_my_machine_list to printers listed under the current printer agent
2026-09-16 19:48:59 +08:00
Ian Chua
cf52c81dcd
fix: stop the correct media controller
2026-09-16 18:44:06 +08:00
Ian Chua
803a2a3239
fix: dedupe compatible printer type check
2026-09-16 17:18:59 +08:00
Ian Chua
985092bb46
fix: move non-mandatory printer agent function stubs to IPrinterAgent
2026-09-16 16:56:43 +08:00
Ian Chua
cb16a2e547
feat: enable https camera stream mode
2026-09-16 16:24:29 +08:00
Ian Chua
2c2e91b629
fix: remove hardcoded ICE servers
2026-09-16 14:36:49 +08:00
Ian Chua
c3faf903ca
fix: use ORCA_CLOUD_PROVIDER instead of hardcoded string
2026-09-16 14:24:40 +08:00
Ian Chua
5f3c957597
fix: remove stale comment
2026-09-16 14:23:00 +08:00
Ian Chua
8557285389
fix: revert moonraker specific behavior
2026-09-16 14:21:09 +08:00
Ian Chua
a9edab78a8
fix: inject provider, agent id and generation to get_user_print_info to ensure correct metadata
2026-09-16 14:15:24 +08:00
Ian Chua
79dede7d59
fix: change rtc log level
2026-09-16 14:14:21 +08:00
Ian Chua
2ac45b2f78
fix: invoke js clearInterval on WebMediaController::stop
2026-09-16 14:13:37 +08:00
Ian Chua
b4f33e71e9
fix: add internal_developer_mode chekc back to MediaPlayCtrl::load()
2026-09-16 14:12:48 +08:00
Ian Chua
8c91cab971
fix(ci): add libdatachannel to flatpak manifest
2026-09-15 20:01:48 +08:00
Ian Chua
79077518e9
fix: re-include apply header guarded by ifdef __APPLE__
2026-09-15 19:45:14 +08:00
Ian Chua
56aa348c89
fix(ci): set depends openssl
2026-09-15 18:16:50 +08:00
Lam Wei Lun
ae1752fbf2
Resolve printer agent first before getting cloud printer agent
2026-09-15 18:02:02 +08:00
Ian Chua
cf3f36a1c6
Merge branch 'feat/printer-agent-infra' of https://github.com/OrcaSlicer/OrcaSlicer into feat/printer-agent-infra
2026-09-15 17:37:57 +08:00
Ian Chua
cca7d8adb1
fix(ci): deps build order for datachannel
2026-09-15 17:35:25 +08:00
Ian Chua
396d9ff51a
Merge branch 'main' into feat/printer-agent-infra
2026-09-15 16:47:15 +08:00
Ian Chua
81540c81e0
Merge branch 'feat/printer-agent-infra' of https://github.com/OrcaSlicer/OrcaSlicer into feat/printer-agent-infra
2026-09-15 16:46:38 +08:00
Ian Chua
e7ace6cc99
fix: unit tests & unused variables
2026-09-15 16:46:28 +08:00
Lam Wei Lun
79c20a1fad
Guard libdatachannel. Remove unused code
2026-09-15 16:33:12 +08:00
Ian Chua
e48f9f47d2
Revert "fix: parameterize orcaslicer_copy_test_dlls() for printer_agent_plugin_tests"
...
This reverts commit 2f566e3779 .
2026-09-15 16:12:33 +08:00
Ian Chua
2f566e3779
fix: parameterize orcaslicer_copy_test_dlls() for printer_agent_plugin_tests
2026-09-15 16:08:10 +08:00
Ian Chua
37d1edf69a
fix: printer agent virutal optional functions
2026-09-15 15:54:55 +08:00
Lam Wei Lun
f1cf9c69b1
Log first before std::move
2026-09-15 15:49:15 +08:00
Lam Wei Lun
1df362888e
Fixes nullptr deref
2026-09-15 15:47:48 +08:00
Ian Chua
4b2466b179
fix: uninitialized ams state blocking print
2026-09-15 14:40:04 +08:00
Ian Chua
3adcb3e953
fix: split infra from impl
2026-09-15 13:27:17 +08:00
Ian Chua
104dbb2140
fix: camera auto-play on startup
2026-09-14 16:17:17 +08:00
Ian Chua
e482cbbdd7
fix: warnings
2026-09-14 14:56:34 +08:00
Ian Chua
2a5ddd9edb
fix: warnings
2026-09-14 14:16:02 +08:00
Ian Chua
c10f83cf61
Merge branch 'main' into feat/printer-agent-impl
2026-09-14 13:01:03 +08:00
Ian Chua
8eeec6935e
Merge branch 'main' of https://github.com/OrcaSlicer/OrcaSlicer_priv into feat/printer-agent-impl
2026-09-14 12:53:04 +08:00
Ian Chua
131a2abf99
Merge pull request #138 from OrcaSlicer/feat/orca-printer-agent
...
feat: orca printer agent
2026-09-14 12:14:53 +08:00
peachismomo
9daecc59b4
temp: doc for intended change
2026-09-12 02:32:01 +08:00
peachismomo
58e000d842
feat: cloud download via HTTP
2026-09-12 02:31:27 +08:00
Ian Chua
af6be5858e
fix: cloud printers were using the wrong MQTT endpoint
2026-09-11 17:38:56 +08:00
Ian Chua
3fc7fd99d6
fix: shim layer for any compatibiliity changes
2026-09-10 21:55:31 +08:00
Ian Chua
3fe043651b
fix: moonraker printer agent hang on printer power cut
2026-09-09 18:40:01 +08:00
Ian Chua
b0b78c296c
feat: check printer storage status before sending
2026-09-09 18:35:38 +08:00
Ian Chua
62791fabfa
fix: revert sdcard check
2026-09-09 14:10:12 +08:00
Ian Chua
b0ada2dee5
fix: ffmpeg http camera stream jittering due to incomplete frames
2026-09-09 13:40:51 +08:00
Ian Chua
8f4df1aa8c
fix: model_id resolution method for non bambu printers
2026-09-09 13:40:24 +08:00
Ian Chua
5fec9b8d19
Merge pull request #139 from OrcaSlicer/feat/webrtc-impl
...
feat: webrtc implementation
2026-09-08 19:37:31 +08:00
Ian Chua
75ed5afbac
Merge branch 'feat/orca-printer-agent' into feat/webrtc-impl
2026-09-08 19:31:14 +08:00
Ian Chua
01c553bad9
feat: LAN impl for Orca Printer Agent
2026-09-08 19:13:48 +08:00
Ian Chua
a4376c77c3
Merge branch 'feat/orca-printer-agent' of https://github.com/OrcaSlicer/OrcaSlicer_priv into feat/orca-printer-agent
2026-09-08 12:06:25 +08:00
peachismomo
c459994290
fix: connect via ip dialog
2026-09-08 04:40:12 +08:00
Ian Chua
3a0fda7d18
fix: make model_id/dev_type optional instead of blocking
2026-09-07 17:28:40 +08:00
Ian Chua
eb8733f0f4
Merge branch 'feat/orca-printer-agent' into feat/webrtc-impl
2026-09-04 18:28:48 +08:00
Ian Chua
55acb940a8
Merge branch 'feat/printer-agent-impl' into feat/orca-printer-agent
2026-09-04 18:28:25 +08:00
Ian Chua
0d691403de
Merge branch 'main' into feat/printer-agent-impl
2026-09-04 18:26:58 +08:00
Ian Chua
9b2b75a51d
Merge branch 'feat/orca-printer-agent' into feat/webrtc-impl
2026-09-04 18:23:26 +08:00
Ian Chua
25da273ea0
Merge pull request #142 from OrcaSlicer/fix/orca-printer-agent-refactor
...
fix: orcaprinteragent refactor
2026-09-04 18:05:27 +08:00
Ian Chua
dbcb82075f
feat: use ffmpeg to render http camera stream
2026-09-04 16:42:36 +08:00
Ian Chua
2f82cfe40f
fix: LAN paths and camera stream
2026-09-04 16:18:43 +08:00
Ian Chua
972031cf06
fix: orcaprinteragent refactor
2026-09-03 19:42:25 +08:00
Ian Chua
2a4792e762
feat: remove frame assembler and change config to set protocol
2026-09-02 15:59:13 +08:00
Ian Chua
dd15ac6146
fix: cmake
2026-09-02 11:51:40 +08:00
Ian Chua
b0469254bc
Merge branch 'feat/orca-printer-agent' into feat/webrtc-impl
2026-09-01 19:24:04 +08:00
Ian Chua
2228589e16
Merge branch 'feat/printer-agent-impl' into feat/orca-printer-agent
2026-09-01 19:23:47 +08:00
Ian Chua
4d8480e1a1
fix: build
2026-09-01 19:21:23 +08:00
Ian Chua
4320cc78d9
feat: camera via webrtc
2026-09-01 18:59:20 +08:00
Ian Chua
d9d9678a7e
Merge branch 'feat/orca-printer-agent' into feat/webrtc-impl
2026-09-01 18:38:01 +08:00
Ian Chua
d55a0bfec6
fix: build errors
2026-09-01 18:37:04 +08:00
Ian Chua
3b1017df51
Merge branch 'feat/orca-printer-agent' of https://github.com/OrcaSlicer/OrcaSlicer_priv into feat/orca-printer-agent
2026-09-01 18:17:23 +08:00
Ian Chua
f5b81d2ffc
Merge branch 'feat/webrtc-impl' of https://github.com/OrcaSlicer/OrcaSlicer_priv into feat/webrtc-impl
2026-09-01 18:16:20 +08:00
Ian Chua
eb9cfe0ecb
feat: connect to cloud printer and monitor
2026-09-01 18:15:53 +08:00
Ian Chua
1e8805d43d
feat: connect to cloud printer and monitor
2026-09-01 18:15:53 +08:00
Ian Chua
e8f089dfa4
fix: build & access code UI
2026-09-01 18:13:11 +08:00
Ian Chua
84e929ea24
feat: generic camera stream support for http snapshot and rtsp
2026-09-01 18:13:11 +08:00
Ian Chua
abec603e73
fix: build & access code UI
2026-09-01 18:04:37 +08:00
Ian Chua
0ed19d4826
feat: generic camera stream support for http snapshot and rtsp
2026-09-01 18:02:53 +08:00
Ian Chua
b747c13ef4
Merge branch 'feat/orca-printer-agent' of https://github.com/OrcaSlicer/OrcaSlicer_priv into feat/orca-printer-agent
2026-09-01 17:40:07 +08:00
Ian Chua
6a12aca495
feat: connect to cloud printer and monitor
2026-09-01 17:38:52 +08:00
Ian Chua
d486db6459
Merge branch 'main' into feat/printer-agent-impl
2026-09-01 16:51:34 +08:00
Ian Chua
fe777b8801
feat: printer agent impl
2026-09-01 16:49:04 +08:00
Ian Chua
1b3e206f34
feat: connect to cloud printer and monitor
2026-08-28 18:10:31 +08:00
Ian Chua
4df1607ec4
fix: clear up some unrelated changes
2026-08-28 16:45:01 +08:00
Ian Chua
a0ec8bec8a
fix: merge artifact
2026-08-27 15:08:06 +08:00
Ian Chua
36c362cbd2
Merge branch 'main' into feat/printer-agent-impl
2026-08-27 14:54:22 +08:00
Ian Chua
84fde32616
Merge branch 'main' into refactor/printer-agent-interface
2026-08-27 14:52:50 +08:00
Ian Chua
34e349e323
fix: snapmaker U1 SelectMachineDialog blocking print
2026-08-27 14:47:09 +08:00
Ian Chua
44941e571f
fix: remove unused variable
2026-08-26 18:40:48 +08:00
Ian Chua
876d6e2499
fix: printer agent switching on preset change
2026-08-26 18:40:47 +08:00
Ian Chua
858b3024ff
fix: tests
2026-08-26 12:04:02 +08:00
Ian Chua
6595557c34
fix: access codes regression
2026-08-25 18:32:02 +08:00
Ian Chua
c729849843
cleanup moonraker and snapmaker printer agents
2026-08-25 16:39:08 +08:00
Ian Chua
c0563be36e
Merge branch 'feat/printer-agent-impl' of https://github.com/OrcaSlicer/OrcaSlicer into feat/printer-agent-impl
2026-08-25 14:47:12 +08:00
Ian Chua
462f8dce30
fix: remote do_fetch_filament_info from tests
2026-08-25 14:46:11 +08:00
Ian Chua
b2a0485139
fix: defer filesystem and camera abstractions
2026-08-25 14:34:11 +08:00
Ian Chua
f16071f083
fix: remove heavy includes from IPrinterAgent
2026-08-25 13:54:40 +08:00
Ian Chua
a1505e9bed
Merge branch 'main' into refactor/printer-agent-interface
2026-08-25 13:50:25 +08:00
Ian Chua
8e48312b1f
Merge branch 'main' into feat/printer-agent-impl
2026-08-25 13:47:11 +08:00
Ian Chua
ba7fdb8ceb
Merge branch 'main' into feat/printer-agent-impl
2026-08-21 14:17:56 +08:00
Ian Chua
8be9800567
remove irrelevant docs
2026-08-21 14:16:49 +08:00
Ian Chua
c4eabc3c52
fix: extend access code requirements t 0, 8 or more characters.
2026-08-21 14:14:23 +08:00
Ian Chua
0d0d281d0c
feat: parse nozzle information for qidi and moonraker printer agents
2026-08-20 20:11:31 +08:00
Ian Chua
c4bbcd322b
fix: skip filament sync dialog if filamentSyncMode is none
2026-08-20 19:28:02 +08:00
Ian Chua
7aea1b1235
Merge branch 'main' into feat/printer-agent-impl
2026-08-20 16:39:54 +08:00
Ian Chua
41c16436bf
Merge branch 'main' into refactor/printer-agent-interface
2026-08-20 16:09:10 +08:00
Ian Chua
2bbb229c91
Merge branch 'main' into refactor/printer-agent-interface
2026-08-19 23:30:22 +08:00
Ian Chua
c2a43157d2
Merge branch 'main' into feat/printer-agent-impl
2026-08-19 18:29:36 +08:00
Ian Chua
738b30a743
fix: ams sync info and periodic ams sync via subscription workflow
2026-08-19 18:29:19 +08:00
Ian Chua
6e6ffe13f8
Merge branch 'refactor/printer-agent-interface' of https://github.com/OrcaSlicer/OrcaSlicer into refactor/printer-agent-interface
2026-08-19 17:11:14 +08:00
Ian Chua
eb96d127b0
fix: resolve stubgen byte header conflict
2026-08-19 17:11:10 +08:00
SoftFever
60421c33f4
Merge branch 'main' into refactor/printer-agent-interface
2026-08-19 14:32:42 +08:00
SoftFever
300c4b8afb
Merge branch 'main' into refactor/printer-agent-interface
2026-08-18 20:44:56 +08:00
Ian Chua
96092ef2d3
feat: update qidi to use subscription based filament sync mode
2026-08-18 19:05:17 +08:00
Ian Chua
d9002ad87d
fix: ams filament mapping workflow
2026-08-18 18:07:22 +08:00
Ian Chua
4c1ea0a602
Merge branch 'main' into 'feat/printer-agent-impl'
2026-08-17 14:51:04 +08:00
Ian Chua
9415812d85
Merge branch 'main' into refactor/printer-agent-interface
2026-08-17 14:24:23 +08:00
Ian Chua
d3c728557e
Merge 'main' into 'refactor/printer-agent-interface'
2026-08-17 14:24:05 +08:00
Ian Chua
6558c52849
revert file transfer abstraction
2026-08-17 14:19:41 +08:00
Ian Chua
a34d056de2
specify api for getting file transfer url
2026-08-14 15:31:42 +08:00
Ian Chua
7ba5718be6
fix: remove redundant cache
2026-08-12 18:41:51 +08:00
Ian Chua
c1163ce7e5
Merge branch 'refactor/printer-agent-interface' of https://github.com/OrcaSlicer/OrcaSlicer into refactor/printer-agent-interface
2026-08-12 15:29:56 +08:00
Ian Chua
da187eaaf9
fix callback error
2026-08-12 15:29:50 +08:00
Ian Chua
de0268ce86
Merge branch 'main' into refactor/printer-agent-interface
2026-08-12 15:28:53 +08:00
Ian Chua
108923bdaa
fix: default impl
2026-08-12 14:02:04 +08:00
Ian Chua
44793f7a21
remove unused
2026-08-12 13:51:54 +08:00
Ian Chua
7cb1805272
refactor: push bbl workflows to bbl printer agent
2026-08-12 13:50:47 +08:00
Ian Chua
d5c528b7c7
Merge branch 'refactor/printer-agent-interface' of https://github.com/OrcaSlicer/OrcaSlicer into refactor/printer-agent-interface
2026-08-11 15:00:42 +08:00
Ian Chua
742cb712d8
refactor: abstract bambu specific protocol to printer agent
2026-08-11 15:00:34 +08:00
Ian Chua
fd1c5d826c
Merge branch 'main' into refactor/printer-agent-interface
2026-08-07 18:37:56 +08:00
Ian Chua
58be7f4861
feat: abstract remaining gcode commands in devicemanager
2026-08-07 18:36:38 +08:00
Ian Chua
4031b00915
Merge branch 'main' into refactor/printer-agent-interface
2026-08-06 16:27:57 +08:00
Ian Chua
07c62112b8
Reconcile implementation split with PR tip
2026-08-04 18:12:51 +08:00
Ian Chua
f23e4963bf
fix: merge access codes into one
2026-08-04 18:12:43 +08:00
Andrew
95279f7084
docs: document the printer-agent subsystem
2026-08-04 18:12:43 +08:00
Andrew
1014558c91
Keep printer-agent progress in sync
...
Keep the shared task progress aligned with agent
reports that lack Bambu cloud task identity.
Release the lazily allocated task during reset to
avoid leaks when machine objects reconnect.
2026-08-04 18:12:42 +08:00
Andrew
6515062a3a
fix: stop Qidi slot parse throwing on null
2026-08-04 18:12:42 +08:00
Andrew
8153e26b6d
fix: start stream when camera URL changes
2026-08-04 18:12:42 +08:00
Andrew
79fd33d49a
Show Snapmaker U1 camera in Device tab
...
The U1 exposes no /server/webcams/list entry;
its camera only captures after an explicit
camera.start_monitor RPC, which the Moonraker
websocket executes unauthenticated but only
answers over MQTT - so the call is fire and
forget.
Start the camera when the camera view is
shown and renew every 300 s: the printer
retires the capture task at ~362 s and
stop_monitor is accepted but ineffective,
so teardown is simply to stop renewing.
Frames land in monitor.jpg as still JPEGs
(~2 fps at interval 0), so the webview loads
a local HTML wrapper that repolls with a
cache buster.
2026-08-04 18:12:41 +08:00
Andrew
cdb662d4b2
Move Moonraker commands off the UI thread
...
Pause/resume/stop, g-code sends, temps, and
light ran synchronous HTTP on the UI thread,
freezing the app up to 10s per click on slow
or unreachable printers.
Run them on a single agent-owned FIFO worker
so g-code ordering is preserved, while command
translation stays synchronous so unsupported-
command dialogs still work.
Add a pending-disabled state to the pause,
resume, and abort buttons for Moonraker-family
printers: the icon only flips once the
WebSocket reports the real state, which also
rules out double-click races.
2026-08-04 18:12:41 +08:00
Andrew
a27fa7b5df
Fix multi-color filament logic
...
Reuse color decoding across functions to improve
code readability and maintain consistency in
multi-color filament handling.
2026-08-04 18:12:40 +08:00
Andrew
cdeed107c5
Keep Bambu AMS dialect out of the agent waist
...
M620 is Bambu firmware dialect, not a
neutral command. Composing it in
MachineObject let non-Bambu agents
(Moonraker/Klipper) forward it and
report success on firmware that
cannot run it.
Agents now own the dialect: the
default refusal on IPrinterAgent
returns not-supported so the UI
can say so; BBLPrinterAgent keeps
the byte-identical composition.
2026-08-04 18:12:40 +08:00
Andrew
be92f7e78c
Surface Moonraker webcams and gate unrunnable controls
2026-08-04 18:12:39 +08:00
Andrew
76f9de4cfb
fix: make Klipper macro lamp control reliable
2026-08-04 18:12:39 +08:00
Andrew
cd6d2cbf5e
Stop blocking print on unreported nozzle data
2026-08-04 18:12:39 +08:00
Andrew
deaca0189f
Bring Moonraker device panel to feature parity
...
The monitor panel showed wrong or missing
data for Moonraker printers, and its
controls did nothing.
Push payload now carries layer number and
total layers. Remaining time replaces the
wrong total_duration - print_duration
formula. The chamber light toggle maps to
Klipper SET_PIN / SET_LED, and pause,
resume and stop post to
/printer/print/{action}. Task thumbnails
resolve via /server/files/thumbnails onto
a new MachineObject thumbnail url.
Filament sync switches to pull mode so the
agent is queried on demand.
Not compiled or run.
2026-08-04 18:12:38 +08:00
Andrew
7d54ee286d
fix: pin HTTP to prevent connection refusal
...
Set `use_ssl` to false to ensure Moonraker
connectivity, as the service uses HTTP rather
than HTTPS, preventing connection issues. Initialize
device info early for reliable name resolution.
2026-08-04 18:12:38 +08:00
Andrew
dddfc7a8ad
Add printer-agent and plugin status tests
...
Ports the agent lifecycle, duplicate
agent-id, built-in-id clash and
status-resolution tests. The loader
runs on a detached worker thread, so
the lifecycle tests live in their own
executable. Tests install the
production unload-side registry
wiring themselves (no GUI in the
test binary) and register agents
manually so concurrent loads stay
deterministic.
2026-08-04 18:12:37 +08:00
Andrew
673bfb0dee
Track BBLPrinterAgentPlugin.py
2026-08-04 18:12:37 +08:00
Andrew
b9e8c5a38c
Gate agent mode behind use_printer_agents toggle
...
Replace per-printer auto-activation
(is_current_printer_agent_plugin)
with a global experimental AppConfig
toggle, default off: legacy
print-host behavior is unchanged
until the user opts in. The toggle
drives device-tab routing, print
button defaults, connect-button
visibility and sidebar layout, and
dedups machine-select dialog opens.
2026-08-04 18:12:36 +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
Andrew
12075459d2
Replace fake-enum printer agent dropdown ( #121 )
...
A dedicated PrinterAgentChoice field
reads rows straight from the live
agent registry and stores the agent
id string, replacing the fake-coEnum
index mapping. The field moves to
TabPrinter and registers with the
searcher so UnsavedChanges renders
it; the PhysicalPrinterDialog copy
and its update hook are removed
(#125 ). switch_printer_agent now
resolves ids via
resolve_printer_agent_id.
2026-08-04 18:12:36 +08:00
Andrew
f3770f3106
fix: checkbox should depend on plugin is_loaded status
2026-08-04 18:12:35 +08:00
Andrew
90fbf1770f
Resolve duplicate agent ID conflicts
...
Reject a printer-agent capability
whose agent ID is already owned by
another capability or built-in:
flag the plugin error, disable the
capability, and warn the user
instead of silently ignoring it.
2026-08-04 18:12:35 +08:00
Andrew
bde94ab37f
Add support for runtime error status in plugins
...
Distinguish a loaded plugin whose
capability errored (RuntimeError,
warn-styled, stays checked) from a
load-time Error. Status now derives
via resolve_plugin_status(); enum
ordinal keeps dialog sort priority.
Unloading clears stale errors.
2026-08-04 18:12:34 +08:00
Ian Chua
6d25e1777e
Working Moonraker and Qidi printer agent transport ( #104 )
...
Folds the Qidi AMS box-mapping print
overrides (apply_box_mapping +
start_* wrappers) that the transport
fix builds on.
2026-08-04 18:12:34 +08:00
Andrew
7ce26ca8e5
Harden send flow and separate upload failure recovery ( #111 )
...
* fix(send): harden FT send path + IP pre-flight UX
* Remove early returns
2026-08-04 18:12:33 +08:00
Andrew
367fcce634
Prevent loss of user access code on LAN reselect
...
Keep user access code intact to maintain access rights even if
device slot is unpopulated, ensuring continuous connection
and status message reception.
2026-08-04 18:12:33 +08:00
Andrew
9b3a44b339
Parse user print info on the UI thread to prevent heap corruption ( #119 )
...
get_user_print_info()'s HTTP fetch can run on a worker thread (e.g. BindJob),
but parse_user_print_info() mutates userMachineList (insert/erase/delete
MachineObject). on_machine_alive (SSDP) mutates the same maps on the UI thread
without locking, so parsing off-thread races the map and frees MachineObjects
out from under it -> heap corruption.
Keep all device-list mutation on the UI thread: parse inline when already on
the main thread, otherwise marshal via CallAfter so it stays serialized with
on_machine_alive.
2026-08-04 18:12:33 +08:00
Ian Chua
6384191102
Add developer flag for printer agents
2026-08-04 18:12:32 +08:00