codeburn/app/renderer/components
iamtoruk ae18b1fd91 fix: audit batch — prefetch one-shot, turn-anchored day bucketing, warm-path collapse
- prefetch fires exactly once per provider per session; memo sized to
  detected providers so base keys never evict (was: 12 full-history
  parses every 30s forever from LRU thrash re-triggering the effect)
- day-aggregator buckets whole turns by user-message timestamp,
  matching the report/headline path: trend bars and provider breakdown
  now reconcile exactly (midnight-straddling turns were split);
  DAILY_CACHE_VERSION 13 with an IANA tz guard that rehydrates when
  the cache crosses timezones
- overview's redundant second all-provider scan collapsed (~11% faster
  warm); numbers parity-guarded
- lock takeover cleans stale hydrating.lock; SIGINT/SIGTERM release it
- scanner skips EPERM/EACCES provider dirs (progress shows skipped)
  instead of aborting; onboarding hints Full Disk Access
- rateLimited quota copy render tests; export -f json emits valid
  empty JSON when no data

Root 2023 (+4), app 327 (+3), typechecks clean.
2026-07-16 15:37:03 -07:00
..
AboutModal.tsx fix: hydration completeness markers, cold-only splash, honest switching, prefetch 2026-07-16 14:05:11 -07:00
ActivityHeatmap.tsx style(app): merge hero + daily-activity heatmap into one split card 2026-07-11 11:30:15 -07:00
CliErrorPanel.tsx polish(app): shared empty states, type ladder, AA contrast, honest affordances, a11y semantics 2026-07-16 02:27:41 -07:00
ConnectAffordance.tsx fix(app): quota connects via macOS keychain + Connect affordance 2026-07-16 06:20:44 -07:00
Dropdown.tsx feat(app): Claude config switcher (multi-account overview scope) 2026-07-16 03:06:05 -07:00
EmptyState.tsx polish(app): spacing scale, unified insets, shared banner classes, scrollbar cues 2026-07-16 04:02:21 -07:00
ErrorBoundary.test.tsx feat(app): error boundary so a crashing screen shows the error, not a blank 2026-07-11 14:33:16 -07:00
ErrorBoundary.tsx feat(app): error boundary so a crashing screen shows the error, not a blank 2026-07-11 14:33:16 -07:00
FlameMark.tsx feat(app): exact approved flame art everywhere 2026-07-16 06:10:22 -07:00
Hint.tsx feat(app): window chrome, sidebar nav, and Overview smoke view 2026-07-10 15:17:11 -07:00
ListRow.tsx feat(app): Sessions provider quick-filter + Spend project inline expand 2026-07-16 02:49:17 -07:00
Onboarding.test.tsx feat(app): refresh cadence, instant switching, cache coherence, telemetry v1 2026-07-16 11:47:05 -07:00
Onboarding.tsx fix: audit batch — prefetch one-shot, turn-anchored day bucketing, warm-path collapse 2026-07-16 15:37:03 -07:00
Panel.tsx polish(app): spacing scale, unified insets, shared banner classes, scrollbar cues 2026-07-16 04:02:21 -07:00
ProviderLogo.test.tsx fix(app): provider logos key on internal ids + monogram fallback 2026-07-16 09:27:46 -07:00
ProviderLogo.tsx fix(app): provider logos key on internal ids + monogram fallback 2026-07-16 09:27:46 -07:00
ProviderPop.tsx polish(app): shared empty states, type ladder, AA contrast, honest affordances, a11y semantics 2026-07-16 02:27:41 -07:00
RangeCalendar.tsx feat(app): working periods, detected-provider dropdown, drag-select date range 2026-07-11 09:14:54 -07:00
Sankey.tsx polish(app): shared empty states, type ladder, AA contrast, honest affordances, a11y semantics 2026-07-16 02:27:41 -07:00
SegTabs.tsx polish(app): shared empty states, type ladder, AA contrast, honest affordances, a11y semantics 2026-07-16 02:27:41 -07:00
Sidebar.test.tsx feat(app): exact approved flame art everywhere 2026-07-16 06:10:22 -07:00
Sidebar.tsx feat(app): flame splash startup loader + living sidebar flame 2026-07-16 04:51:30 -07:00
Skeleton.test.tsx feat(app): motion layer (gsap) — count-ups, chart grow-in, section fade, skeletons, toasts 2026-07-16 04:39:09 -07:00
Skeleton.tsx feat(app): motion layer (gsap) — count-ups, chart grow-in, section fade, skeletons, toasts 2026-07-16 04:39:09 -07:00
Splash.test.tsx fix: hydration completeness markers, cold-only splash, honest switching, prefetch 2026-07-16 14:05:11 -07:00
Splash.tsx fix: audit batch — prefetch one-shot, turn-anchored day bucketing, warm-path collapse 2026-07-16 15:37:03 -07:00
StackedBars.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
StackedBars.tsx feat(app): motion layer (gsap) — count-ups, chart grow-in, section fade, skeletons, toasts 2026-07-16 04:39:09 -07:00
StaleBanner.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
StaleBanner.tsx polish(app): spacing scale, unified insets, shared banner classes, scrollbar cues 2026-07-16 04:02:21 -07:00
Stat.tsx polish(app): shared empty states, type ladder, AA contrast, honest affordances, a11y semantics 2026-07-16 02:27:41 -07:00
ToastHost.test.tsx feat(app): motion layer (gsap) — count-ups, chart grow-in, section fade, skeletons, toasts 2026-07-16 04:39:09 -07:00
ToastHost.tsx feat(app): motion layer (gsap) — count-ups, chart grow-in, section fade, skeletons, toasts 2026-07-16 04:39:09 -07:00
TopBar.tsx feat(app): Claude config switcher (multi-account overview scope) 2026-07-16 03:06:05 -07:00
Window.tsx feat(app): window chrome, sidebar nav, and Overview smoke view 2026-07-10 15:17:11 -07:00