Skip to content

feat(ai-accounts): show which models share an Antigravity quota - #934

Merged
kittors merged 1 commit into
devfrom
fix/antigravity-real-quota-buckets
Aug 20, 2026
Merged

feat(ai-accounts): show which models share an Antigravity quota#934
kittors merged 1 commit into
devfrom
fix/antigravity-real-quota-buckets

Conversation

@kittors

@kittors kittors commented Aug 20, 2026

Copy link
Copy Markdown
Owner

Panel half. Pairs with kittors/CliRelay#914merge that one first.

The question this answers

"哪些是共享的,我一点都看不出来,这是代表这些都是共享一个额度?"

Yes — and the card gave no way to tell. It drew five independent bars (Gemini Pro, Gemini Flash, Gemini Image, Claude, GPT-OSS) for what is, on the live account, one shared quota counted five times.

What it looks like now

5 个模型共享 ⓘ                100%
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓   今天 20:17 重置

19 个模型共享 ⓘ               100%
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓   8/27 15:17 重置

The backend groups models by the quota they actually draw on, so each row is one real bucket. A bucket has no family name — and inventing one is precisely what this grouping exists to avoid — so the row states how many models share it.

The ⓘ lists the members under a heading, one per line, instead of dropping a comma-separated string into the row.

Soonest reset first, so the bucket about to run out reads first.

Detail worth noting

Shared buckets all carry the same label key, so they group by their own key rather than by label. They render alike but are distinct quotas and must stay distinct rows — grouping by label would have collapsed the two buckets above into one.

Unchanged

The named-group path is untouched. An account that can read retrieveUserQuotaSummary still shows the upstream's own group names with both the weekly and 5h windows, exactly as before.

Verification

tsc, oxlint and all four structure gates clean. 291 tests green across pages/auth-files and features/quota-preview, including new cases for the row label, the member list reaching the hint, and two distinct buckets staying distinct.

A full-suite run shows 4 unrelated files timing out under parallel load; re-running those on their own passes 148/148.

🤖 Generated with Claude Code

The card drew five independent bars — Gemini Pro, Gemini Flash, Gemini
Image, Claude, GPT-OSS — for what is, on the live account, a single shared
quota. Asked what the bars meant, there was no way to tell they were the
same limit counted five times.

The backend now groups models by the quota they actually draw on, so a row
corresponds to one real bucket. It has no family name to show, and
inventing one is what this grouping exists to avoid, so the row says how
many models share it: "19 个模型共享". The member list goes behind the hint
icon under a heading, one model per line, rather than as a bare
comma-separated string in the row.

Shared buckets group by their own key rather than by label, since they all
carry the same label key — they render alike but are distinct quotas and
must stay distinct rows.

The named-group path is untouched: an account that can read the upstream
summary still shows the upstream's own group names with both windows.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@kittors
kittors merged commit 73dc1a6 into dev Aug 20, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant