Skip to content

Support DuetWebControl and DuetSoftwareFramework 3.7 - #3

Merged
LoicGRENON merged 1 commit into
LoicGRENON:mainfrom
wolfmc3:dwc-dsf-3.7
Nov 11, 2026
Merged

LoicGRENON merged 1 commit into
LoicGRENON:mainfrom
wolfmc3:dwc-dsf-3.7

Conversation

@wolfmc3

@wolfmc3 wolfmc3 commented Oct 18, 2026

Copy link
Copy Markdown
Contributor

DuetWebControl 3.7 changes the frontend plugin API and build system, so the existing Vue 2 settings panel no longer works. This ports the plugin to DWC/DSF 3.7 while preserving the configuration location and configured command behavior.

Changes

  • Migrate the settings panel and Preferences route to Vue 3, Pinia, Vuetify 4 and the DWC 3.7 plugin loader.
  • Replace the custom HTTP configuration endpoints with the standard DWC download/upload actions. Opening the panel only reads the configuration; saving uploads the file before sending the existing M1200 filter-reload code.
  • Support both dsf-python 3.6 (IPC 12) and 3.7 (IPC 13): enum names, resolved paths and code major-number attributes differ between these clients.
  • Preserve extra configuration fields, edit a copy so cancellation leaves the table unchanged, and validate duplicate/reserved codes and timeouts.
  • Enforce LF endings for Python entry points and update the build workflow, including backend tests against pinned official SDK revisions.
  • Propose version 0.8.0-rc.6. Existing permissions and system-package dependencies are unchanged.

Validation

  • 9 frontend tests pass, covering validation, code allocation, configuration preservation, save/reload ordering and failure handling.
  • 7 backend tests pass against each of the official dsf-python 3.6 and 3.7 clients; subprocess execution is mocked.
  • DWC v3.7.0 source type checking and production ZIP packaging pass.
  • The preceding rc.5 migration was installed on a DSF/DWC 3.7.0 system with dsf-python 3.6.0: the backend started, the frontend displayed the existing configuration, and the configuration bytes were preserved.

Remaining hardware validation

No configured command or G-code was executed during hardware checks, and no live save/delete was performed. End-to-end save/reload and actual command execution still need maintainer validation. The final rc.6 configuration-transport extraction and removal of unused HTTP code were tested locally and were not reinstalled on the live system.

MIGRATION-3.7.md documents the compatibility changes, removed custom endpoints and reproduction steps.

@LoicGRENON
LoicGRENON merged commit 32ac83a into LoicGRENON:main Nov 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants