Repository navigation
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 811686c4bb
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| ...appSettings, | ||
| codexBin: nextCodexBin, | ||
| codexArgs: nextCodexArgs, | ||
| codexHome: nextCodexHome, |
There was a problem hiding this comment.
Serialize settings writes before reloading the new home
When a stale full AppSettings save overlaps this one—for example, the fire-and-forget default-model normalization in SettingsCodexSection (lines 168-176) can start while home validation/save is in flight—it carries the previous codexHome. There is no frontend save queue or version check, so if that invocation reaches update_app_settings_core after this one, the backend treats the stale value as a second home switch and persists the old environment; the reload on line 224 can then reconnect to the wrong provider/home. Serialize full-settings writes or make this update patch/version based so an older snapshot cannot undo the selected home.
Useful? React with 👍 / 👎.
Summary
Adds a persistent Codex Home setting independently of the Codex executable, so users can select the configuration and session environment CodexMonitor connects to.
My use case: I run the normal OpenAI Codex desktop app alongside a Codex CLI configured for DeepSeek. CodexMonitor connects to that DeepSeek CLI. I need CodexMonitor to use its separate home for configuration, global instructions, models, and sessions while the normal desktop app continues using its own environment.
Behavior
CODEX_HOME, then~/.codex. Symlinked home directories work; an unavailable explicit home errors without silently selecting another environment.CODEX_HOME.AGENTS.mdexternal-symlink exception from Allow global AGENTS.md symlinks outside CODEX_HOME #297. Config and workspace file containment remain strict, and dangling links fail explicitly.This is an application-wide home selector, not a credential manager or a per-workspace account switcher. It does not copy credentials, provision provider access, or change the system launch environment. Related to #66, but does not implement that issue's full scope. Existing Queue/Steer defaults are preserved.
Validation
On macOS arm64, against contribution commit
811686c:npm run typecheck— passed.npm run test— 141 files / 1,015 tests passed.npm run lint— no errors; five warnings in unchanged files.npm run build— passed, with the existing large-chunk warning.cargo check --locked— passed.cargo test --locked— 458 tests passed across library and binary targets (239 + 189 + 29 + 1).Native macOS checks on the separately installed candidate exercised selecting/editing the home, model and reasoning discovery, an actual provider-backed GUI request, quit/relaunch and session restoration, simultaneous operation with OpenAI Codex, and an unavailable-home error without fallback. That installed candidate shares the home feature but has local packaging and preference differences; it is not a native build of this exact PR commit. The contribution's compatibility corrections are covered by the tests above. Windows and Linux native behavior have not been exercised locally.