From 875491c4384442d8362593cfaceec2dce9109f58 Mon Sep 17 00:00:00 2001 From: Sergio Date: Fri, 13 Mar 2026 02:13:36 -0700 Subject: [PATCH] fix(web): hide daemon/git console windows on Windows (#653) --- packages/web/bin/cli.js | 1 + packages/web/server/index.js | 4 +++- packages/web/server/lib/git/service.js | 6 ++++-- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/packages/web/bin/cli.js b/packages/web/bin/cli.js index 1678a4d3..9c3e68db 100644 --- a/packages/web/bin/cli.js +++ b/packages/web/bin/cli.js @@ -2731,6 +2731,7 @@ const commands = { const child = spawn(runtimeBin, serverArgs, { detached: true, + windowsHide: true, stdio: ['ignore', logFd, logFd, 'ipc'], env: { ...process.env, diff --git a/packages/web/server/index.js b/packages/web/server/index.js index be2dbbd1..42634344 100644 --- a/packages/web/server/index.js +++ b/packages/web/server/index.js @@ -564,6 +564,7 @@ const searchFilesystemFiles = async (rootPath, options) => { const result = await new Promise((resolve) => { const child = spawn('git', ['check-ignore', '--', ...pathsToCheck], { cwd: dir, + windowsHide: true, stdio: ['ignore', 'pipe', 'pipe'], }); @@ -1135,7 +1136,7 @@ const buildTemplateVariables = async (payload, sessionId) => { if (worktreeDir) { try { const { simpleGit } = await import('simple-git'); - const git = simpleGit(worktreeDir); + const git = simpleGit({ baseDir: worktreeDir, spawnOptions: { windowsHide: true } }); branch = await Promise.race([ git.revparse(['--abbrev-ref', 'HEAD']), new Promise((_, reject) => setTimeout(() => reject(new Error('git timeout')), 3000)), @@ -12950,6 +12951,7 @@ async function main(options = {}) { const result = await new Promise((resolve) => { const child = spawn('git', ['check-ignore', '--', ...pathsToCheck], { cwd: resolvedPath, + windowsHide: true, stdio: ['ignore', 'pipe', 'pipe'], }); diff --git a/packages/web/server/lib/git/service.js b/packages/web/server/lib/git/service.js index 7631589d..073c5f5f 100644 --- a/packages/web/server/lib/git/service.js +++ b/packages/web/server/lib/git/service.js @@ -125,10 +125,11 @@ const buildGitEnv = async () => { const createGit = async (directory) => { const env = await buildGitEnv(); + const spawnOptions = { windowsHide: true }; if (!directory) { - return simpleGit({ env }); + return simpleGit({ env, spawnOptions }); } - return simpleGit({ baseDir: normalizeDirectoryPath(directory), env }); + return simpleGit({ baseDir: normalizeDirectoryPath(directory), env, spawnOptions }); }; const normalizeDirectoryPath = (value) => { @@ -415,6 +416,7 @@ const runGitCommand = async (cwd, args) => { const { stdout, stderr } = await execFileAsync('git', args, { cwd, env: await buildGitEnv(), + windowsHide: true, maxBuffer: 20 * 1024 * 1024, }); return {