From 217f30371324a660834e8a954c8a809db7035ed6 Mon Sep 17 00:00:00 2001 From: L4XB Date: Fri, 25 Sep 2026 06:45:11 +0200 Subject: [PATCH] fix(control-pane): fail a load whose snapshot cannot be shown, and run the shown query render() ran after load()'s ordered failure path and after shownLoad had moved on. A snapshot the board could not show (a session whose detectedHarnesses is stored as an object) threw past the ordering, and an older valid snapshot could no longer take the board. render() now runs inside that path, and shownLoad moves only once it returns. Run posted state.query, the query typed last. When an older load succeeds after a newer one failed, the board shows the older query's results and recall command while Run acted on the newer query. Each load now keeps its query, render() records it for the board, and Run posts that. The test harness assigns new arrays instead of pushing onto page.pending, and records requests the same way. --- scripts/lib/control-pane/ui.js | 25 ++++++----- tests/lib/control-pane-ui.test.js | 70 ++++++++++++++++++++++++++++--- 2 files changed, 79 insertions(+), 16 deletions(-) diff --git a/scripts/lib/control-pane/ui.js b/scripts/lib/control-pane/ui.js index 8168a448e..c49c0a421 100644 --- a/scripts/lib/control-pane/ui.js +++ b/scripts/lib/control-pane/ui.js @@ -410,7 +410,7 @@ function renderControlPaneHtml() {