From f78fb2da909273b75283fea82b710a9a89e45b15 Mon Sep 17 00:00:00 2001 From: ekko <152005280+EKKOLearnAI@users.noreply.github.com> Date: Mon, 11 May 2026 23:00:09 +0800 Subject: [PATCH] fix: add windowsHide to child_process calls to prevent terminal popup on Windows (#637) - copilot-models.ts: add windowsHide to `gh auth token` call - file-provider.ts: add shared execOpts with windowsHide for all docker/ssh/singularity calls Co-authored-by: Claude Opus 4.7 --- packages/server/src/services/hermes/copilot-models.ts | 2 +- packages/server/src/services/hermes/file-provider.ts | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/server/src/services/hermes/copilot-models.ts b/packages/server/src/services/hermes/copilot-models.ts index 76fe27e..4cddc77 100644 --- a/packages/server/src/services/hermes/copilot-models.ts +++ b/packages/server/src/services/hermes/copilot-models.ts @@ -125,7 +125,7 @@ export async function resolveCopilotOAuthTokenWithSource( const appsToken = await readGhAppsToken() if (appsToken) return { token: appsToken, source: 'apps-json' } try { - const { stdout } = await execFileAsync('gh', ['auth', 'token'], { timeout: 3000 }) + const { stdout } = await execFileAsync('gh', ['auth', 'token'], { timeout: 3000, windowsHide: true }) const v = stdout.trim() if (isUsableOAuthToken(v)) return { token: v, source: 'gh-cli' } } catch { /* ignore */ } diff --git a/packages/server/src/services/hermes/file-provider.ts b/packages/server/src/services/hermes/file-provider.ts index 21260ee..8b72e34 100644 --- a/packages/server/src/services/hermes/file-provider.ts +++ b/packages/server/src/services/hermes/file-provider.ts @@ -8,6 +8,7 @@ import { config } from '../../config' import { getActiveProfileDir, getActiveEnvPath } from './hermes-profile' const execFileAsync = promisify(execFile) +const execOpts = { windowsHide: true } // Max download file size (default 200MB) const MAX_DOWNLOAD_SIZE = parseInt(process.env.MAX_DOWNLOAD_SIZE || '', 10) || 200 * 1024 * 1024