Skip to content

feat: import codex auth json, close #1425#1465

Merged
looplj merged 1 commit into
unstablefrom
dev-tmp
Apr 23, 2026
Merged

feat: import codex auth json, close #1425#1465
looplj merged 1 commit into
unstablefrom
dev-tmp

Conversation

@looplj

@looplj looplj commented Apr 23, 2026

Copy link
Copy Markdown
Owner

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looplj has reached the 50-review limit for trial accounts. To continue receiving code reviews, upgrade your plan.

devin-ai-integration[bot]

This comment was marked as resolved.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a new "auth.json" authentication mode for Codex channels, enabling users to configure credentials by pasting a raw JSON object. The changes span the full stack, including a new backend endpoint for decoding the JSON into standard OAuth credentials, frontend UI updates with a dedicated tab and textarea for the new mode, and comprehensive unit tests. The review feedback identifies a redundant ternary operator in the form submission logic and recommends internationalizing several hardcoded strings in the new UI components to maintain consistency with the rest of the application.

Comment on lines +975 to +978
apiKey:
(selectedType || derivedChannelType) === 'codex'
? valuesForSubmit.credentials.apiKey
: valuesForSubmit.credentials.apiKey,

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

This ternary operator is redundant because both the true and false branches return the same value (valuesForSubmit.credentials.apiKey).

              apiKey: valuesForSubmit.credentials.apiKey,

Comment on lines +1839 to +1841
<TabsTrigger value='official'>official</TabsTrigger>
<TabsTrigger value='auth-json'>auth.json</TabsTrigger>
<TabsTrigger value='third-party'>third-party</TabsTrigger>

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

These tab labels are hardcoded strings. They should use the translation function t() to support internationalization, consistent with the previous implementation and other parts of the dialog. Other strings in this section (lines 1850, 1854, 1857, 1861) should also be internationalized.

Suggested change
<TabsTrigger value='official'>official</TabsTrigger>
<TabsTrigger value='auth-json'>auth.json</TabsTrigger>
<TabsTrigger value='third-party'>third-party</TabsTrigger>
<TabsTrigger value='official'>{t('channels.dialogs.authMode.official')}</TabsTrigger>
<TabsTrigger value='auth-json'>auth.json</TabsTrigger>
<TabsTrigger value='third-party'>{t('channels.dialogs.authMode.thirdParty')}</TabsTrigger>

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looplj has reached the 50-review limit for trial accounts. To continue receiving code reviews, upgrade your plan.

@looplj looplj merged commit 17f3b2a into unstable Apr 23, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant