codeburn/app/renderer/sections
iamtoruk 411d52f924 feat(app,menubar): surface parity — Spend punchcard in the app, Pull requests strip in the menubar
The release's new capabilities were unevenly surfaced: the Spend
punchcard existed only on the web dashboard, and the menubar decoded
nothing of the PR-attribution block the payload already carries.

- Desktop app: new Punchcard component (hour-of-day x weekday spend
  matrix, ported from the dash and restyled to the app's tokens) on the
  Spend page. Fed by a dedicated getTimeline bridge channel that fetches
  the payload WITH history.timeline; every other fetch keeps the lean
  --no-timeline path, and the serve child makes the extra fetch cheap.
  Hides gracefully when the payload has no timeline (older CLI).
- Menubar: PullRequestsSection renders the top three PRs by attributed
  spend under the Workflow strip; MenubarPayload now decodes the
  pullRequests block (decodeIfPresent, so older payloads are unchanged).
  Hidden when absent or empty.

Deliberately NOT ported: codex Tok/s (reads rollout files per session -
too heavy for payload cadence; stays a TUI/report analytics view) and
the punchcard in the menubar (a 7x24 matrix has no legible place in a
compact popover).

App suite 468 green (bridge channel pinned, mocks extended), swift
build + 156 tests green, CLI suite green.
2026-08-10 14:29:26 -07:00
..
Compare.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
Compare.tsx feat(app): refresh cadence, instant switching, cache coherence, telemetry v1 2026-07-16 11:47:05 -07:00
Models.test.tsx fix(app): models rows name their provider; picker shows all detected 2026-07-16 09:27:46 -07:00
Models.tsx feat(app): refresh cadence, instant switching, cache coherence, telemetry v1 2026-07-16 11:47:05 -07:00
Optimize.test.tsx feat(app): refresh cadence, instant switching, cache coherence, telemetry v1 2026-07-16 11:47:05 -07:00
Optimize.tsx feat(app): refresh cadence, instant switching, cache coherence, telemetry v1 2026-07-16 11:47:05 -07:00
Overview.test.tsx feat(dashboard): add combined-device scope to desktop app and menubar badge 2026-07-31 15:12:29 -06:00
Overview.tsx feat(dashboard): add combined-device scope to desktop app and menubar badge 2026-07-31 15:12:29 -06:00
Plans.test.tsx fix: audit batch — prefetch one-shot, turn-anchored day bucketing, warm-path collapse 2026-07-16 15:37:03 -07:00
Plans.tsx feat(app): refresh cadence, instant switching, cache coherence, telemetry v1 2026-07-16 11:47:05 -07:00
PullRequests.test.tsx sessions: correlate cross-provider work with pull requests (#792) 2026-07-21 11:50:11 +02:00
PullRequests.tsx sessions: correlate cross-provider work with pull requests (#792) 2026-07-21 11:50:11 +02:00
Sessions.test.tsx app: Workflow card on Overview and session titles in the Sessions view (#784) 2026-07-20 13:55:33 -07:00
Sessions.tsx app: Workflow card on Overview and session titles in the Sessions view (#784) 2026-07-20 13:55:33 -07:00
Settings.test.tsx feat(dashboard): add combined-device scope to desktop app and menubar badge 2026-07-31 15:12:29 -06:00
Settings.tsx fix(desktop): make keyboard shortcuts work on Windows and Linux 2026-08-04 22:48:39 +03:00
Spend.test.tsx feat(app,menubar): surface parity — Spend punchcard in the app, Pull requests strip in the menubar 2026-08-10 14:29:26 -07:00
Spend.tsx feat(app,menubar): surface parity — Spend punchcard in the app, Pull requests strip in the menubar 2026-08-10 14:29:26 -07:00