From 0fb833050dd696331bc2ac91ee07b2261f69b58b Mon Sep 17 00:00:00 2001 From: Yuxin Qiao <104957188+Yuxin-Qiao@users.noreply.github.com> Date: Thu, 21 May 2026 21:20:23 +0800 Subject: [PATCH] Antigravity: improve OAuth client setup diagnostics --- .../Antigravity/AntigravityOAuthCredentialsStore.swift | 7 +++++-- .../AntigravityOAuthCredentialsStoreTests.swift | 9 +++++++++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/Sources/CodexBarCore/Providers/Antigravity/AntigravityOAuthCredentialsStore.swift b/Sources/CodexBarCore/Providers/Antigravity/AntigravityOAuthCredentialsStore.swift index 55958e67c1..87cd7c22d1 100644 --- a/Sources/CodexBarCore/Providers/Antigravity/AntigravityOAuthCredentialsStore.swift +++ b/Sources/CodexBarCore/Providers/Antigravity/AntigravityOAuthCredentialsStore.swift @@ -132,8 +132,11 @@ public enum AntigravityOAuthConfig { public static let missingCredentialsMessage = """ - Antigravity OAuth client is not configured. Install Antigravity.app or set \ - ANTIGRAVITY_OAUTH_CLIENT_ID and ANTIGRAVITY_OAUTH_CLIENT_SECRET before logging in. + CodexBar could not discover Antigravity.app's OAuth client. \ + Please install Antigravity.app or set both ANTIGRAVITY_OAUTH_CLIENT_ID and \ + ANTIGRAVITY_OAUTH_CLIENT_SECRET before logging in. \ + If you are using the Antigravity CLI after migrating from Gemini CLI, note \ + that the CLI alone may not provide the OAuth client metadata CodexBar needs. """ public static func resolvedClient() -> AntigravityOAuthClient? { diff --git a/Tests/CodexBarTests/AntigravityOAuthCredentialsStoreTests.swift b/Tests/CodexBarTests/AntigravityOAuthCredentialsStoreTests.swift index e8a75cf8de..80642a2fee 100644 --- a/Tests/CodexBarTests/AntigravityOAuthCredentialsStoreTests.swift +++ b/Tests/CodexBarTests/AntigravityOAuthCredentialsStoreTests.swift @@ -84,6 +84,15 @@ struct AntigravityOAuthCredentialsStoreTests { applicationRoots: [root]) == standaloneClient) } + @Test + func `missing credentials message contains key diagnostic hints`() { + let msg = AntigravityOAuthConfig.missingCredentialsMessage + #expect(msg.contains("CodexBar could not discover Antigravity.app's OAuth client")) + #expect(msg.contains("ANTIGRAVITY_OAUTH_CLIENT_ID")) + #expect(msg.contains("ANTIGRAVITY_OAUTH_CLIENT_SECRET")) + #expect(msg.contains("Antigravity CLI after migrating from Gemini CLI")) + } + private func writeAntigravityApp( named name: String, under root: URL,