Sync Pete upstream through 1d307430a - #87
Merged
Merged
Conversation
Job-Id: 6419f5a3-dcd3-4ce2-8229-2e4266b2b5d2 Keeper-Commit-Id: keeper-commit-work:aed06f8f-6f49-4f80-8f28-601406d6f900
Job-Id: 6419f5a3-dcd3-4ce2-8229-2e4266b2b5d2 Keeper-Commit-Id: keeper-commit-work:47f7a0a4-421f-4d08-9354-e5367074b5b7
Job-Id: 6419f5a3-dcd3-4ce2-8229-2e4266b2b5d2 Keeper-Commit-Id: keeper-commit-work:7fa8d7aa-00ea-4368-8fba-4f832328b770
- Confirm first-turn suffix candidates only when pre-turn totals exactly match the parent snapshot; mismatches remain independent. - Keep candidate classifications parent-dependent so cache reuse tracks parent changes. - Add shape, replay, accounting, and invalidation regressions and rotate the generated parser hash.
ElevenLabsUsageSnapshot computed three usedPercent values without the min(100, max(0, ...)) clamp that sibling credit providers apply (OpenAIAPICreditBalanceFetcher, CommandCode, Codebuff, Abacus): character usage applied a max(0, ...) floor but no ceiling, and both voice-slot windows applied neither bound. ElevenLabs models overage explicitly (current_overage), so characterCount > characterLimit is a real state; it flowed e.g. 150000/100000 -> 150 (and voice 12/10 -> 120) straight into RateWindow.usedPercent, which does not clamp. Follow-up to #2255/#2265.
Mirrors the Codex/Claude menu structure: the top rate-limit pane stays submenu-free, a "Plan Usage" row hover-expands into 5-hour/weekly/monthly history tabs, and a "Cost" row hover-expands into a daily $ chart sourced from the local opencode-go SQLite history (~/.local/share/opencode/opencode.db). The web-sourced fetch strategy best-effort enriches its rolling/weekly percentages with the local daily buckets (opencode.ai has no daily- granularity endpoint), but skips that local read entirely when the user explicitly selects Web-only source mode. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Web-only source mode and machines without a readable local database leave opencodegoUsage present but daily empty, which previously still produced a non-nil CostUsageTokenSnapshot and surfaced a Cost row with no history to show. Return nil until daily entries exist instead. Addresses PR review feedback on #2296. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
opencodego was missing from the shared CostUsageTokenSnapshot inline dashboard path (matching Codex/Claude/Vertex/Bedrock/Cursor), so users with Cost summary set to "Inline only" saw no OpenCode Go cost data at all: the Cost row is suppressed in that style, and there was no inline fallback either. Adds opencodego to that path so it now matches those providers exactly, including showing both the Cost row and the inline chart together in "Both" style. Addresses PR review feedback on #2296. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
tokenCostMenuSectionEnabled reused usesProviderCostHistoryAsPrimaryDashboard to exclude openai/mistral from the generic "Cost" row. That predicate is shared with an unrelated concern (inline-dashboard eligibility) and later gained .groq for its own reasons, which would have silently excluded groq from this row too. Replace it with an explicit openai/mistral check so this gate no longer tracks membership changes made for other purposes. In practice groq's tokenCost.supportsTokenCost is false, so its Cost row was already unreachable independent of this gate — verified with a test locking in that groq's cost data stays visible via the inline dashboard regardless of how this predicate is defined. Addresses PR review feedback on #2296. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
The name implied a provider-native top-pane submenu (matching hasOpenAIAPIUsageSubmenu's naming), but opencodego satisfies this via its collapsible "Cost" row, not a top-pane submenu. Unlike the two predicate-reuse bugs fixed earlier in this PR, this reuse of tokenCostRequiresProviderSnapshot is intentional: any provider whose cost is sourced by projecting a UsageSnapshot field can only render that cost through addMenuCardSections's sectioned layout, so the two concepts are genuinely coupled here. Renamed to say what it actually gates and documented why the reuse is safe, so a future reader doesn't mistake it for the same bug class. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
ci: add Linux musl build check
…cent-clamp fix: clamp ElevenLabs usage percent to 100%
…wap-test-20260718 Harden Linux Claude swap invocation proof
Co-authored-by: Zihaoqi <Zihao-Qi@users.noreply.github.com>
Co-authored-by: Zihaoqi <Zihao-Qi@users.noreply.github.com>
Co-authored-by: Zihaoqi <Zihao-Qi@users.noreply.github.com>
Fix StepFun login web ID
…anation Simplify cost labels and clarify estimate provenance
Co-authored-by: Bobby Wang <yyaustin@bu.edu>
…ating-tests Serialize flaky Claude CLI platform-gating cases
…providers Allow up to six Overview providers
…er-label Remove menu bar icon hover labels
…akes Isolate Claude CLI gating tests
The manifest referenced a stale filename (renamed away); the matching AGCY private key now lives under the Peekaboo-appcast name. Validation was falling back to Keychain (wrong key) and aborting release. Verified sparkle-key-status: match against the embedded SUPublicEDKey.
|
Bugbot is not enabled for your account, so this pull request was not reviewed. Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #86
Upstream range
2ccb4525687c92ff1cd50c8c57f24420c1fcb71f1d307430a13de0a385e2b5ab30fa7ed79d363408Review and QuotaKit adaptations
.mac-release.env, QuotaKit appcast URLs and history, CloudKit ownership, marketing versions, and all build numbers.UPSTREAM_MONITOR_BASEadvances to the reviewed head; shippedUPSTREAM_VERSIONremains unchanged.Validation
./Scripts/check_upstreams.sh(range confirmed before integration)./Scripts/test_ci_path_gate.shgit diff --checkswift buildPARSER_LINT_BASE=origin/main ./Scripts/lint.sh lintmake test: 758 selections, 64/64 shards passediPhone 17 Pro, signing disabled): 642 tests passed, 0 failuresThe exact locally reviewed PR head is
4cb3e83addda5b7f8850340186ca6049c6963908.