codeburn/app/renderer/sections
iamtoruk 287791e2a9 feat: live quota for Gemini, Copilot, and Antigravity in the desktop app
Extends the existing borrowed-credential quota module (claude/codex) with
three providers, per-provider settings toggles, and a provider display map:

- gemini: Code Assist loadCodeAssist/retrieveUserQuota via the Gemini CLI's
  on-disk OAuth creds; optional env-gated token refresh; retired-tier
  responses degrade to terminalFailure with migration guidance
- copilot: copilot_internal/user with editor-plugin headers; token read-only
  from hosts.json/apps.json with one re-read on 401; marked as an internal
  API that may drift, failures degrade honestly
- antigravity: loopback-only Connect-RPC probe of the local language server
  (ps/lsof discovery via execFile, csrf token for the app variant, agy CLI
  accepted tokenless); TLS relaxation scoped to 127.0.0.1; no OAuth fallback
- settings: per-provider quota switches (default on) persisted renderer-side,
  honored in the main-process service so disabled fetchers never run; IPC
  disabled-list filtered against the provider allowlist
- sanitizeError extended for Google (ya29.) and GitHub (gh*_) token shapes

Kimi audited, not duplicated: the macOS menubar already fetches Kimi quota
live (KimiSubscriptionService.swift); the electron app not surfacing it is a
pre-existing gap, unchanged here.
2026-08-23 03:13:47 -07:00
..
Compare.test.tsx fix(app): accuracy batch A — provider scoping, honest chart axes, range threading, stale-error banner 2026-07-16 01:14:41 -07:00
Compare.tsx feat(app): refresh cadence, instant switching, cache coherence, telemetry v1 2026-07-16 11:47:05 -07:00
Models.test.tsx fix(app): models rows name their provider; picker shows all detected 2026-07-16 09:27:46 -07:00
Models.tsx feat(app): refresh cadence, instant switching, cache coherence, telemetry v1 2026-07-16 11:47:05 -07:00
Optimize.test.tsx fix(optimize): scope the apply-able subtotal to the local MCP subset 2026-08-18 08:22:33 -07:00
Optimize.tsx optimize: show the applied-fix verdicts in the TUI and desktop app 2026-08-18 03:15:12 -07:00
Overview.test.tsx feat(dashboard): add combined-device scope to desktop app and menubar badge 2026-07-31 15:12:29 -06:00
Overview.tsx feat(dashboard): add combined-device scope to desktop app and menubar badge 2026-07-31 15:12:29 -06:00
Plans.test.tsx feat: live quota for Gemini, Copilot, and Antigravity in the desktop app 2026-08-23 03:13:47 -07:00
Plans.tsx feat: live quota for Gemini, Copilot, and Antigravity in the desktop app 2026-08-23 03:13:47 -07:00
PullRequests.test.tsx fix(desktop): name a custom range on the empty PR tab 2026-08-22 23:58:50 +05:30
PullRequests.tsx copy: drop the em dash from the wider-period hint (repo copy rule) 2026-08-22 12:46:42 -07:00
Sessions.test.tsx app: Workflow card on Overview and session titles in the Sessions view (#784) 2026-07-20 13:55:33 -07:00
Sessions.tsx app: Workflow card on Overview and session titles in the Sessions view (#784) 2026-07-20 13:55:33 -07:00
Settings.test.tsx feat: live quota for Gemini, Copilot, and Antigravity in the desktop app 2026-08-23 03:13:47 -07:00
Settings.tsx feat: live quota for Gemini, Copilot, and Antigravity in the desktop app 2026-08-23 03:13:47 -07:00
Spend.test.tsx feat(app,menubar): surface parity — Spend punchcard in the app, Pull requests strip in the menubar 2026-08-10 14:29:26 -07:00
Spend.tsx feat(app,menubar): surface parity — Spend punchcard in the app, Pull requests strip in the menubar 2026-08-10 14:29:26 -07:00