codeburn/app/electron
ozymandiashh e07985f67a
Some checks failed
CI / semgrep (push) Waiting to run
Tests / test (22) (push) Waiting to run
Tests / test (22.13.0) (push) Waiting to run
Tests / test (24) (push) Waiting to run
Tests / test (26) (push) Waiting to run
Tests / test-platforms (macos-latest) (push) Waiting to run
Tests / test-platforms (windows-latest) (push) Waiting to run
Tests / desktop (push) Waiting to run
Windows Menubar CI / check (ubuntu-latest) (push) Has been cancelled
Windows Menubar CI / check (windows-latest) (push) Has been cancelled
Claude quota: recover the credential from the source it came from (#1516)
* fix(quota): recover the Claude credential from the source it came from

Both Claude quota providers resolve the OAuth credential from
~/.claude/.credentials.json and fall back to the macOS Keychain, which is
where Claude Code keeps it on a normal Mac. Every recovery re-read went to
the file whatever the credential had come from, so for a Keychain user it
read nothing and the one place a renewed token can appear was never
consulted: a lapsed login left the retry a dead end indefinitely.

A recovery now re-reads whichever store the credential came from. When it
cannot recover - the credential is unchanged and its expiresAt has passed -
the provider reports terminalFailure with a line telling the user to run
Claude Code once, rather than the transientFailure the desktop app's quota
cards hold the last connected numbers through. A 401 on a credential still
within its life keeps its transient handling and its backoff.

The desktop app carries its own copy of this provider, where the same
file-only re-read sat in two branches - the 401 and the one that re-reads a
credential within five minutes of expiry - and both are fixed.

* fix(quota): keep keychain reads on forced refresh and hold reconnect prompt

Drop the near-expiry keychain re-read from the desktop provider; a keychain
credential is re-read only after a 401, which only a forced refresh reaches.
Hold terminalFailure through keychainUnchecked background polls.

---------

Co-authored-by: review-bot <resham0209@gmail.com>
2026-09-23 18:16:23 +02:00
..
quota Claude quota: recover the credential from the source it came from (#1516) 2026-09-23 18:16:23 +02:00
cli-win32-reap.test.ts fix: bound the serve drain, reap orphans on Windows, and de-flake the grace test 2026-08-22 10:36:58 -07:00
cli-win32-tree-kill.test.ts fix(app): actually kill the CLI process tree on Windows 2026-09-02 22:10:37 -07:00
cli.test.ts 0.9.25: correctness, energy, menu bar and installer fixes (#1511) 2026-09-21 00:16:21 +02:00
cli.ts 0.9.25: correctness, energy, menu bar and installer fixes (#1511) 2026-09-21 00:16:21 +02:00
mac-menubar.test.ts 0.9.25 round 2: fixes found testing the built apps (#1517) 2026-09-21 13:53:45 +02:00
mac-menubar.ts 0.9.25 round 2: fixes found testing the built apps (#1517) 2026-09-21 13:53:45 +02:00
main.test.ts 0.9.25: correctness, energy, menu bar and installer fixes (#1511) 2026-09-21 00:16:21 +02:00
main.ts 0.9.25 round 2: fixes found testing the built apps (#1517) 2026-09-21 13:53:45 +02:00
menubar.test.ts Windows menu bar and Capacity Dock as a Plugins card, plus desktop fixes (#1507) 2026-09-19 18:43:27 -07:00
menubar.ts Windows menu bar and Capacity Dock as a Plugins card, plus desktop fixes (#1507) 2026-09-19 18:43:27 -07:00
optimize-store.test.ts 0.9.25: correctness, energy, menu bar and installer fixes (#1511) 2026-09-21 00:16:21 +02:00
optimize-store.ts 0.9.25: correctness, energy, menu bar and installer fixes (#1511) 2026-09-21 00:16:21 +02:00
preload.ts 0.9.25: correctness, energy, menu bar and installer fixes (#1511) 2026-09-21 00:16:21 +02:00
telemetry.test.ts 0.9.25 round 2: fixes found testing the built apps (#1517) 2026-09-21 13:53:45 +02:00
telemetry.ts 0.9.25 round 2: fixes found testing the built apps (#1517) 2026-09-21 13:53:45 +02:00
tray-settings-atomic.test.ts fix(windows): wait out a reader when replacing a preference file 2026-09-03 11:10:33 -07:00
tray-settings-lock.test.ts fix(windows): close three holes in the cross-process preference lock 2026-09-03 10:28:05 -07:00
tray-settings.test.ts fix(app): typed IPC patches, the staged-msi flag, and honest consent copy 2026-09-03 03:06:13 -07:00
tray-settings.ts 0.9.25 round 2: fixes found testing the built apps (#1517) 2026-09-21 13:53:45 +02:00
updates.test.ts feat(app): update-available notifications 2026-07-17 04:58:13 -07:00
updates.ts feat(app): update-available notifications 2026-07-17 04:58:13 -07:00