Repository navigation
feat(antigravity): track the Claude and GPT models pool separately - #178
Merged
Merged
Conversation
The summary picked the first group with windows when the Gemini group did not match, so the widget showed the "Claude and GPT models" quota under the Antigravity name. - The first endpoint that returns retrieveUserQuotaSummary is authoritative and returned at once; endpoints are no longer merged and fetchAvailableModels is skipped when the summary answered. - Groups are classified as Gemini or external (claude/gpt/3p-* buckets); an unrecognised group is used only when it is the sole group. - A summary without recognised windows (or with an empty group list) is "no limit data", not a failure. - The model-quota fallback uses Gemini models only, because per-model quotas do not say which window they belong to. - Send an explicit Antigravity User-Agent; try the sandbox endpoint last. - Absent windows are cached with `percentage: null` so external readers see "unknown" rather than 0% used. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Antigravity has two quota groups: Gemini and the external "Claude and GPT models" group. Both are now polled and shown. - UsageData carries the external group as `external_pool`. - Cache keys: `antigravity_gemini`, `antigravity_external`, and the legacy `antigravity`, which mirrors the external pool for existing readers and is omitted when that pool is absent. - Settings and menus toggle each pool (command 67 external, 68 Gemini; 62 still toggles the whole provider). Re-saving settings keeps the per-pool choice, and a disabled provider is not re-enabled on load. - Compact Fluent Quad shows `antigravity.gemini.*` and `antigravity.external.*`, alternating on a shared crossfade timer when both are on. Other themes keep `antigravity.*` = Gemini. - A pool or window that was not reported shows "--" and an empty gauge, never 0% used; the tray tooltip lists both pools. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
Note
Dependency: This PR is stacked on top of #177 (
feat/agy-quota-request). Please review and merge #177 first. Once merged, the base branch of this PR will automatically update tomain.Summary
Adds full support for Antigravity's two distinct quota pools: first-party Gemini Models and third-party Claude and GPT models, featuring independent menu toggles, distinct visual branding, and smooth opacity-based crossfading of metrics and labels in the Compact Fluent Quad theme.
Motivation & Architecture
Antigravity manages quotas in two separate groups:
Until now, the monitor only tracked a single Antigravity pool. This PR enables users to view and toggle both pools independently while maintaining full backward compatibility for existing themes and external readers.
Key Changes
UsageDatanow carries an optionalexternal_pool: Option<Box<UsageData>>.antigravity_gemini,antigravity_external, and legacyantigravity(mirrors the primary pool for older readers).settings.json.antigravity.gemini.*andantigravity.external.*data context bindings.#00D2B4for Gemini,#6EB4C8for Claude/GPT).antigravity.crossfade_opacity), avoiding any abrupt text jumps.antigravity.*to Gemini without layout disruption.--with an empty gauge instead of0%.Verification & Tests
src/theme_engine/tests.rsverifying: