diff --git a/CHANGELOG.md b/CHANGELOG.md index eb6b9e62d2f..b6dbc0b0a07 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ Docs: https://docs.openclaw.ai ### Changes +- Shell env/Windows: hide the login-shell environment probe child window so gateway startup and shell-env refreshes do not flash a console on Windows. Fixes #78159. - MS Teams: surface blocked Bot Framework egress by logging JWKS fetch network failures and adding a Bot Connector send hint for transport-level reply failures. Fixes #77674. (#78081) Thanks @Beandon13. - PR triage: mark external pull requests with `proof: supplied` when Barnacle finds structured real behavior proof, keep stale negative proof labels in sync across CRLF-edited PR bodies, and let ClawSweeper own the stronger `proof: sufficient` judgement. - Sessions CLI: show the selected agent runtime in the `openclaw sessions` table so terminal output matches the runtime visibility already present in JSON/status surfaces. Thanks @vincentkoc. diff --git a/src/infra/shell-env.test.ts b/src/infra/shell-env.test.ts index c296cdbc5b5..1006ed87da3 100644 --- a/src/infra/shell-env.test.ts +++ b/src/infra/shell-env.test.ts @@ -112,7 +112,11 @@ describe("shell env fallback", () => { function expectBinShFallbackExec(exec: ReturnType) { expect(exec).toHaveBeenCalledTimes(1); - expect(exec).toHaveBeenCalledWith("/bin/sh", ["-l", "-c", "env -0"], expect.any(Object)); + expect(exec).toHaveBeenCalledWith( + "/bin/sh", + ["-l", "-c", "env -0"], + expect.objectContaining({ windowsHide: true }), + ); } it("is disabled by default", () => { @@ -423,7 +427,11 @@ describe("shell env fallback", () => { expect(res.ok).toBe(true); expect(exec).toHaveBeenCalledTimes(1); - expect(exec).toHaveBeenCalledWith(trustedShell, ["-l", "-c", "env -0"], expect.any(Object)); + expect(exec).toHaveBeenCalledWith( + trustedShell, + ["-l", "-c", "env -0"], + expect.objectContaining({ windowsHide: true }), + ); }); }); diff --git a/src/infra/shell-env.ts b/src/infra/shell-env.ts index 414904d731a..96b6bf8eb34 100644 --- a/src/infra/shell-env.ts +++ b/src/infra/shell-env.ts @@ -92,6 +92,7 @@ function execLoginShellEnvZero(params: { timeout: params.timeoutMs, maxBuffer: DEFAULT_MAX_BUFFER_BYTES, env: params.env, + windowsHide: true, stdio: ["ignore", "pipe", "pipe"], }); }