feat: migrate iFlow provider to Qoder AI (#660)#818
feat: migrate iFlow provider to Qoder AI (#660)#818diegosouzapw wants to merge 1 commit intomainfrom
Conversation
Code Review SummaryStatus: 1 Incomplete Issue | Recommendation: Add missing changes before merge Overview
Issue Details (click to expand)CRITICAL
Details: Three files contain runtime code referencing
Files Reviewed (X files)
Additional Note: The PR is mostly comprehensive, covering environment variables, OAuth configs, executors, services, providers, i18n (30 languages), tests, and documentation. The rename from iFlow → Qoder is consistent and well-applied. However, the three runtime files mentioned above need to be updated to use |
There was a problem hiding this comment.
Code Review
This pull request completes the rebranding of the 'iFlow' provider to 'Qoder' across the codebase, including configuration files, documentation, translations, and test suites. I have identified two instances in open-sse/services/usage.ts and src/lib/usage/fetcher.ts where the function getIflowUsage remains, which should be renamed to getQoderUsage to maintain consistency with the rest of the refactor.
| return await getQwenUsage(accessToken, providerSpecificData); | ||
| case "iflow": | ||
| case "qoder": | ||
| return await getIflowUsage(accessToken); |
There was a problem hiding this comment.
For consistency with the migration from iFlow to Qoder, the function getIflowUsage should be renamed to getQoderUsage. This will improve code clarity and maintainability. Please also rename the function at its definition on line 1188.
| return await getIflowUsage(accessToken); | |
| return await getQoderUsage(accessToken); |
| return await getQwenUsage(accessToken, providerSpecificData); | ||
| case "iflow": | ||
| case "qoder": | ||
| return await getIflowUsage(accessToken); |
There was a problem hiding this comment.
For consistency with the migration from iFlow to Qoder, the function getIflowUsage should be renamed to getQoderUsage. This will improve code clarity and maintainability. Please also rename the function at its definition on line 214.
| return await getIflowUsage(accessToken); | |
| return await getQoderUsage(accessToken); |
There was a problem hiding this comment.
Pull request overview
Migrates the “iFlow” free/OAuth provider integration to “Qoder AI” across the UI constants, OAuth wiring, open-sse registry/executors, scripts, tests, and documentation/i18n so the codebase treats Qoder as the supported provider moving forward.
Changes:
- Replaces provider identifiers and display strings from
iflow/“iFlow” toqoder/“Qoder” across constants, OAuth provider registration, and usage/token-refresh plumbing. - Updates open-sse provider registry + executor mapping and related scripts/env examples for Qoder.
- Updates docs and i18n message bundles to reflect the new provider name and expected free-stack copy.
Reviewed changes
Copilot reviewed 267 out of 268 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| tests/unit/proxy-connection-test.test.mjs | Updates provider expectation lists to use qoder instead of iflow. |
| src/shared/constants/providers.ts | Renames free provider entry from iflow to qoder (keeps alias if). |
| src/shared/constants/pricing.ts | Updates pricing section comment to “Qoder AI (if)”. |
| src/shared/constants/colors.ts | Renames provider color key from iflow to qoder and updates label. |
| src/shared/components/OAuthModal.tsx | Updates UI copy examples from iFlow → Qoder for popup-close handling. |
| src/lib/usage/fetcher.ts | Routes usage lookup switch-case from iflow → qoder and updates messages. |
| src/lib/oauth/services/index.ts | Re-exports QoderService instead of IFlowService. |
| src/lib/oauth/providers/qoder.ts | Defines the Qoder OAuth provider using QODER_CONFIG and userinfo lookup. |
| src/lib/oauth/providers/index.ts | Registers qoder provider in OAuth provider registry map. |
| src/lib/oauth/constants/oauth.ts | Renames IFLOW_CONFIG → QODER_CONFIG and updates endpoints/env var names. |
| src/i18n/messages/zh-CN.json | Updates free-stack and “waiting for authorization” strings to Qoder. |
| src/i18n/messages/vi.json | Updates free-stack and “waiting for authorization” strings to Qoder. |
| src/i18n/messages/uk-UA.json | Updates free-stack and “waiting for authorization” strings to Qoder. |
| src/i18n/messages/tr.json | Updates free-stack and “waiting for authorization” strings to Qoder. |
| src/i18n/messages/th.json | Updates free-stack and “waiting for authorization” strings to Qoder. |
| src/i18n/messages/sv.json | Updates free-stack and “waiting for authorization” strings to Qoder. |
| src/i18n/messages/sk.json | Updates free-stack and “waiting for authorization” strings to Qoder. |
| src/i18n/messages/ru.json | Updates free-stack and “waiting for authorization” strings to Qoder. |
| src/i18n/messages/ro.json | Updates free-stack and “waiting for authorization” strings to Qoder. |
| src/i18n/messages/pt.json | Updates free-stack and “waiting for authorization” strings to Qoder. |
| src/i18n/messages/pt-BR.json | Updates free-stack and “waiting for authorization” strings to Qoder. |
| src/i18n/messages/pl.json | Updates free-stack and “waiting for authorization” strings to Qoder. |
| src/i18n/messages/phi.json | Updates free-stack and “waiting for authorization” strings to Qoder. |
| src/i18n/messages/no.json | Updates free-stack and “waiting for authorization” strings to Qoder. |
| src/i18n/messages/nl.json | Updates free-stack and “waiting for authorization” strings to Qoder. |
| src/i18n/messages/ms.json | Updates free-stack and “waiting for authorization” strings to Qoder. |
| src/i18n/messages/ko.json | Updates free-stack and “waiting for authorization” strings to Qoder. |
| src/i18n/messages/ja.json | Updates free-stack and “waiting for authorization” strings to Qoder. |
| src/i18n/messages/it.json | Updates free-stack and “waiting for authorization” strings to Qoder. |
| src/i18n/messages/in.json | Updates “waiting for authorization” string key/value to Qoder. |
| src/i18n/messages/id.json | Updates free-stack and “waiting for authorization” strings to Qoder. |
| src/i18n/messages/hu.json | Updates free-stack and “waiting for authorization” strings to Qoder. |
| src/i18n/messages/hi.json | Updates free-stack description to Qoder. |
| src/i18n/messages/he.json | Updates free-stack and “waiting for authorization” strings to Qoder. |
| src/i18n/messages/fr.json | Updates free-stack and “waiting for authorization” strings to Qoder. |
| src/i18n/messages/fi.json | Updates free-stack and “waiting for authorization” strings to Qoder. |
| src/i18n/messages/es.json | Updates free-stack and “waiting for authorization” strings to Qoder. |
| src/i18n/messages/en.json | Updates free-stack and “waiting for authorization” strings to Qoder. |
| src/i18n/messages/de.json | Updates free-stack and “waiting for authorization” strings to Qoder. |
| src/i18n/messages/da.json | Updates free-stack and “waiting for authorization” strings to Qoder. |
| src/i18n/messages/cs.json | Updates Czech docs strings and some markdown emphasis formatting. |
| src/i18n/messages/bg.json | Updates free-stack and “waiting for authorization” strings to Qoder. |
| src/i18n/messages/ar.json | Updates free-stack and “waiting for authorization” strings to Qoder. |
| scripts/system-info.mjs | Updates CLI tool probe from iflow to qoder. |
| scripts/check-t11-any-budget.mjs | Updates T11 any-budget file list from iflow executor to qoder executor. |
| scripts/bootstrap-env.mjs | Updates optional OAuth secret key name to QODER. |
| open-sse/utils/thinkTagParser.ts | Updates provider examples in documentation comment from iFlow → Qoder. |
| open-sse/services/usage.ts | Switch-case provider id migration iflow → qoder and message text updates. |
| open-sse/services/tokenRefresh.ts | Switch-case provider id migration iflow → qoder and token refresh endpoint updates. |
| open-sse/executors/index.ts | Replaces IFlowExecutor wiring with QoderExecutor. |
| open-sse/config/providerRegistry.ts | Replaces iflow registry entry with qoder (endpoints/models/UA/env var names). |
| open-sse/config/constants.ts | Renames OAuth endpoints map entry from iflow → qoder. |
| docs/i18n/zh-CN/USER_GUIDE.md | Updates provider name references and examples from iFlow → Qoder. |
| docs/i18n/zh-CN/TROUBLESHOOTING.md | Updates free-tier provider mention from iFlow → Qoder. |
| docs/i18n/zh-CN/FEATURES.md | Updates provider list copy to include Qoder instead of iFlow. |
| docs/i18n/zh-CN/CODEBASE_DOCUMENTATION.md | Updates token refresh/provider tables to reference Qoder instead of iFlow. |
| docs/i18n/vi/USER_GUIDE.md | Updates provider name references and examples from iFlow → Qoder. |
| docs/i18n/vi/TROUBLESHOOTING.md | Updates free-tier provider mention from iFlow → Qoder. |
| docs/i18n/vi/FEATURES.md | Updates provider list copy to include Qoder instead of iFlow. |
| docs/i18n/vi/CODEBASE_DOCUMENTATION.md | Updates token refresh/provider tables to reference Qoder instead of iFlow. |
| docs/i18n/vi/ARCHITECTURE.md | Updates architecture diagrams/tables to reference Qoder instead of iFlow. |
| docs/i18n/uk-UA/USER_GUIDE.md | Updates provider name references and examples from iFlow → Qoder. |
| docs/i18n/uk-UA/TROUBLESHOOTING.md | Updates free-tier provider mention from iFlow → Qoder. |
| docs/i18n/uk-UA/FEATURES.md | Updates provider list copy to include Qoder instead of iFlow. |
| docs/i18n/uk-UA/CODEBASE_DOCUMENTATION.md | Updates token refresh/provider tables to reference Qoder instead of iFlow. |
| docs/i18n/th/USER_GUIDE.md | Updates provider name references and examples from iFlow → Qoder. |
| docs/i18n/th/TROUBLESHOOTING.md | Updates free-tier provider mention from iFlow → Qoder. |
| docs/i18n/th/FEATURES.md | Updates provider list copy to include Qoder instead of iFlow. |
| docs/i18n/th/CODEBASE_DOCUMENTATION.md | Updates token refresh/provider tables to reference Qoder instead of iFlow. |
| docs/i18n/th/ARCHITECTURE.md | Updates architecture diagrams/tables to reference Qoder instead of iFlow. |
| docs/i18n/sv/USER_GUIDE.md | Updates provider name references and examples from iFlow → Qoder. |
| docs/i18n/sv/TROUBLESHOOTING.md | Updates free-tier provider mention from iFlow → Qoder. |
| docs/i18n/sv/FEATURES.md | Updates provider list copy to include Qoder instead of iFlow. |
| docs/i18n/sv/CODEBASE_DOCUMENTATION.md | Updates token refresh/provider tables to reference Qoder instead of iFlow. |
| docs/i18n/sk/USER_GUIDE.md | Updates provider name references and examples from iFlow → Qoder. |
| docs/i18n/sk/TROUBLESHOOTING.md | Updates free-tier provider mention from iFlow → Qoder. |
| docs/i18n/sk/FEATURES.md | Updates provider list copy to include Qoder instead of iFlow. |
| docs/i18n/sk/CODEBASE_DOCUMENTATION.md | Updates token refresh/provider tables to reference Qoder instead of iFlow. |
| docs/i18n/sk/ARCHITECTURE.md | Updates architecture diagrams/tables to reference Qoder instead of iFlow. |
| docs/i18n/ru/USER_GUIDE.md | Updates provider name references and examples from iFlow → Qoder. |
| docs/i18n/ru/TROUBLESHOOTING.md | Updates free-tier provider mention from iFlow → Qoder. |
| docs/i18n/ru/FEATURES.md | Updates provider list copy to include Qoder instead of iFlow. |
| docs/i18n/ru/CODEBASE_DOCUMENTATION.md | Updates token refresh/provider tables to reference Qoder instead of iFlow. |
| docs/i18n/ro/USER_GUIDE.md | Updates provider name references and examples from iFlow → Qoder. |
| docs/i18n/ro/TROUBLESHOOTING.md | Updates free-tier provider mention from iFlow → Qoder. |
| docs/i18n/ro/FEATURES.md | Updates provider list copy to include Qoder instead of iFlow. |
| docs/i18n/ro/CODEBASE_DOCUMENTATION.md | Updates token refresh/provider tables to reference Qoder instead of iFlow. |
| docs/i18n/pt/USER_GUIDE.md | Updates provider name references and examples from iFlow → Qoder. |
| docs/i18n/pt/TROUBLESHOOTING.md | Updates free-tier provider mention from iFlow → Qoder. |
| docs/i18n/pt/FEATURES.md | Updates provider list copy to include Qoder instead of iFlow. |
| docs/i18n/pt/CODEBASE_DOCUMENTATION.md | Updates token refresh/provider tables to reference Qoder instead of iFlow. |
| docs/i18n/pt-BR/USER_GUIDE.md | Updates provider name references and examples from iFlow → Qoder. |
| docs/i18n/pt-BR/TROUBLESHOOTING.md | Updates free-tier provider mention from iFlow → Qoder. |
| docs/i18n/pt-BR/FEATURES.md | Updates provider list copy to include Qoder instead of iFlow. |
| docs/i18n/pt-BR/CODEBASE_DOCUMENTATION.md | Updates token refresh/provider tables to reference Qoder instead of iFlow. |
| docs/i18n/pl/USER_GUIDE.md | Updates provider name references and examples from iFlow → Qoder. |
| docs/i18n/pl/TROUBLESHOOTING.md | Updates free-tier provider mention from iFlow → Qoder. |
| docs/i18n/pl/FEATURES.md | Updates provider list copy to include Qoder instead of iFlow. |
| docs/i18n/pl/CODEBASE_DOCUMENTATION.md | Updates token refresh/provider tables to reference Qoder instead of iFlow. |
| docs/i18n/pl/ARCHITECTURE.md | Updates architecture diagrams/tables to reference Qoder instead of iFlow. |
| docs/i18n/phi/USER_GUIDE.md | Updates provider name references and examples from iFlow → Qoder. |
| docs/i18n/phi/TROUBLESHOOTING.md | Updates free-tier provider mention from iFlow → Qoder. |
| docs/i18n/phi/FEATURES.md | Updates provider list copy to include Qoder instead of iFlow. |
| docs/i18n/phi/CODEBASE_DOCUMENTATION.md | Updates token refresh/provider tables to reference Qoder instead of iFlow. |
| docs/i18n/no/USER_GUIDE.md | Updates provider name references and examples from iFlow → Qoder. |
| docs/i18n/no/TROUBLESHOOTING.md | Updates free-tier provider mention from iFlow → Qoder. |
| docs/i18n/no/FEATURES.md | Updates provider list copy to include Qoder instead of iFlow. |
| docs/i18n/no/CODEBASE_DOCUMENTATION.md | Updates token refresh/provider tables to reference Qoder instead of iFlow. |
| docs/i18n/no/ARCHITECTURE.md | Updates architecture diagrams/tables to reference Qoder instead of iFlow. |
| docs/i18n/nl/USER_GUIDE.md | Updates provider name references and examples from iFlow → Qoder. |
| docs/i18n/nl/TROUBLESHOOTING.md | Updates free-tier provider mention from iFlow → Qoder. |
| docs/i18n/nl/FEATURES.md | Updates provider list copy to include Qoder instead of iFlow. |
| docs/i18n/nl/CODEBASE_DOCUMENTATION.md | Updates token refresh/provider tables to reference Qoder instead of iFlow. |
| docs/i18n/ms/USER_GUIDE.md | Updates provider name references and examples from iFlow → Qoder. |
| docs/i18n/ms/TROUBLESHOOTING.md | Updates free-tier provider mention from iFlow → Qoder. |
| docs/i18n/ms/FEATURES.md | Updates provider list copy to include Qoder instead of iFlow. |
| docs/i18n/ms/CODEBASE_DOCUMENTATION.md | Updates token refresh/provider tables to reference Qoder instead of iFlow. |
| docs/i18n/ms/ARCHITECTURE.md | Updates architecture diagrams/tables to reference Qoder instead of iFlow. |
| docs/i18n/ko/USER_GUIDE.md | Updates provider name references and examples from iFlow → Qoder. |
| docs/i18n/ko/TROUBLESHOOTING.md | Updates free-tier provider mention from iFlow → Qoder. |
| docs/i18n/ko/FEATURES.md | Updates provider list copy to include Qoder instead of iFlow. |
| docs/i18n/ko/CODEBASE_DOCUMENTATION.md | Updates token refresh/provider tables to reference Qoder instead of iFlow. |
| docs/i18n/ja/USER_GUIDE.md | Updates provider name references and examples from iFlow → Qoder. |
| docs/i18n/ja/TROUBLESHOOTING.md | Updates free-tier provider mention from iFlow → Qoder. |
| docs/i18n/ja/FEATURES.md | Updates provider list copy to include Qoder instead of iFlow. |
| docs/i18n/ja/CODEBASE_DOCUMENTATION.md | Updates token refresh/provider tables to reference Qoder instead of iFlow. |
| docs/i18n/it/USER_GUIDE.md | Updates provider name references and examples from iFlow → Qoder. |
| docs/i18n/it/TROUBLESHOOTING.md | Updates free-tier provider mention from iFlow → Qoder. |
| docs/i18n/it/FEATURES.md | Updates provider list copy to include Qoder instead of iFlow. |
| docs/i18n/it/CODEBASE_DOCUMENTATION.md | Updates token refresh/provider tables to reference Qoder instead of iFlow. |
| docs/i18n/in/USER_GUIDE.md | Updates provider name references and examples from iFlow → Qoder. |
| docs/i18n/in/TROUBLESHOOTING.md | Updates free-tier provider mention from iFlow → Qoder. |
| docs/i18n/in/README.md | Updates tier diagram text from iFlow → Qoder. |
| docs/i18n/in/FEATURES.md | Updates provider list copy to include Qoder instead of iFlow. |
| docs/i18n/in/CODEBASE_DOCUMENTATION.md | Updates token refresh/provider tables to reference Qoder instead of iFlow. |
| docs/i18n/in/ARCHITECTURE.md | Updates architecture diagrams/tables to reference Qoder instead of iFlow. |
| docs/i18n/id/USER_GUIDE.md | Updates provider name references and examples from iFlow → Qoder. |
| docs/i18n/id/TROUBLESHOOTING.md | Updates free-tier provider mention from iFlow → Qoder. |
| docs/i18n/id/FEATURES.md | Updates provider list copy to include Qoder instead of iFlow. |
| docs/i18n/id/CODEBASE_DOCUMENTATION.md | Updates token refresh/provider tables to reference Qoder instead of iFlow. |
| docs/i18n/id/ARCHITECTURE.md | Updates architecture diagrams/tables to reference Qoder instead of iFlow. |
| docs/i18n/hu/USER_GUIDE.md | Updates provider name references and examples from iFlow → Qoder. |
| docs/i18n/hu/TROUBLESHOOTING.md | Updates free-tier provider mention from iFlow → Qoder. |
| docs/i18n/hu/FEATURES.md | Updates provider list copy to include Qoder instead of iFlow. |
| docs/i18n/hu/CODEBASE_DOCUMENTATION.md | Updates token refresh/provider tables to reference Qoder instead of iFlow. |
| docs/i18n/he/USER_GUIDE.md | Updates provider name references and examples from iFlow → Qoder. |
| docs/i18n/he/TROUBLESHOOTING.md | Updates free-tier provider mention from iFlow → Qoder. |
| docs/i18n/he/FEATURES.md | Updates provider list copy to include Qoder instead of iFlow. |
| docs/i18n/he/CODEBASE_DOCUMENTATION.md | Updates token refresh/provider tables to reference Qoder instead of iFlow. |
| docs/i18n/he/ARCHITECTURE.md | Updates architecture diagrams/tables to reference Qoder instead of iFlow. |
| docs/i18n/fr/USER_GUIDE.md | Updates provider name references and examples from iFlow → Qoder. |
| docs/i18n/fr/TROUBLESHOOTING.md | Updates free-tier provider mention from iFlow → Qoder. |
| docs/i18n/fr/FEATURES.md | Updates provider list copy to include Qoder instead of iFlow. |
| docs/i18n/fr/CODEBASE_DOCUMENTATION.md | Updates token refresh/provider tables to reference Qoder instead of iFlow. |
| docs/i18n/fr/ARCHITECTURE.md | Updates architecture diagrams/tables to reference Qoder instead of iFlow. |
| docs/i18n/fi/USER_GUIDE.md | Updates provider name references and examples from iFlow → Qoder. |
| docs/i18n/fi/TROUBLESHOOTING.md | Updates free-tier provider mention from iFlow → Qoder. |
| docs/i18n/fi/FEATURES.md | Updates provider list copy to include Qoder instead of iFlow. |
| docs/i18n/fi/CODEBASE_DOCUMENTATION.md | Updates token refresh/provider tables to reference Qoder instead of iFlow. |
| docs/i18n/es/USER_GUIDE.md | Updates provider name references and examples from iFlow → Qoder. |
| docs/i18n/es/TROUBLESHOOTING.md | Updates free-tier provider mention from iFlow → Qoder. |
| docs/i18n/es/FEATURES.md | Updates provider list copy to include Qoder instead of iFlow. |
| docs/i18n/es/CODEBASE_DOCUMENTATION.md | Updates token refresh/provider tables to reference Qoder instead of iFlow. |
| docs/i18n/es/ARCHITECTURE.md | Updates architecture diagrams/tables to reference Qoder instead of iFlow. |
| docs/i18n/de/USER_GUIDE.md | Updates provider name references and examples from iFlow → Qoder. |
| docs/i18n/de/TROUBLESHOOTING.md | Updates free-tier provider mention from iFlow → Qoder. |
| docs/i18n/de/FEATURES.md | Updates provider list copy to include Qoder instead of iFlow. |
| docs/i18n/de/CODEBASE_DOCUMENTATION.md | Updates token refresh/provider tables to reference Qoder instead of iFlow. |
| docs/i18n/de/ARCHITECTURE.md | Updates architecture diagrams/tables to reference Qoder instead of iFlow. |
| docs/i18n/da/USER_GUIDE.md | Updates provider name references and examples from iFlow → Qoder. |
| docs/i18n/da/TROUBLESHOOTING.md | Updates free-tier provider mention from iFlow → Qoder. |
| docs/i18n/da/FEATURES.md | Updates provider list copy to include Qoder instead of iFlow. |
| docs/i18n/da/CODEBASE_DOCUMENTATION.md | Updates token refresh/provider tables to reference Qoder instead of iFlow. |
| docs/i18n/cs/USER_GUIDE.md | Updates Czech docs provider references from iFlow → Qoder. |
| docs/i18n/cs/FEATURES.md | Updates Czech features doc provider list and normalizes some emphasis formatting. |
| docs/i18n/bg/USER_GUIDE.md | Updates provider name references and examples from iFlow → Qoder. |
| docs/i18n/bg/TROUBLESHOOTING.md | Updates free-tier provider mention from iFlow → Qoder. |
| docs/i18n/bg/FEATURES.md | Updates provider list copy to include Qoder instead of iFlow. |
| docs/i18n/bg/CODEBASE_DOCUMENTATION.md | Updates token refresh/provider tables to reference Qoder instead of iFlow. |
| docs/i18n/bg/ARCHITECTURE.md | Updates architecture diagrams/tables to reference Qoder instead of iFlow. |
| docs/i18n/ar/USER_GUIDE.md | Updates provider name references and examples from iFlow → Qoder. |
| docs/i18n/ar/TROUBLESHOOTING.md | Updates free-tier provider mention from iFlow → Qoder. |
| docs/i18n/ar/FEATURES.md | Updates provider list copy to include Qoder instead of iFlow. |
| docs/i18n/ar/CODEBASE_DOCUMENTATION.md | Updates token refresh/provider tables to reference Qoder instead of iFlow. |
| docs/i18n/ar/ARCHITECTURE.md | Updates architecture diagrams/tables to reference Qoder instead of iFlow. |
| docs/USER_GUIDE.md | Updates main user guide provider references from iFlow → Qoder. |
| docs/TROUBLESHOOTING.md | Updates main troubleshooting free-tier provider mention to Qoder. |
| docs/FEATURES.md | Updates main features provider list to include Qoder instead of iFlow. |
| docs/CODEBASE_DOCUMENTATION.md | Updates main codebase docs provider tables/references from iFlow → Qoder. |
| docs/ARCHITECTURE.md | Updates main architecture diagrams/tables to reference Qoder instead of iFlow. |
| .env.example | Renames IFLOW_* env vars to QODER_* and updates UA var name/value. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| clientId: process.env.QODER_OAUTH_CLIENT_ID || "10009311001", | ||
| clientSecret: process.env.QODER_OAUTH_CLIENT_SECRET || "4Z3YjXycVsQvyGF1etiNlIBB4RsqSDtW", | ||
| authorizeUrl: "https://qoder.cn/oauth", | ||
| tokenUrl: "https://qoder.cn/oauth/token", | ||
| userInfoUrl: "https://qoder.cn/api/oauth/getUserInfo", |
There was a problem hiding this comment.
QODER_CONFIG hardcodes a non-empty OAuth client secret fallback. Even if the clientId is public, committing a real clientSecret in source control is a credential leak risk and makes it hard to rotate. Prefer defaulting clientSecret to "" and requiring it via env/provider-credentials.json, or load these built-in creds from a non-committed secret store.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a5393a3ec4
ℹ️ 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".
| "gemini-cli": new GeminiCLIExecutor(), | ||
| github: new GithubExecutor(), | ||
| iflow: new IFlowExecutor(), | ||
| qoder: new QoderExecutor(), |
There was a problem hiding this comment.
Keep legacy
iflow executor alias for migrated installs
Changing the specialized executor key to qoder without a backward alias means existing deployments that still have provider='iflow' in persisted connections will no longer use the signed iFlow/Qoder executor path and will fall back to DefaultExecutor, which drops the required signature headers and can trigger upstream auth/406 failures. I could not find an iflow→qoder normalization or data migration in this change, so keeping an iflow compatibility key here (and corresponding refresh aliasing) is needed to avoid breaking upgrades.
Useful? React with 👍 / 👎.
| "gemini-cli": gemini, | ||
| antigravity, | ||
| iflow, | ||
| qoder, |
There was a problem hiding this comment.
Add
qoder OAuth test config to provider test route
Registering OAuth under qoder here makes new Qoder connections store connection.provider === 'qoder', but /api/providers/[id]/test still only has an iflow entry in OAUTH_TEST_CONFIG; testOAuthConnection returns Provider test not supported when the key is missing, so Qoder's connection test path fails even with valid tokens. Add a qoder config (or alias map) in that route to keep the dashboard test flow working.
Useful? React with 👍 / 👎.
|
Thanks for the contribution! We're closing this PR for now because while the documentation has been updated to reflect Qoder AI, the actual backend implementation (e.g. |
No description provided.