From c067c16360e0aebd8de0a27bfeda3d4059b5ef65 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Mon, 20 Apr 2026 16:08:55 +0100 Subject: [PATCH] perf(test): shorten browser chrome timeout probes --- extensions/browser/src/browser/chrome.diagnostics.ts | 2 +- extensions/browser/src/browser/chrome.test.ts | 4 ++-- extensions/browser/src/browser/chrome.ts | 3 ++- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/extensions/browser/src/browser/chrome.diagnostics.ts b/extensions/browser/src/browser/chrome.diagnostics.ts index ca9d8e6bd54..ee59875461f 100644 --- a/extensions/browser/src/browser/chrome.diagnostics.ts +++ b/extensions/browser/src/browser/chrome.diagnostics.ts @@ -178,7 +178,7 @@ async function diagnoseCdpHealthCommand( : `WebSocket handshake did not complete within ${timeoutMs}ms`, }); }, - Math.max(50, timeoutMs + 25), + Math.max(1, timeoutMs + Math.min(25, timeoutMs)), ); ws.once("open", () => { diff --git a/extensions/browser/src/browser/chrome.test.ts b/extensions/browser/src/browser/chrome.test.ts index 94749598024..c28332e0273 100644 --- a/extensions/browser/src/browser/chrome.test.ts +++ b/extensions/browser/src/browser/chrome.test.ts @@ -430,7 +430,7 @@ describe("browser chrome helpers", () => { // Simulate a stale command channel: WS opens but never responds to commands. onConnection: (wss) => wss.on("connection", (_ws) => {}), run: async (baseUrl) => { - await expect(isChromeCdpReady(baseUrl, 300, 150)).resolves.toBe(false); + await expect(isChromeCdpReady(baseUrl, 300, 5)).resolves.toBe(false); }, }); }); @@ -440,7 +440,7 @@ describe("browser chrome helpers", () => { wsPath: "/devtools/browser/stale-diagnostic", onConnection: (wss) => wss.on("connection", (_ws) => {}), run: async (baseUrl) => { - const diagnostic = await diagnoseChromeCdp(baseUrl, 300, 150); + const diagnostic = await diagnoseChromeCdp(baseUrl, 300, 5); expect(diagnostic).toMatchObject({ ok: false, code: "websocket_health_command_timeout", diff --git a/extensions/browser/src/browser/chrome.ts b/extensions/browser/src/browser/chrome.ts index b5c00791366..7b82ea89059 100644 --- a/extensions/browser/src/browser/chrome.ts +++ b/extensions/browser/src/browser/chrome.ts @@ -433,7 +433,8 @@ export async function stopOpenClawChrome( if (!(await isChromeReachable(cdpUrlForPort(running.cdpPort), CHROME_STOP_PROBE_TIMEOUT_MS))) { return; } - await new Promise((r) => setTimeout(r, 100)); + const remainingMs = timeoutMs - (Date.now() - start); + await new Promise((r) => setTimeout(r, Math.max(1, Math.min(100, remainingMs)))); } try {