- Slot color editor: Pickr HSV color picker (offline, served from lib/),
recent swatches (up to 16, localStorage), copy color from other slot
- Unified axes control panel: XY+Z merged, shared step size + custom mm input
- Language selector moved from header to Settings → Appearance
- Filament mismatch detection blocks Upload-and-Print on material mismatch,
slot mapper opens automatically
- Spoolman spool-per-slot assignment in AMS status tab and Filaments settings
- Fix: Spoolman sync rate label — 0=end of print, not disabled (Issue #76)
- Fix: lib/ assets served by bridge static handler for offline use
- UI: global unified select + input styling, set-row labels match modal-field
Per-printer [filament_profiles_<id>] sections so configuring one printer no
longer overwrites another (read-fallback to the legacy global section keeps
single-printer setups unchanged). Dropdown/switch links now navigate to each
printer's own bridge_url. Adds pytest coverage and a CHANGELOG entry.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Merged XY + Z axis cards into single Axes Control panel with shared step
size row and free-text mm input; Home XY/Z placed below respective pads;
Home All + Motors Off centred at bottom
- Language selector removed from header bar, now only in Settings → Appearance
- Upload-and-Print blocked on GCode/AMS material mismatch; slot mapper dialog
opens automatically with mismatch warning highlighting affected slots
- Spoolman spool-per-slot assignment: dropdown in AMS status tab per kachel,
dedicated card in Filaments settings tab with save button
- nightly.yml: NIGHTLY_CHANGELOG.md takes precedence over auto-generated
commit log when present; CI uses it as release body verbatim
Nach Squash-Merge von #32 die Reviews-Anpassungen nachgereicht, die im
Dev-Repo (viewit/KX-Bridge@7c834bc) bereits enthalten waren:
- Content-Disposition mit RFC5987 filename*=UTF-8 + ASCII-Fallback
- DE-Strings im Verify-Dialog übersetzt (msg/confirm/abort)