diff --git a/apps/desktop/src/main/main.ts b/apps/desktop/src/main/main.ts index 235272eb00..9133937793 100644 --- a/apps/desktop/src/main/main.ts +++ b/apps/desktop/src/main/main.ts @@ -343,9 +343,15 @@ async function syncClaudeSubscriptionConnection(): Promise const defaults = PROVIDER_DEFAULTS['claude-subscription']; const fallbackModels = defaults.fallbackModels.map((id) => ({ id })); - const displayName = state.profile?.email - ? `Claude OAuth · ${state.profile.email}` - : 'Claude OAuth'; + // PR-OAUTH-NAME-EMAIL-STRIP-0 (WAWQAQ msg `77221a77` 2026-06-30): the + // connection display name used to embed the OAuth account email + // (`Claude OAuth · user@example.com`). That value leaks the user's + // account identity into every model picker, settings dropdown, and + // anywhere else `connection.name` shows up. The email belongs on the + // Account · 模型 page, not in the model identity. Use the brand-only + // label here; the email is still available via the OAuth state for + // the dedicated account surfaces that legitimately need it. + const displayName = 'Claude OAuth'; const now = Date.now(); const connection: LlmConnection = { slug: CLAUDE_SUBSCRIPTION_CONNECTION_SLUG, @@ -399,7 +405,10 @@ async function syncCodexSubscriptionConnection(): Promise normalizedModels.map((entry) => entry.id), defaults.fallbackModels[0] || '', ); - const displayName = state.email ? `Codex OAuth · ${state.email}` : 'Codex OAuth'; + // PR-OAUTH-NAME-EMAIL-STRIP-0 — same email-leak fix as Claude OAuth + // above. Codex's was the one that surfaced in the screenshot, but the + // symmetric Claude path had the same shape; both now use brand-only. + const displayName = 'Codex OAuth'; const now = Date.now(); const connection: LlmConnection = { slug: CODEX_SUBSCRIPTION_CONNECTION_SLUG, diff --git a/apps/desktop/src/renderer/styles/settings/provider-editor.css b/apps/desktop/src/renderer/styles/settings/provider-editor.css index c100e43975..60592dc458 100644 --- a/apps/desktop/src/renderer/styles/settings/provider-editor.css +++ b/apps/desktop/src/renderer/styles/settings/provider-editor.css @@ -350,13 +350,22 @@ grid-template-columns: 16px minmax(0, 1fr) auto auto; align-items: center; gap: 8px; - padding: 4px 8px; + padding: 8px 10px; border: 1px solid transparent; border-radius: 8px; background: transparent; color: var(--foreground); text-align: left; transition: background var(--duration-base) var(--ease-out-strong), border-color var(--duration-base) var(--ease-out-strong), box-shadow var(--duration-base) var(--ease-out-strong); + /* PR-MODEL-ROW-HEIGHT-FIX-0 (WAWQAQ msg c71b4dcb 2026-06-30): the + Button primitive ships size=md = `h-9` (36px fixed), but each row + now has TWO lines (display name + raw id when shown). The fixed + height clipped the second line's lower descender (gpt-5.4 → "ant + 5.4"). Override to auto height with a comfortable min-height; the + padding above plus the inner 2px gap leaves room for the second + line without breaking single-line rows. */ + height: auto; + min-height: 44px; } .modelTableRow:hover {