fix(config)!: remove the legacy OAuth client-id fallback #745

Merged
hexajon merged 1 commit from issue-712-remove-legacy-oauth-fallback into main 2026-10-09 18:37:55 +00:00
Owner

Summary

ReadOAuthClientID fell back to the pre-host-keyed bare key madtea.oauth-client-id with a non-global git config --get, which reads the merged config, including a repo's --local value. A repo-local madtea.oauth-client-id could then steer which OAuth application id the authorize URL names. Severity is low: it steers only the application id, captures no token (PKCE S256, loopback redirect, no secret), and git clone does not copy a repo's local config.

ReadOAuthClientID now reads only the host-keyed --global key. The legacy bare-key fallback and its constant are removed. A test proves a repo-local madtea.oauth-client-id is not read.

BREAKING CHANGE: the pre-host-keyed legacy OAuth key is no longer read. A pre-host-keyed install that logs in through the MCP tool, and never ran the CLI setup (which migrates the key), must re-register its OAuth application.

Closes #712

## Summary ReadOAuthClientID fell back to the pre-host-keyed bare key `madtea.oauth-client-id` with a non-global `git config --get`, which reads the merged config, including a repo's --local value. A repo-local `madtea.oauth-client-id` could then steer which OAuth application id the authorize URL names. Severity is low: it steers only the application id, captures no token (PKCE S256, loopback redirect, no secret), and git clone does not copy a repo's local config. ReadOAuthClientID now reads only the host-keyed --global key. The legacy bare-key fallback and its constant are removed. A test proves a repo-local madtea.oauth-client-id is not read. BREAKING CHANGE: the pre-host-keyed legacy OAuth key is no longer read. A pre-host-keyed install that logs in through the MCP tool, and never ran the CLI setup (which migrates the key), must re-register its OAuth application. Closes #712
fix(config)!: remove the legacy OAuth client-id fallback
All checks were successful
drift / govulncheck (pull_request) Has been skipped
drift / surface-diff (pull_request) Successful in 4m38s
ci / mcp-conformance (pull_request) Successful in 4m45s
drift / forgejo-smoke (pull_request) Has been skipped
ci / mcp-conformance (push) Successful in 5m45s
drift / govulncheck (push) Has been skipped
drift / surface-diff (push) Successful in 1m30s
drift / forgejo-smoke (push) Has been skipped
ci / gate (push) Successful in 24m59s
ci / gate (pull_request) Successful in 31m47s
5d17aa8bf9
Closes #712
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
sixfold-space/madtea!745
No description provided.