Merge pull request #1044 from pikasTech/fix/1020-switchback-retry-without-observer

修复 #1020 Web 哨兵切回重试不依赖 observer 恢复
This commit is contained in:
Lyon
2026-06-26 21:52:30 +08:00
committed by GitHub
@@ -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,