fix(cli/completion): guard shell profile source line with file-exists check (#78659)

This commit is contained in:
Sarah Fortune
2026-05-06 16:48:26 -07:00
committed by GitHub
parent b2368e1040
commit 5ff283cfbb
2 changed files with 3 additions and 2 deletions

View File

@@ -124,6 +124,7 @@ Docs: https://docs.openclaw.ai
### Fixes
- CLI/completion: guard the shell-profile source line written by `openclaw completion --install` with a file existence check (`[ -f ... ] && source ...` for bash/zsh, `test -f ...; and source ...` for fish) so uninstalling OpenClaw no longer makes new login shells error on a missing completion cache.
- Cron/doctor: repair persisted cron jobs whose `payload.model` was stored as `"default"`, `"null"`, blank, or JSON `null` by removing the bad override during `openclaw doctor --fix` while keeping cron runtime model validation strict. Fixes #78549. Thanks @bizzle12368239.
- Doctor/OpenAI Codex: revert the 2026.5.5 `doctor --fix` repair that rewrote valid `openai-codex/*` ChatGPT/Codex OAuth routes to `openai/*`, which could break OAuth-only GPT-5.5 setups or accidentally move users onto the OpenAI API-key route. If 2026.5.5 already changed your default model, run `openclaw models set openai-codex/gpt-5.5 && openclaw config validate` to switch the default agent back to the Codex OAuth PI route. Fixes #78407.
- Discord/groups: instruct group-chat agents to stay silent when a message is addressed to someone else, replying only when invited or correcting key facts. (#78615)

View File

@@ -69,9 +69,9 @@ function formatCompletionSourceLine(
cachePath: string,
): string {
if (shell === "fish") {
return `source "${cachePath}"`;
return `test -f "${cachePath}"; and source "${cachePath}"`;
}
return `source "${cachePath}"`;
return `[ -f "${cachePath}" ] && source "${cachePath}"`;
}
function isCompletionProfileHeader(line: string): boolean {