codeburn/app/renderer/sections
iamtoruk 9e6ea306fe feat(app): T8 integration + cleanup — single refresh, ⌘-nav, shared error/format/period/series, README
- One 30s refresh + manual ⌘R; footer shows real last-fetch time; getOverview fetched once (no double-poll).
- Keyboard nav: ⌘1–⌘5/⌘, switch sections, ⌘R refresh.
- Verified period/provider re-polls all sections.
- Shared CliErrorPanel: amber permission ("Full Disk Access") vs red error, used by every section.
- DRY: shared lib/format.ts (USD), lib/period.ts (Overview migrated to it), lib/modelSeries.ts (unified model→series).
- Settings review-minor tests (!paired filter, empty/not-found states) + App.test.tsx.
- app/README.md incl. the approved M2 delivery model (self-contained, bundles engine, Electron auto-updater).
- 76 tests, typecheck clean. Live GUI smoke (npm --prefix app run dev) still pending a display.

Implemented by Codex gpt-5.5 (high); committed by Fable (git blocked in Codex sandbox).
2026-07-10 19:35:41 -07:00
..
Models.test.tsx fix(app): Models — unpriced = no cost AND no savings (stop dimming Codex + local rows) 2026-07-10 18:56:48 -07:00
Models.tsx feat(app): T8 integration + cleanup — single refresh, ⌘-nav, shared error/format/period/series, README 2026-07-10 19:35:41 -07:00
Optimize.test.tsx fix(app): Optimize — honest em-dash on yield failure, +Abandoned/Fixes tab tests, cost semantics 2026-07-10 18:42:52 -07:00
Optimize.tsx feat(app): T8 integration + cleanup — single refresh, ⌘-nav, shared error/format/period/series, README 2026-07-10 19:35:41 -07:00
Overview.test.tsx test(app): assert Overview period-window slicing, waste-rate, and model joins 2026-07-10 16:32:54 -07:00
Overview.tsx feat(app): T8 integration + cleanup — single refresh, ⌘-nav, shared error/format/period/series, README 2026-07-10 19:35:41 -07:00
Plans.test.tsx feat(app): T8 integration + cleanup — single refresh, ⌘-nav, shared error/format/period/series, README 2026-07-10 19:35:41 -07:00
Plans.tsx feat(app): T8 integration + cleanup — single refresh, ⌘-nav, shared error/format/period/series, README 2026-07-10 19:35:41 -07:00
Settings.test.tsx feat(app): T8 integration + cleanup — single refresh, ⌘-nav, shared error/format/period/series, README 2026-07-10 19:35:41 -07:00
Settings.tsx feat(app): T8 integration + cleanup — single refresh, ⌘-nav, shared error/format/period/series, README 2026-07-10 19:35:41 -07:00
Spend.test.tsx test(app): Spend coverage (lenses, states, colors, Sankey, period windows) + proportional/labeled Sankey 2026-07-10 18:30:17 -07:00
Spend.tsx feat(app): T8 integration + cleanup — single refresh, ⌘-nav, shared error/format/period/series, README 2026-07-10 19:35:41 -07:00