You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* fix: scope refresh-row disabling to the provider being refreshed
Refreshing one provider greyed out — and single-flighted — the Refresh
row for every provider, so the menu implied the others were refreshing
when they were not.
Replace the single global `manualRefreshTask` with a per-scope map
(`.global` for the all-providers ⌘R/overview refresh, `.provider(p)`
for a single provider). The disable gate now reflects only the target
provider's own refresh (a global refresh still disables every row), and
`startManualRefresh` guards per scope so different providers can refresh
concurrently instead of one blocking the rest. `MenuCardRefreshMonitor`
tracks in-flight providers as a set plus a global flag.
Rewrites the refresh-row tests that encoded the old blanket behavior and
adds coverage for scoped greying and concurrent per-provider refreshes.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* fix: address review — preserve frozen cards and exclude global/provider overlap
- MenuCardRefreshMonitor: keep an already-refreshing provider's frozen card when a
second provider's refresh re-supplies models (old-wins merge), so the first card
no longer jumps mid-refresh — the artifact the freeze exists to prevent.
- startManualRefresh: make a .global refresh mutually exclusive with any per-provider
one (and vice versa); two different providers still refresh concurrently.
- Merged-overview Refresh row now reflects any in-flight manual refresh, including a
per-provider refresh's post-fetch status/token tail, instead of flickering.
- Make the test-only manualRefreshTask / manualRefreshProvider accessors return a value
only when unambiguous (global, or exactly one task), else nil; move them to +Actions.
- Add tests: concurrent frozen-card retention, and overview-busy-through-tail + global
refresh exclusion.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* fix: apply frozen-card old-wins merge, global/provider exclusivity guard, scoped overview greying
* fix: isolate provider refresh snapshots
* test: use scoped refresh tasks
---------
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Peter Steinberger <steipete@gmail.com>
0 commit comments