fix(oauth): show GitLab Duo setup before authorize error (#8710)

* fix(oauth): show GitLab Duo setup before authorize error

Surface the OAuth app registration and env-var recipe in the Add
Connection modal before auto-starting authorize, and keep the same
shared copy for catalog authHint and the authorize fallback (#8688).

* fix(oauth): keep OAuthModal under file-size baseline for #8688

Extract waiting/error panels so the GitLab Duo setup step does not
trip the Fast Quality Gates file-size ratchet, and update the retry
Button regression guard for the extracted error step.
This commit is contained in:
AmirHossein Rezaei
2026-07-27 23:54:52 +03:30
committed by GitHub
parent 85128984f9
commit ba28e497fe
11 changed files with 296 additions and 47 deletions

View File

@@ -0,0 +1,18 @@
/**
* #3861 / #8688 — GitLab Duo needs an operator-registered OAuth application.
* Same copy is used for:
* - catalog `authHint` (pre-connect guidance)
* - OAuthModal setup step (before auto-start)
* - authorize-route error when `GITLAB_DUO_OAUTH_CLIENT_ID` is unset
*/
export const GITLAB_DUO_OAUTH_APPLICATIONS_URL = "https://gitlab.com/-/profile/applications";
export const GITLAB_DUO_OAUTH_DEFAULT_REDIRECT_URI = "http://localhost:20128/callback";
export const GITLAB_DUO_OAUTH_SCOPES = "ai_features read_user";
export const GITLAB_DUO_OAUTH_SETUP_MESSAGE =
"GitLab Duo OAuth is not configured. Register an OAuth application at " +
`${GITLAB_DUO_OAUTH_APPLICATIONS_URL} with redirect URI ` +
`${GITLAB_DUO_OAUTH_DEFAULT_REDIRECT_URI} and scopes "${GITLAB_DUO_OAUTH_SCOPES}", then set ` +
"GITLAB_DUO_OAUTH_CLIENT_ID (and optionally GITLAB_DUO_OAUTH_CLIENT_SECRET) and restart.";