mirror of
https://github.com/Wei-Shaw/sub2api.git
synced 2026-10-31 08:25:35 +00:00
Merge pull request #4431 from linyqh/codex/fix-codex-image-handoff
fix(openai): 修复 Codex 生图网关侧交接问题
This commit is contained in:
@@ -1461,7 +1461,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- OpenAI Codex 图片工具统一策略(自动注入 + 客户端显式携带) -->
|
||||
<!-- OpenAI Codex hosted image_generation bridge policy -->
|
||||
<div
|
||||
v-if="account?.platform === 'openai' && (account?.type === 'oauth' || account?.type === 'setup-token' || account?.type === 'apikey')"
|
||||
class="border-t border-gray-200 pt-4 dark:border-dark-600"
|
||||
|
||||
@@ -771,6 +771,10 @@ describe('EditAccountModal', () => {
|
||||
|
||||
const wrapper = mountModal(account)
|
||||
|
||||
expect(wrapper.text()).toContain('admin.accounts.openai.codexImageTool')
|
||||
expect(wrapper.text()).toContain('admin.accounts.openai.codexImageToolDesc')
|
||||
expect(wrapper.text()).toContain('admin.accounts.openai.codexImageToolEnabledDesc')
|
||||
|
||||
await wrapper.get('button[data-testid="codex-image-tool-enabled"]').trigger('click')
|
||||
await wrapper.get('form#edit-account-form').trigger('submit.prevent')
|
||||
|
||||
@@ -809,6 +813,9 @@ describe('EditAccountModal', () => {
|
||||
|
||||
const wrapper = mountModal(account)
|
||||
|
||||
expect(wrapper.text()).toContain('admin.accounts.openai.codexImageToolBlock')
|
||||
expect(wrapper.text()).toContain('admin.accounts.openai.codexImageToolBlockDesc')
|
||||
|
||||
await wrapper.get('button[data-testid="codex-image-tool-block"]').trigger('click')
|
||||
await wrapper.get('form#edit-account-form').trigger('submit.prevent')
|
||||
|
||||
|
||||
@@ -100,6 +100,14 @@
|
||||
{{ t('keys.useKeyModal.openai.authModeApiKey') }}
|
||||
</button>
|
||||
</div>
|
||||
<div
|
||||
v-if="codexAuthMode === 'api-key'"
|
||||
data-testid="codex-api-key-restart-notice"
|
||||
class="mt-3 flex items-start gap-2 border-l-2 border-amber-400 bg-amber-50 px-3 py-2 text-xs leading-5 text-amber-800 dark:border-amber-500 dark:bg-amber-950/30 dark:text-amber-200"
|
||||
>
|
||||
<Icon name="exclamationCircle" size="sm" class="mt-0.5 flex-shrink-0" />
|
||||
<p>{{ t('keys.useKeyModal.openai.authModeApiKeyRestartNotice') }}</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- OS/Shell Tabs -->
|
||||
|
||||
@@ -268,6 +268,7 @@ describe('UseKeyModal', () => {
|
||||
expect(configToml).toContain('[features]\ngoals = true')
|
||||
expect(codeBlocks).toContain('{\n "OPENAI_API_KEY": "sk-test"\n}')
|
||||
expect(wrapper.text()).toContain('auth.json')
|
||||
expect(wrapper.find('[data-testid="codex-api-key-restart-notice"]').exists()).toBe(false)
|
||||
})
|
||||
|
||||
it('renders API Key Mode authorization in OpenAI Codex config', async () => {
|
||||
@@ -305,6 +306,19 @@ describe('UseKeyModal', () => {
|
||||
expect(configToml).not.toContain('image_generation')
|
||||
expect(codeBlocks).toContain('{\n "OPENAI_API_KEY": "sk-test"\n}')
|
||||
expect(wrapper.text()).toContain('auth.json')
|
||||
|
||||
const restartNotice = wrapper.get('[data-testid="codex-api-key-restart-notice"]')
|
||||
expect(restartNotice.text()).toContain(
|
||||
'keys.useKeyModal.openai.authModeApiKeyRestartNotice'
|
||||
)
|
||||
|
||||
await wrapper.get('[data-testid="codex-auth-mode-legacy"]').trigger('click')
|
||||
await nextTick()
|
||||
|
||||
expect(wrapper.find('[data-testid="codex-api-key-restart-notice"]').exists()).toBe(false)
|
||||
expect(wrapper.findAll('pre code').map((code) => code.text()).join('\n')).not.toContain(
|
||||
'x-openai-actor-authorization'
|
||||
)
|
||||
})
|
||||
|
||||
it('keeps legacy OpenAI Codex WebSocket config as the default', async () => {
|
||||
|
||||
Reference in New Issue
Block a user