fix(browse): pass windowsHide to Node spawn polyfill so Windows spawns don't flash console windows

On Windows the browse daemon runs under Node via bun-polyfill.cjs (Bun
cannot drive Playwright's Chromium there). The polyfill's spawn/spawnSync
forward only stdio/env/cwd and drop windowsHide, so every child process
gets a visible conhost window.

The most user-visible effect: the terminal-agent watchdog respawns
'bun run terminal-agent.ts' every 60s (AGENT_WATCHDOG_TICK_MS), so users
see a bun.exe console window flash roughly once a minute per daemon,
indefinitely. With two daemons alive that's a flash every ~30 seconds.

windowsHide is ignored on non-Windows platforms, so this is a no-op
everywhere else.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Rooj Rin 2026-07-18 13:53:34 +07:00
parent a3259400a3
commit 06d91ec10c
1 changed files with 6 additions and 0 deletions

View File

@ -75,6 +75,9 @@ globalThis.Bun = {
timeout: options.timeout,
env: options.env,
cwd: options.cwd,
// Suppress the console window Windows allocates per child process;
// without this every spawn flashes a visible conhost window.
windowsHide: true,
});
return {
@ -91,6 +94,9 @@ globalThis.Bun = {
stdio,
env: options.env,
cwd: options.cwd,
// Suppress the console window Windows allocates per child process;
// without this every spawn flashes a visible conhost window.
windowsHide: true,
});
return {