From 67a64c7f8010d13b687fdbbb1dcf2f775224543e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A8=8B=E5=BA=8F=E5=91=98=E9=98=BF=E6=B1=9F=28Relakkes?= =?UTF-8?q?=29?= Date: Mon, 18 May 2026 23:32:22 +0800 Subject: [PATCH] Scrub ChatGPT OAuth env from provider settings JSON The desktop provider settings editor has its own JSON scrubber for provider-managed env. It now removes the ChatGPT Official OAuth marker and token-file path along with the Anthropic provider env keys, so editing another provider cannot keep stale OpenAI OAuth runtime markers in previewed settings JSON. Constraint: Desktop JSON preview cleanup is separate from server managed-env filtering. Rejected: Rely only on server activation cleanup | the settings editor can preview and persist user-edited JSON before the server rebuilds provider env. Confidence: high Scope-risk: narrow Tested: cd desktop && bun test src/lib/__tests__/providerSettingsJson.test.ts Tested: bun test src/server/__tests__/providers.test.ts --test-name-pattern "ChatGPT Official|getProviderForProxy" Tested: bun test src/server/__tests__/conversation-service.test.ts --test-name-pattern "ChatGPT Official|session-scoped provider" Tested: git diff --check --- desktop/src/lib/__tests__/providerSettingsJson.test.ts | 2 ++ desktop/src/lib/providerSettingsJson.ts | 2 ++ 2 files changed, 4 insertions(+) diff --git a/desktop/src/lib/__tests__/providerSettingsJson.test.ts b/desktop/src/lib/__tests__/providerSettingsJson.test.ts index 94c47807..6bd9795d 100644 --- a/desktop/src/lib/__tests__/providerSettingsJson.test.ts +++ b/desktop/src/lib/__tests__/providerSettingsJson.test.ts @@ -52,6 +52,8 @@ describe('provider settings JSON helpers', () => { ANTHROPIC_BASE_URL: 'https://old.example.com', ANTHROPIC_MODEL: 'old-model', CLAUDE_CODE_MODEL_CONTEXT_WINDOWS: '{"old":100000}', + CC_HAHA_OPENAI_OAUTH_PROVIDER: '1', + OPENAI_CODEX_OAUTH_FILE: '/tmp/openai-oauth.json', CC_HAHA_SEND_DISABLED_THINKING: '1', USER_DEFINED: 'keep-me', }, diff --git a/desktop/src/lib/providerSettingsJson.ts b/desktop/src/lib/providerSettingsJson.ts index 9ad5fc09..e76e79ba 100644 --- a/desktop/src/lib/providerSettingsJson.ts +++ b/desktop/src/lib/providerSettingsJson.ts @@ -20,9 +20,11 @@ const PROVIDER_SETTINGS_JSON_ENV_KEYS = new Set([ 'ANTHROPIC_DEFAULT_OPUS_MODEL_NAME', 'ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIES', 'ANTHROPIC_SMALL_FAST_MODEL', + 'CC_HAHA_OPENAI_OAUTH_PROVIDER', 'CLAUDE_CODE_AUTO_COMPACT_WINDOW', 'CLAUDE_CODE_MODEL_CONTEXT_WINDOWS', 'CLAUDE_CODE_SUBAGENT_MODEL', + 'OPENAI_CODEX_OAUTH_FILE', ]) function getEnvRecord(raw: string): Record | null {