From a08c2c3072ded17b17ba190a4db7db3f4d9a3a20 Mon Sep 17 00:00:00 2001 From: Tobias Gesellchen Date: Mon, 11 May 2026 00:27:23 +0200 Subject: [PATCH] feat(web): standalone Pre-flight button beside each Apply MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit "Test first, decide later" affordance: the same check sequence Apply runs is now reachable without committing to the migration. Useful for spot-checking a speaker after editing URLs, or for verifying a fresh device is reachable before the user commits to writing anything. Two buttons, one per Apply path: - #plan-preflight-btn (Suggested Plan side) — reads the chosen method from plan-apply-btn.dataset.method, same source the real Apply uses, so what's tested matches what would be applied. - #customize-preflight-btn (Custom Plan side) — walks the same radio choices applyCustomPlan reads and builds the same methods array, then runs the checks against it. Both share the existing pre-flight panel and runApplyPreflight orchestrator. New renderPreflightPreviewSummary terminates the panel with a single Close button instead of Proceed Anyway / Cancel — there's nothing to proceed to in preview mode. Both Pre-flight buttons share the disabled-state gate of their Apply counterparts (no plan / invalid URLs disables both) so users can't accidentally pre-flight a plan that wouldn't apply. Co-Authored-By: Claude Opus 4.7 (1M context) --- pkg/service/handlers/web/index.html | 14 ++++ pkg/service/handlers/web/js/script.js | 108 ++++++++++++++++++++++++-- 2 files changed, 117 insertions(+), 5 deletions(-) diff --git a/pkg/service/handlers/web/index.html b/pkg/service/handlers/web/index.html index 5c86b99..08f70e8 100644 --- a/pkg/service/handlers/web/index.html +++ b/pkg/service/handlers/web/index.html @@ -881,6 +881,13 @@ >
+