fix: retry switchback without observer hydration

This commit is contained in:
Codex
2026-06-26 13:51:40 +00:00
parent 997b16345d
commit 4471512b9c
@@ -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,