mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-09 06:40:42 +00:00
fix(shell-env): hide Windows login shell probe (#78266)
Fixes #78159. - Add `windowsHide: true` to the login-shell env probe used by shell-env fallback on Windows. - Cover the fallback and trusted-shell paths with focused tests. - Add the changelog attribution for #78266. Verification: - `pnpm vitest run src/infra/shell-env.test.ts` - `pnpm build` - `pnpm check` - Full GitHub CI green at `deb6ffbd3c203fc52f5b320fe5ca5aafa11ade57`.
This commit is contained in:
@@ -37,6 +37,7 @@ Docs: https://docs.openclaw.ai
|
||||
- Channels/plugins: show configured official external channels as missing-plugin status rows and send errors with exact install/doctor repair commands after raw package-manager upgrades leave Feishu or WhatsApp uninstalled. Fixes #78702 and #78593. Thanks @MarkMa84 and @mkupiainen.
|
||||
- Codex app-server: disarm the short post-tool completion watchdog after current-turn activity, expose `appServer.turnCompletionIdleTimeoutMs`, and include raw assistant item context in idle-timeout diagnostics so status-only post-tool stalls stop failing as idle. Fixes #77984. Thanks @roseware-dev and @rubencu.
|
||||
- Plugin skills/Windows: publish plugin-provided skill directories as junctions on Windows so standard users without Developer Mode can register plugin skills without symlink EPERM failures. Fixes #77958. (#77971) Thanks @hclsys and @jarro.
|
||||
- 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. (#78266) Thanks @BradGroux.
|
||||
- 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.
|
||||
- Gateway/sessions: fast-path already-qualified model refs while building session-list rows so `openclaw sessions` and Control UI session lists avoid heavyweight model resolution on large stores. (#77902) Thanks @ragesaq.
|
||||
- Contributor PRs: remind external contributors to redact private information like IP addresses, API keys, phone numbers, and non-public endpoints from real behavior proof. Thanks @pashpashpash.
|
||||
|
||||
@@ -114,7 +114,11 @@ describe("shell env fallback", () => {
|
||||
|
||||
function expectBinShFallbackExec(exec: ReturnType<typeof vi.fn>) {
|
||||
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", () => {
|
||||
@@ -425,7 +429,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 }),
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
@@ -92,6 +92,7 @@ function execLoginShellEnvZero(params: {
|
||||
timeout: params.timeoutMs,
|
||||
maxBuffer: DEFAULT_MAX_BUFFER_BYTES,
|
||||
env: params.env,
|
||||
windowsHide: true,
|
||||
stdio: ["ignore", "pipe", "pipe"],
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user