From 01e3ccdde882e3493635c99b29afccce7aea846a Mon Sep 17 00:00:00 2001 From: Madraka Date: Tue, 20 Oct 2026 16:22:12 +0300 Subject: [PATCH] fix(cli): give a local Chrome 30 s to start A cold Chrome on a busy GitHub runner took over 10 s and failed the render tests with "Chrome did not start" (seen on #14 and the contributor-setup workflow) while warm starts stay under a second. Co-Authored-By: Claude Opus 5.5 Signed-off-by: Madraka --- .changeset/chrome-start-timeout.md | 5 +++++ packages/cli/src/render-chrome.ts | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 .changeset/chrome-start-timeout.md diff --git a/.changeset/chrome-start-timeout.md b/.changeset/chrome-start-timeout.md new file mode 100644 index 00000000..cede02a7 --- /dev/null +++ b/.changeset/chrome-start-timeout.md @@ -0,0 +1,5 @@ +--- +"@cloudhal/cli": patch +--- + +`cloudhal render` and the MCP `render_page` tool give a local Chrome 30 seconds to start instead of 10. A cold start on a busy machine or CI runner could exceed 10 seconds and fail with "Chrome did not start". diff --git a/packages/cli/src/render-chrome.ts b/packages/cli/src/render-chrome.ts index e29cfc93..f9f72bc0 100644 --- a/packages/cli/src/render-chrome.ts +++ b/packages/cli/src/render-chrome.ts @@ -90,7 +90,8 @@ export function chromeRenderer( ); const endpoint = new Promise((resolve, reject) => { let err = ""; - const timer = setTimeout(() => reject(new Error("Chrome did not start")), 10_000); + // A cold start on a busy CI runner can take well over 10 s; a warm one is under a second. + const timer = setTimeout(() => reject(new Error("Chrome did not start")), 30_000); child.stderr?.on("data", (chunk: Buffer) => { err += chunk.toString(); const m = /DevTools listening on (ws:\/\/\S+)/.exec(err);