This PR changes Apollo's auth-config persistence defaults so newly created custom OAuth2/DCR auth configs use the v3.1 callback when the caller omits oauth_redirect_uri.
Managed Composio auth keeps the existing v1 callback. Existing auth configs are not migrated, explicit oauth_redirect_uri values are preserved, and PATCH requests do not silently repair/migrate malformed legacy custom configs that were already missing the field.
OAuth1 is intentionally out of scope because it does not persist oauth_redirect_uri on the auth config. OAuth1 chooses its callback during connection initiation, so changing that fallback would affect future connection attempts for existing custom OAuth1 configs.
This version does not change toolkit field metadata or add a new public default/defaults API contract. Dashboard display behavior is handled in the dashboard PR.
cd apps/apollo && pnpm lint passed locally. It still reports the existing unrelated warning in src/lib/composio_actions/utils/schemas.ts.git diff --check origin/master passed.lint-apollorun-auth-config-testsrun-vitest-testsrun-vitest-e2e-tests after rerunrun-vitest-self-hosted-testsrun-thermos-unit-testsrun-thermos-service-isolation-testsCurrent CI note:
lambda.log shows: yarl==1.24.0 cannot install on CPython 3.11 because that distribution only has a cp310 wheel.Local focused Vitest runs from this temporary checkout were blocked by missing local Doppler/DB test env (DATABASE_URL/Prisma setup), so I used the GitHub auth-config/Vitest CI jobs as the authoritative run.
Based on git blame analysis of 13 file(s):
| Contributor | Contribution | Files |
|---|---|---|
| Himanshu Dixit | 33% | 10 |
| jkomyno |
| 21% |
| 10 |
| lingalarahul7 | 16% | 8 |
| Zen Agent | 14% | 5 |
| anshugarg15 | 9% | 4 |
Recommend: sjd9021 and jkomyno.
sjd9021 made very recent edits (within the last 2 days) to oauth redirect defaults and related auth utils, so they’ll know the freshest changes. jkomyno has recent edits across tests and schema files (1 week ago) and significant ownership of auth utility logic, so they can help validate behavior and tests.
🤖 Based on git blame with recency weighting (recent edits count more).
:white_check_mark: All modified and coverable lines are covered by tests.
| Flag | Coverage Δ | |
|---|---|---|
| e2e-tests | 6.04% <9.83%> (-0.01%) | :arrow_down: |
| self-hosted-tests | 5.58% <16.39%> (-0.01%) | :arrow_down: |
| thermos-unit-tests | ? | |
| unit-tests | 58.96% <96.72%> (+0.26%) | :arrow_up: |
Flags with carried forward coverage won't be shown. Click here to find out more.
| Files with missing lines | Coverage Δ | |
|---|---|---|
| apps/apollo/src/common/constants/index.ts | 100.00% <100.00%> (ø) | |
| ...pps/apollo/src/lib/auth_config/createAuthConfig.ts | 83.56% <100.00%> (+0.03%) | :arrow_up: |
| ...pps/apollo/src/lib/auth_config/updateAuthConfig.ts | 76.84% <100.00%> (+0.40%) | :arrow_up: |
| ...uth_config/utils/mergeNonSenstiveAndCredentials.ts | 93.24% <100.00%> (+0.38%) | :arrow_up: |
| ...c/lib/auth_config/utils/oauth_redirect_defaults.ts | 100.00% <100.00%> (ø) | |
| ...lo/src/lib/auth_config/utils/validateAuthConfig.ts | 98.64% <100.00%> (+0.16%) | :arrow_up: |
... and 323 files with indirect coverage changes