From 98eb24a288140ce2d7a99f4aba1b60c64563cba6 Mon Sep 17 00:00:00 2001 From: Akshay Prabhu <12824090+akshayprabhu200@users.noreply.github.com> Date: Thu, 30 Jul 2026 01:09:55 -0700 Subject: [PATCH] Fix OpenCode dashboard links --- .../OpenCode/OpenCodeProviderDescriptor.swift | 2 +- .../OpenCodeGo/OpenCodeGoProviderDescriptor.swift | 2 +- .../Providers/OpenCodeGo/OpenCodeGoUsageFetcher.swift | 3 ++- .../OpenCodeGoUsageFetcherErrorTests.swift | 2 +- .../OpenCodeProviderDescriptorTests.swift | 10 ++++++++++ 5 files changed, 15 insertions(+), 4 deletions(-) create mode 100644 Tests/CodexBarTests/OpenCodeProviderDescriptorTests.swift diff --git a/Sources/CodexBarCore/Providers/OpenCode/OpenCodeProviderDescriptor.swift b/Sources/CodexBarCore/Providers/OpenCode/OpenCodeProviderDescriptor.swift index 54883af5d4..b7b27c5005 100644 --- a/Sources/CodexBarCore/Providers/OpenCode/OpenCodeProviderDescriptor.swift +++ b/Sources/CodexBarCore/Providers/OpenCode/OpenCodeProviderDescriptor.swift @@ -21,7 +21,7 @@ public enum OpenCodeProviderDescriptor { isPrimaryProvider: false, usesAccountFallback: false, browserCookieOrder: ProviderBrowserCookieDefaults.opencodeCookieImportOrder, - dashboardURL: "https://opencode.ai", + dashboardURL: "https://opencode.ai/auth", statusPageURL: nil), branding: ProviderBranding( iconStyle: .opencode, diff --git a/Sources/CodexBarCore/Providers/OpenCodeGo/OpenCodeGoProviderDescriptor.swift b/Sources/CodexBarCore/Providers/OpenCodeGo/OpenCodeGoProviderDescriptor.swift index ef52e0bf32..15e9b68588 100644 --- a/Sources/CodexBarCore/Providers/OpenCodeGo/OpenCodeGoProviderDescriptor.swift +++ b/Sources/CodexBarCore/Providers/OpenCodeGo/OpenCodeGoProviderDescriptor.swift @@ -21,7 +21,7 @@ public enum OpenCodeGoProviderDescriptor { isPrimaryProvider: false, usesAccountFallback: false, browserCookieOrder: ProviderBrowserCookieDefaults.defaultImportOrder, - dashboardURL: "https://opencode.ai", + dashboardURL: "https://opencode.ai/auth", statusPageURL: nil), branding: ProviderBranding( iconStyle: .opencodego, diff --git a/Sources/CodexBarCore/Providers/OpenCodeGo/OpenCodeGoUsageFetcher.swift b/Sources/CodexBarCore/Providers/OpenCodeGo/OpenCodeGoUsageFetcher.swift index 494e831f31..e9869d25a6 100644 --- a/Sources/CodexBarCore/Providers/OpenCodeGo/OpenCodeGoUsageFetcher.swift +++ b/Sources/CodexBarCore/Providers/OpenCodeGo/OpenCodeGoUsageFetcher.swift @@ -26,6 +26,7 @@ public enum OpenCodeGoUsageError: LocalizedError { public struct OpenCodeGoUsageFetcher: Sendable { private static let log = CodexBarLog.logger(LogCategories.opencodeGoUsage) private static let baseURL = URL(string: "https://opencode.ai")! + private static let authURL = URL(string: "https://opencode.ai/auth")! private static let serverURL = URL(string: "https://opencode.ai/_server")! private static let workspacesServerID = "def39973159c7f0483d8793a822b8dbb10d067e12c65455fcb4608459ba0234f" private static let billingServerID = "c83b78a614689c38ebee981f9b39a8b377716db85c1fd7dbab604adc02d3313d" @@ -263,7 +264,7 @@ public struct OpenCodeGoUsageFetcher: Sendable { guard let workspaceID = self.normalizeWorkspaceID(raw), let url = URL(string: "\(self.baseURL.absoluteString)/workspace/\(workspaceID)/go") else { - return self.baseURL + return self.authURL } return url } diff --git a/Tests/CodexBarTests/OpenCodeGoUsageFetcherErrorTests.swift b/Tests/CodexBarTests/OpenCodeGoUsageFetcherErrorTests.swift index 15b9ed0079..fa35f750eb 100644 --- a/Tests/CodexBarTests/OpenCodeGoUsageFetcherErrorTests.swift +++ b/Tests/CodexBarTests/OpenCodeGoUsageFetcherErrorTests.swift @@ -53,7 +53,7 @@ struct OpenCodeGoUsageFetcherErrorTests { .absoluteString == "https://opencode.ai/workspace/wrk_def456/go") #expect( OpenCodeGoUsageFetcher.dashboardURL(workspaceID: nil) - .absoluteString == "https://opencode.ai") + .absoluteString == "https://opencode.ai/auth") } private struct UsageWindow { diff --git a/Tests/CodexBarTests/OpenCodeProviderDescriptorTests.swift b/Tests/CodexBarTests/OpenCodeProviderDescriptorTests.swift new file mode 100644 index 0000000000..69109efd6e --- /dev/null +++ b/Tests/CodexBarTests/OpenCodeProviderDescriptorTests.swift @@ -0,0 +1,10 @@ +import Testing +@testable import CodexBarCore + +struct OpenCodeProviderDescriptorTests { + @Test + func `dashboard links use the official auth entry point`() { + #expect(OpenCodeProviderDescriptor.descriptor.metadata.dashboardURL == "https://opencode.ai/auth") + #expect(OpenCodeGoProviderDescriptor.descriptor.metadata.dashboardURL == "https://opencode.ai/auth") + } +}