Repository navigation
docs(providers): qualify Qoder native executable precedence across PATH folders - #7615
Conversation
|
✅ Deterministic PR hygiene checks passed. |
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. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info
📝 Walkthrough
Merge Risk: ⚪ Minimal · up to
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 3326456926
ℹ️ 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".
| ([Global](https://qoder.com/account/integrations), [CN](https://qoder.cn/account/integrations)) and paste it as the provider's API key. The stored key reaches the CLI only as `QODER_PERSONAL_ACCESS_TOKEN` (Global) or `QODERCN_PERSONAL_ACCESS_TOKEN` (CN) in a scoped child environment. | ||
| - **Region Isolation:** Each preset accepts only its canonical destination (`https://qoder.com` or `https://qoder.cn`) and resolves its own executable. Credentials, model cache, usage, and health are independent; neither region falls back to the other. An older custom provider named `qoder` with a different destination keeps its existing adapter and URL. | ||
| - **Windows executables:** Each preset launches its CLI's native executable (`qoder.exe` or `qodercli.exe` for Global, `qodercn.exe` or `qoderclicn.exe` for CN) when one is on PATH, even if an installer's `.cmd` dispatcher such as `qodercn.cmd` is found first. Qoder turns pass empty `--tools` and `--setting-sources` values to keep the CLI's built-in tools and local settings out, and a dispatcher that forwards through PowerShell drops those empty values. When only such a dispatcher is found, the turn fails before the CLI starts with `cli_dispatcher_drops_empty_args`; add the folder holding the native executable to PATH (the official CN installer places it in `%USERPROFILE%\.qoder-cn\bin\qoderclicn`) and retry. A dispatcher that passes arguments straight through, such as an npm shim, keeps working. | ||
| - **Windows executables:** Each preset launches its CLI's native executable (`qoder.exe` or `qodercli.exe` for Global, `qodercn.exe` or `qoderclicn.exe` for CN) when one is on PATH. Within one PATH folder the `.exe` wins over a same-name `.cmd`, and a later candidate name such as `qoderclicn.exe` anywhere on PATH wins over `qodercn.cmd`; an earlier PATH folder that holds only `qodercn.cmd` still shadows a later folder's `qodercn.exe`. Qoder turns pass empty `--tools` and `--setting-sources` values to keep the CLI's built-in tools and local settings out, and a dispatcher that forwards through PowerShell drops those empty values. When only such a dispatcher is found, the turn fails before the CLI starts with `cli_dispatcher_drops_empty_args`; add the folder holding the native executable to PATH (the official CN installer places it in `%USERPROFILE%\.qoder-cn\bin\qoderclicn`) and retry. A dispatcher that passes arguments straight through, such as an npm shim, keeps working. |
There was a problem hiding this comment.
Qualify the later-alias precedence claim
If an earlier PATH directory also contains qoderclicn.cmd, whichFromPath("qoderclicn") stops at that dispatcher, so a qoderclicn.exe in a later directory is never returned and resolveCodingAgentBinary falls back to the first qodercn.cmd. Therefore, the new claim that the later candidate executable wins “anywhere on PATH” is false for installations with both aliases shimmed; qualify it to exclude an earlier same-name dispatcher.
AGENTS.md reference: docs-site/AGENTS.md:L8-L10
Useful? React with 👍 / 👎.
Summary
Follow-up to #7527 for its CodeRabbit note on
guides/providers.md. The Windows executables bullet said each Qoder preset launches its native executable "even if an installer's.cmddispatcher such asqodercn.cmdis found first". The resolver's native preference applies per file name within one PATH folder, so that overstates it. The bullet now says: within one folder the.exewins over a same-name.cmd; a later candidate name such asqoderclicn.exeanywhere on PATH wins overqodercn.cmd; and an earlier folder holding onlyqodercn.cmdstill shadows a later folder'sqodercn.exe. Docs only, English page only (the sentence has no locale copies).Refs #7518
Verification
Checklist
Summary by CodeRabbit