Fix OpenCode dashboard links - #2513
Conversation
fb112e2 to
98eb24a
Compare
|
Codex review: needs maintainer review before merge. Reviewed July 30, 2026, 11:51 AM ET / 15:51 UTC. ClawSweeper reviewWhat this changesUpdates generic OpenCode and OpenCode Go dashboard links to OpenCode’s Merge readinessThis PR is still necessary and appears correct: it fixes the generic OpenCode and OpenCode Go dashboard fallback without changing the existing workspace-specific OpenCode Go route. The supplied redacted production-code trace is sufficient real-behavior proof; wait for the current-head workflow to finish before merging. Priority: P3 Review scores
Verification
How this fits togetherCodexBar provider descriptors supply metadata used by the menu-bar dashboard action. For OpenCode Go, the usage fetcher selects a workspace-specific billing link when a workspace is known and otherwise supplies a generic account-entry fallback. flowchart LR
A[Menu bar dashboard action] --> B[Provider metadata]
B --> C[OpenCode dashboard link]
A --> D[OpenCode Go URL helper]
D --> E{Workspace configured?}
E -->|Yes| F[Workspace Go dashboard]
E -->|No| G[OpenCode auth entry point]
Before merge
Agent review detailsSecurityNone. Review metrics
Merge-risk optionsMaintainer options:
Technical reviewBest possible solution: Retain the Do we have a high-confidence way to reproduce the issue? Yes. The old behavior is directly identifiable from the pre-change URL constants and the PR provides a focused after-fix trace for generic, unscoped, and configured-workspace cases. Is this the best way to solve the issue? Yes. Updating only the generic fallback and descriptor URLs is the narrowest maintainable fix because it preserves the existing configured-workspace Go dashboard behavior. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against 8ef86077e70a. LabelsLabel justifications:
EvidenceWhat I checked:
Likely related people:
Rank-up movesOptional improvements that raise the rating; they are not merge blockers.
Rating scale
Overall follows the weaker of proof and patch quality. Workflow
HistoryReview history (5 earlier review cycles)
|
|
@clawsweeper re-review The PR body now includes a redacted, inspectable after-fix production-code trace for the generic OpenCode, unscoped OpenCode Go, and configured-workspace routes. The temporary trace harness was deleted and was never committed or pushed. |
|
🦞🧹 I asked ClawSweeper to review this item again. Re-review progress:
|
Summary
https://opencode.ai/authentry point instead of the public homepage/workspace/<id>/godeep linkWhy
The provider descriptors and the OpenCode Go fallback used the bare
https://opencode.aiURL, which opens the product homepage rather than the account flow. OpenCode's official provider documentation directs both Zen and Go users tohttps://opencode.ai/auth.When CodexBar already knows an OpenCode Go workspace, it still opens that workspace's Go dashboard directly. This change only fixes the generic fallback.
Behavior proof
https://opencode.ai.https://opencode.ai/auth./authreached OpenCode's authorization service.https://opencode.ai/workspace/wrk_abc123/go.Inspectable after-fix production-code trace (official
swift:6.3.3-nobleimage, digestsha256:66520bcba471018a34fd54ba09be97ba4abebd950a96ff5cb8c2bf50a2d33259):This trace calls
OpenCodeProviderDescriptor.descriptor.metadata.dashboardURLandOpenCodeGoUsageFetcher.dashboardURL(workspaceID:)directly. The scoped workspace IDis deliberately fictitious; no cookies, credentials, or account data were read or printed.
The temporary trace-only harness was deleted after the run and is not part of this PR.
Official reference: OpenCode provider documentation.
Existing issue / PR search
No matching issue or PR was found. The closest prior work was #667, which fixed the configured workspace deep link and was landed separately on
main; this patch preserves that behavior and fixes the remaining no-workspace fallback.Validation
make formatgit diff --checkmake checkportable checks and SwiftFormat passed; local SwiftLint could not load SourceKit because this machine has Apple Swift 5.10, while current CodexBar requires Swift 6.2+swift testwas likewise blocked locally by the Swift 5.10 toolchain