* fix(installer): honor CODEX_HOME for the Codex global install (#1627) Codex resolves its user layer from `CODEX_HOME` and only falls back to `~/.codex`. The target hardcoded the fallback, so a user on a custom profile got a correct install into a directory Codex never reads — the MCP entry, the AGENTS.md block, and detect() all pointed at the wrong profile, and the failure is silent. Resolve the global config dir from `CODEX_HOME` when set and non-blank, mirroring what the copilot-cli target already does for `COPILOT_HOME`. Only the user layer moves; the project layer (#1531) stays anchored to the project. The test harness now also clears `CODEX_HOME` in setHome() alongside HERMES_HOME/COPILOT_HOME — without that, the existing codex tests fail on a developer machine that has the variable exported. Note this is only half of #1627: the CLAUDE_CONFIG_DIR half is already covered by the open PR #1029, which this deliberately does not touch. Co-Authored-By: Claude <noreply@anthropic.com> * fix(installer): honor CLAUDE_CONFIG_DIR for global Claude installs Build on #1633 by @maxmilian and port the CLAUDE_CONFIG_DIR approach from #1029 by @borfast onto the current installer. Keep the CODEX_HOME cherry-pick cbb08231 intact. Resolve non-blank Claude profile paths with path.resolve. Put the global MCP JSON inside a custom profile while preserving ~/.claude.json for the default profile. Settings, instructions, detection, and uninstall follow the selected profile; local installs keep their existing paths. Clear and restore CLAUDE_CONFIG_DIR in the setHome test harness. Cover absolute and relative profiles, idempotency, unset/empty/blank fallback, default-profile preservation, detection/uninstall, and local installs. Combine the Unreleased note for both environment variables. Thanks @seanchann for reporting the issue. Validation on Linux with Node 22.19.0: - npx tsc -p tsconfig.json - npx vitest run __tests__/installer-targets.test.ts: 245 passed, 3 skipped - Reproduced both failures against main e720f6ca; the rebuilt CLI writes all files into CLAUDE_CONFIG_DIR and CODEX_HOME with no ~/.claude, ~/.claude.json, or ~/.codex created. Fixes #1627 --------- Co-authored-by: Max Hsu <maxmilian@gmail.com> Co-authored-by: Claude <noreply@anthropic.com> Co-authored-by: Colby McHenry <colbymchenry@users.noreply.github.com>
This commit is contained in:
co-authored by
Max Hsu
Claude
Colby McHenry
parent
e720f6ca53
commit
2f8cce5c57
@@ -145,6 +145,8 @@ and adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
- Indexing no longer checks whether files outside your project exist. A relative import that points above the project directory (`../../something`) made CodeGraph probe that location on disk while resolving it. Nothing outside the project was ever read, and no such file was ever added to the index or linked to, but the check itself should not have happened — such an import now simply resolves to nothing. Symlinks inside your project that point at code kept elsewhere are unaffected and still index as before. Thanks @ErQrYfkrju. (#1631)
|
||||
|
||||
- `codegraph install` now honors `CLAUDE_CONFIG_DIR` and `CODEX_HOME` for global Claude Code and Codex setup so CodeGraph loads in your chosen profile (thanks @seanchann; #1627).
|
||||
|
||||
#### Screens, links and navigation
|
||||
|
||||
- **Where the app goes after login is a fork, not two always-es.** A navigation whose destination comes back from a helper — `router.replace(await resolvePostLoginRoute())` over `return (await hasSeenWelcome(…)) ? '/home/' : '/welcome/'` — drew both screens with no condition, reading as if the welcome screen always shows. The two arms share a line, and only a column can tell them apart; each synthesized edge now carries its literal's own position, so the guard reader says which arm it is: `WHEN await hasSeenWelcome(…)` → home, and its negation → welcome. And the scan starts at the helper's body, so a literal-union return type — `Promise<'/welcome/' | '/home/'>`, whose routes are string literals too, written first — no longer stands in for the navigation itself. Re-index after upgrading to pick the positions up.
|
||||
|
||||
Reference in New Issue
Block a user