codeburn/app/electron
iamtoruk 880f84d593 feat(app): live quota fetch module + getQuota bridge (Phase 4 backend)
Port the menu bar's OAuth quota fetch to the Electron main:
- app/electron/quota/{claude,codex,index,security}.ts reads the local Claude/
  Codex credentials, hits the usage APIs, normalizes to QuotaProvider (5h/weekly
  windows, auto-detected tier, resets-at) with 429 backoff + single-flight
- getQuota IPC bridge (main + preload + renderer types); needs a full relaunch

Security: tokens are never returned or logged (redact Bearer/sk-ant/sk-/JWT,
strip NUL, truncate 240); credential reads refuse symlinks (O_NOFOLLOW/lstat) and
insecure modes; Anthropic refresh is never POSTed (single-use, shared with CLI).

typecheck clean; 147/147 tests pass; Electron build passes.
2026-07-12 16:43:53 -07:00
..
quota feat(app): live quota fetch module + getQuota bridge (Phase 4 backend) 2026-07-12 16:43:53 -07:00
cli.test.ts feat(app): functional Settings — rail nav + General/Providers/Aliases/Privacy 2026-07-11 17:24:04 -07:00
cli.ts feat(app): functional Settings — rail nav + General/Providers/Aliases/Privacy 2026-07-11 17:24:04 -07:00
main.test.ts feat(app): live quota fetch module + getQuota bridge (Phase 4 backend) 2026-07-12 16:43:53 -07:00
main.ts feat(app): live quota fetch module + getQuota bridge (Phase 4 backend) 2026-07-12 16:43:53 -07:00
preload.ts feat(app): live quota fetch module + getQuota bridge (Phase 4 backend) 2026-07-12 16:43:53 -07:00