From 4471512b9caf7339a76e49d97bf2d7624d047b16 Mon Sep 17 00:00:00 2001 From: Codex Date: Fri, 26 Jun 2026 13:51:40 +0000 Subject: [PATCH] fix: retry switchback without observer hydration --- scripts/src/hwlab-node-web-observe-runner-source.ts | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/scripts/src/hwlab-node-web-observe-runner-source.ts b/scripts/src/hwlab-node-web-observe-runner-source.ts index 18e7bd92..bc9bd5ee 100644 --- a/scripts/src/hwlab-node-web-observe-runner-source.ts +++ b/scripts/src/hwlab-node-web-observe-runner-source.ts @@ -1810,10 +1810,7 @@ async function recoverControlPageSessionHydration(sessionId, previousSettle) { const observerHydration = observerPage && !observerPage.isClosed() ? await waitForWorkbenchSessionHydrated(observerPage, sessionId, { timeoutMs: 5000 }) : { ok: false, reason: "observer-page-unavailable", valuesRedacted: true }; - if (observerHydration.ok !== true) { - return { ok: false, attempted: false, reason: "observer-session-not-hydrated", previousSettle, observerHydration, valuesRedacted: true }; - } - await recreateControlPageForNavigation("switch-back-hydration-retry", 1); + await recreateControlPageForNavigation(observerHydration.ok === true ? "switch-back-hydration-retry" : "switch-back-control-retry-without-observer", 1); const navigation = await gotoTarget("/workbench/sessions/" + encodeURIComponent(sessionId)); const settle = await waitForWorkbenchSessionHydrated(page, sessionId, { timeoutMs: 15000 }); const snapshot = settle.snapshot ?? await workbenchSessionSnapshot(); @@ -1824,6 +1821,7 @@ async function recoverControlPageSessionHydration(sessionId, previousSettle) { attempted: true, reason: settle.ok === true ? "control-page-recreated" : settle.reason || "control-session-hydration-retry-failed", previousSettle, + observerHydrated: observerHydration.ok === true, observerHydration, navigation, settle,