Repository navigation
Merge release_2.4.1 into main - #1084
Merged
Merged
Conversation
- New Utils/GatewayDevice: device-facing queries per the snapmaker_connection API contract (WS machine.system_info), no SSWCP/PrintHost dependency; home for future interface migrations - GatewayService: add request_sync() synchronous JSON-RPC whose callback completes on the websocket thread, safe from any thread including the UI thread - GUI_App: m_gateway_service now shared_ptr, gateway_service() accessor - Plater: nozzle-sync and filament-sync entry points query machine info via the gateway and accept a gateway-connected device in their guards - SSWCP untouched: the legacy connect flow keeps SSWCP::query_machine_info
Consume gateway machine snapshots for active-device state, filament and nozzle info, including building snapshots from device print-task config objects, with protocol/service/snapshot tests. Remove the legacy device paths this replaces: AppConfig DeviceInfo storage, the MQTT-agent, machine-manage and cache WCP bridges, the WebSocket debug server, Bonjour machine find, and the runtime Flutter web resource updater/import flow.
- Resolve the CLI executable name per platform and architecture - Report the configured executable name in process manager errors - Ignore locally placed CLI binaries under resources/
Co-authored-by: womendoushihaoyin <xyliu_leo@163.com>
- the uninstall finish page loaded win.bmp from
"${NSISDIR}\Contrib\Graphics\Wizard\win.bmp", a compile-time path naming the
build machine's NSIS folder, so the banner stayed blank on any other machine
- pack the bitmap into the uninstaller (File) and load it from $PLUGINSDIR at
run time, the same way MUI's own Welcome/Finish pages do; the rendered
banner is unchanged
Co-authored-by: zhongzhipan <zhongzhipan@snapmaker.com>
* Fix the issue where the nozzle flow rate is set to high after standard slicing, and the grouping pop-up window does not appear when quickly clicking on the slice. * Remove the shielding of the test parameters to relieve the pressure
Sync release_2.4.1 with feature_dartCli (Connect CLI v1.7.5)
Sync release_2.4.1 with feature_dartCli (Connect CLI v1.7.6)
Merge main into release_2.4.1
preprint flow logging
Update Snapmaker Connect CLI to v1.7.9
Update Snapmaker Connect CLI to v1.8.0
Update Snapmaker Connect CLI to v1.8.1
Update Snapmaker Connect CLI to v1.8.3
Merge main into release_2.4.1 (bring in #1076 bugfixes_algo_v241)
* feat: add GPU acceleration toggle for G-code preview Add a "GPU acceleration for G-code preview" preference (General page, default on) so users on basic integrated graphics can fall back to the legacy CPU vertex-buffer renderer when the shader-side geometry expansion makes the preview slower. - The preference is saved on click; the toolpath rebuild is deferred until the Preferences dialog closes (same pattern as seq_top_layer_only_changed), runs at most once, and only when the value actually changed. Both entry points apply it: GUI_App::open_preferences() and the Apple-menu handler in MainFrame. - Plater::reload_gcode_preview() resets the viewer before reloading because GCodeViewer::load() early-returns on an unchanged result id, so a plain reload_print() would leave the other pipeline's buffers empty and show a blank preview. - The pipeline gate reads the preference from a cache instead of calling AppConfig::get_bool() on every use: that read heap-allocates the key string (23 chars, exceeds SSO) and walks two nested map levels, and the gate runs once per move inside GCodeViewer:: refresh()'s range loop (m_moves_count reaches the millions) plus several times per frame in render_toolpaths(). The cache is re-armed in GCodeViewer::reset() below the m_loading guard, so it always agrees with the loader branch that built the current data, and every toggle still takes effect without a restart. - Hoist the loop-invariant Extrude/Travel visibility lookups out of refresh()'s per-move loop. - Localization: pot template + zh_CN translation for the new strings. * refactor(gcode-viewer): make GPU pipeline choice per-instance Replace the process-global preference cache with a GCodeViewer member set once per load(). Consumers (refresh, render, sliders, visibility queries) now read the flag tied to the data that load() actually built, so a reset() on another viewer instance or a preference write outside the Preferences toggle can no longer flip the gate under the loaded toolpaths. The live AppConfig read now runs once per load. Addresses review feedback on #1058. * fix: address review on #1080 - GUI_App/MainFrame: run the seq-view refresh only when the GPU toggle did not change (its full reload subsumes it; avoids a double rebuild when both preferences change in one dialog session) - zh_CN: use "G-code" in the toggle label per repo-wide terminology
EN: "GPU acceleration for G-code preview" -> "GPU-accelerated G-code preview" zh_CN: "GPU加速预览G-code"
EN: "GPU acceleration for G-code preview" -> "GPU-accelerated G-code preview" zh_CN: "GPU加速预览G-code"
LiuLikeQian
approved these changes
Oct 23, 2026
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
release_2.4.1line intomain.main.Screenshots/Recordings/Graphs
Not applicable; this is a release-line integration merge request.
Tests
release_2.4.1branch intomain.