From 6a2c1e57ef96e25f54592ffe720a91e51773496b Mon Sep 17 00:00:00 2001 From: garrytan Date: Sat, 3 Oct 2026 23:17:19 +0000 Subject: [PATCH] D2: bound the navigation guard's tab reset (commit, 5 s) Ubicloud run 3: a click to a link-local link reported the block, but the reset's page.goto('about:blank') waited the full 30 s default navigation timeout, so the command hung past the test deadline and the stale block leaked into the next command. The reset now waits for commit only, with a 5 s bound. --- browse/src/browser-manager.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/browse/src/browser-manager.ts b/browse/src/browser-manager.ts index e310c515c..1de111a77 100644 --- a/browse/src/browser-manager.ts +++ b/browse/src/browser-manager.ts @@ -2106,7 +2106,8 @@ export class BrowserManager { if (!reason || page.isClosed()) return; guard.blocked = reason; console.warn(`[browse] ${reason} (navigation from ${req.frame().url() || 'a new page'}; tab reset to about:blank)`); - await page.goto('about:blank').catch(() => {}); + // Commit is enough to blank the tab; a bounded reset never holds the command for the full navigation timeout. + await page.goto('about:blank', { waitUntil: 'commit', timeout: 5_000 }).catch(() => {}); }).finally(() => { guard.pending.delete(check); }); guard.pending.add(check); });