Repository navigation
Conversation
Reuse upstream parse_cfs_response and match_filament_preset inside the existing sidebar sync path. The CFS list becomes FilamentData and goes through apply_machine_filament_sync / MixedFilamentManager, the same route as the Elegoo CANVAS sync. The IPrinterAgent framework is not ported. Co-authored-by: aceRage <aceRage@users.noreply.github.com>
…-sync-d523 Co-authored-by: aceRage <aceRage@users.noreply.github.com>
Check /info first, read boxsInfo through the deadline helper, and give the progress dialog a working cancel plus a CFS title. Show the sync button only on CFS-capable models. Map PCTG to PC and PLA-CF to PLA. Co-authored-by: aceRage <aceRage@users.noreply.github.com>
…-sync-d523 Co-authored-by: aceRage <aceRage@users.noreply.github.com>
query_boxes_info can take a session the progress dialog cancel()s, and the join waits under a busy cursor so the UI does not look frozen while the worker drains. Co-authored-by: aceRage <aceRage@users.noreply.github.com>
…-sync-d523 Co-authored-by: aceRage <aceRage@users.noreply.github.com>
Construct the cancellable WebSocket session only after fetch_info so the boxsInfo budget is not spent on HTTP, and size that budget from timeout_s. Co-authored-by: aceRage <aceRage@users.noreply.github.com>
This was referenced Oct 19, 2026
…-sync-d523 Carry the shared Bambu-style filament map panel (#625 via #616) up the Creality stack. CFS sync has no send-dialog mapping of its own. Conflicts in printhost_devices_tests.cpp kept both the CFS sync preset-match cases and the color_match_from_positions identity test. Co-authored-by: aceRage <aceRage@users.noreply.github.com>
4 tasks
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Depends on #625 (merge #625 first) via #616. Merge #616 after #625.
#625 adoption: this PR has no send-dialog mapping of its own. It carries the CFS map panel from #616. Sidebar sync still uses MixedFilamentManager (not
filament_is_mixed).Phase 3 of the Creality send-gap stack (research C6). Sidebar “Sync filaments” on a CFS-capable Creality host reads CFS
boxsInfoand applies it through EdgeSlicer’s existing sync path (apply_machine_filament_sync/ MixedFilamentManager). The IPrinterAgent framework is not ported (research X1).Stacked on Phase 2 (
cursor/creality-cfs-send-d523). Merge Phase 1 then Phase 2 first.Does not affect Snapmaker printers (U1 sync is still
show_sync_filament_dialog). Needs a Creality K2+CFS hardware smoke. Not a U1 check.Review 1/3 (B1, F11–F13)
/infois checked first (deadline-bound),boxsInfousesCrealityWsClient, and the progress dialog has a working Cancel.normalize_filament_typemapsPCTG→PCandPLA-CF→PLA.Re-review 1/3 (F20; B3 via #618)
CrealityWsClient::cancel()).query_boxes_infoaccepts an optional session pointer. The workerjoin()waits under awxBusyCursor.Re-review 2/3 (B5 via #618, B4 via #616, F24)
cancel()from this progress dialog is now only an atomic store +net::post(cancel_socket)on the client ioc.fetch_infoso the boxsInfo budget is not spent on HTTP. Step and total timeouts aretimeout_s * 1000.Upstream sources
CrealityPrintAgent::parse_cfs_response/normalize_filament_type/match_filament_preset.show_canvas_sync_dialog→FilamentData→apply_machine_filament_sync).What was adapted
match_filament_presettakes aFilamentPresetReflist so Catch2 can score it withoutPresetCollection/ IPrinterAgent.Sidebar::show_cfs_sync_dialogchecks/info, thenquery_boxes_info, skips the external holder, buildsFilamentData, thenapply_machine_filament_sync.filament_is_mixed.Expected conflicts
Plater.cppis large; this PR only touches the filament-sync enum, the sidebar button, andshow_cfs_sync_dialog.Untested
normalize_filament_typeandmatch_filament_presetscoring only.Tests
Catch2 v2 in
printhost_devices_tests.cpp: PLA Silk → PLA, PLA-CF → PLA, PCTG → PC, Hyper PLA wins over Generic PLA. Also carries #616'scolor_match_from_positionsidentity test.Smoke checklist (Creality hardware)
/infowithout a zero boxsInfo budget (F24)./infofails fast; the app stays usable.