print-workflow/ui-fixes #60

Manually merged
viewit merged 2 commits from gangoke/KX-Bridge-Release:print-workflow-ui-fixes into master 2026-06-22 10:53:24 +02:00
Contributor

Fixes for some of my issues expressed in #57 and more

  • Unified all print-start entry points so uploads, progress actions, and file browser printing follow the same verified start flow.
  • Fixed Start Print Behavior handling so Print Dialog and Print Bar are mutually exclusive
  • Fixed stale dialogs reappearing after refresh after being canceled out on initial prompt.
  • Hardened File Browser upload file verification so unverified files cannot bypass the Verify File prompt, even after refresh; canceled auto-prompts stay dismissed until manually retried.
  • Fixed Auto-Leveling propagation so the selected/default setting is honored across all print-start paths.
  • Reworked object skip on print start flow so skip commands are sent at the correct time, confirmed printer state drives the UI, and stale/partial skip reports no longer corrupt state.
  • Improved skip dialog live updates so pending selections are preserved, confirmed skipped objects stay accurate, and refresh polling reflects real printer state.

Tests

Tested every Start Print scenario with object skipping at start, and mid print. Confirmed selected objects skipped.
Tested every Start Print scenario with auto leveling enabled and disabled. Confirmed correct setting used, and default was respected.
Tested canceling out of most dialogs and refreshing browser. Stale dialogs no longer reapperaing unintentinoally

# Fixes for some of my issues expressed in #57 and more - Unified all print-start entry points so uploads, progress actions, and file browser printing follow the same verified start flow. - Fixed Start Print Behavior handling so Print Dialog and Print Bar are mutually exclusive - Fixed stale dialogs reappearing after refresh after being canceled out on initial prompt. - Hardened File Browser upload file verification so unverified files cannot bypass the Verify File prompt, even after refresh; canceled auto-prompts stay dismissed until manually retried. - Fixed Auto-Leveling propagation so the selected/default setting is honored across all print-start paths. - Reworked object skip on print start flow so skip commands are sent at the correct time, confirmed printer state drives the UI, and stale/partial skip reports no longer corrupt state. - Improved skip dialog live updates so pending selections are preserved, confirmed skipped objects stay accurate, and refresh polling reflects real printer state. ## Tests Tested every Start Print scenario with object skipping at start, and mid print. Confirmed selected objects skipped. Tested every Start Print scenario with auto leveling enabled and disabled. Confirmed correct setting used, and default was respected. Tested canceling out of most dialogs and refreshing browser. Stale dialogs no longer reapperaing unintentinoally
gangoke added 2 commits 2026-06-17 12:33:29 +02:00
gangoke changed title from print-workflow-ui-fixes to print-workflow/ui-fixes 2026-06-17 12:45:00 +02:00
Owner

Thanks @gangoke — all changes have been manually integrated into master.

What was included:

  • Skip-state monotonic during active print (stale firmware reports no longer clear confirmed skips)
  • _apply_preprint_skip_after_start: switched from kobra_state to print_state so skip commands are sent correctly during preheating/busy states
  • handle_kx_skip_query now waits up to 1.5s for a fresh skip/report before responding — eliminates the extra polling round-trip
  • Skip state reset at print start (UI only shows confirmed skips from printer, not optimistic ones)
  • handle_print_start (Moonraker path) now has the same pending-skip block + run_in_executor that was only in handle_kx_print before
  • sessionStorage persistence for _fdUserCancelled/_fdAutoOpenedFile: auto-open dialog stays dismissed after page reload
  • webVerifyCancelledFileId in sessionStorage: verify dialog no longer re-opens automatically after reload
  • Banner mode: uses /kx/print when _storeFileId is known (same path as file browser), with improved error handling
  • startReadyFile/startReadyFileWithSlots: storeFiles fallback fetch on page load; _proceedWithFileObj helper
  • Skip dialog: _applySkipDialogState preserves pending willSkip selections during live refresh; 2s polling while dialog is open

Will be included in the next release.

Thanks @gangoke — all changes have been manually integrated into master. What was included: - Skip-state monotonic during active print (stale firmware reports no longer clear confirmed skips) - `_apply_preprint_skip_after_start`: switched from `kobra_state` to `print_state` so skip commands are sent correctly during preheating/busy states - `handle_kx_skip_query` now waits up to 1.5s for a fresh skip/report before responding — eliminates the extra polling round-trip - Skip state reset at print start (UI only shows confirmed skips from printer, not optimistic ones) - `handle_print_start` (Moonraker path) now has the same pending-skip block + `run_in_executor` that was only in `handle_kx_print` before - `sessionStorage` persistence for `_fdUserCancelled`/`_fdAutoOpenedFile`: auto-open dialog stays dismissed after page reload - `webVerifyCancelledFileId` in sessionStorage: verify dialog no longer re-opens automatically after reload - Banner mode: uses `/kx/print` when `_storeFileId` is known (same path as file browser), with improved error handling - `startReadyFile`/`startReadyFileWithSlots`: storeFiles fallback fetch on page load; `_proceedWithFileObj` helper - Skip dialog: `_applySkipDialogState` preserves pending `willSkip` selections during live refresh; 2s polling while dialog is open Will be included in the next release.
viewit closed this pull request 2026-06-17 15:53:58 +02:00
viewit reopened this pull request 2026-06-17 20:12:19 +02:00
Owner

Thanks @gangoke — all of the fixes in this PR have been incorporated into v0.9.26.

We implemented the same changes independently while working through issue #57 (auto-leveling body-first, skip-state monotonicity, print_state check instead of kobra_state, _build_skip_state_result, sessionStorage dialog persistence, startReadyFileWithSlots refactor with _proceedWithFileObj, WebVerify gate with autoOpen flag). The overlap was ~99% — your PR and the issue analysis arrived at exactly the same solutions.

Closing as the changes are already live. Your contribution was genuinely helpful — having a concrete PR to compare against confirmed we had covered every case correctly.

Thanks @gangoke — all of the fixes in this PR have been incorporated into **v0.9.26**. We implemented the same changes independently while working through issue #57 (auto-leveling body-first, skip-state monotonicity, `print_state` check instead of `kobra_state`, `_build_skip_state_result`, sessionStorage dialog persistence, `startReadyFileWithSlots` refactor with `_proceedWithFileObj`, WebVerify gate with autoOpen flag). The overlap was ~99% — your PR and the issue analysis arrived at exactly the same solutions. Closing as the changes are already live. Your contribution was genuinely helpful — having a concrete PR to compare against confirmed we had covered every case correctly.
viewit closed this pull request 2026-06-22 10:51:19 +02:00
viewit reopened this pull request 2026-06-22 10:51:36 +02:00
viewit approved these changes 2026-06-22 10:51:37 +02:00
viewit left a comment
Owner

LGTM — incorporated in v0.9.26

LGTM — incorporated in v0.9.26
viewit manually merged commit 5bff7adad0 into master 2026-06-22 10:53:24 +02:00
Sign in to join this conversation.
No Reviewers
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: viewit/KX-Bridge-Release#60
No description provided.