fix(browser): retry relay navigation after frame detach

Retry browser navigate once after transient frame-detached/target-closed errors by forcing a clean Playwright reconnect, so extension-relay sessions stay controllable across navigation swaps.

Closes #29431
This commit is contained in:
SidQin-cyber
2026-03-01 20:06:15 +08:00
committed by Peter Steinberger
parent 376a52a5ba
commit 7c9d2c1d48
3 changed files with 66 additions and 4 deletions

View File

@@ -22,7 +22,9 @@ const sessionMocks = vi.hoisted(() => ({
return currentPage;
}),
ensurePageState: vi.fn(() => pageState),
forceDisconnectPlaywrightForTarget: vi.fn(async () => {}),
restoreRoleRefsForTarget: vi.fn(() => {}),
storeRoleRefsForTarget: vi.fn(() => {}),
refLocator: vi.fn(() => {
if (!currentRefLocator) {
throw new Error("missing locator");