codeburn/app/electron
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
..
quota fix(codex): align credit/dollar footer formatting across desktop and menubar 2026-08-01 22:32:53 +02:00
cli.test.ts test(electron): make dev-resolution tests self-sufficient on fresh clones (#689) 2026-07-20 05:23:28 -07:00
cli.ts perf: resident serve process for the desktop app — panel fetches in milliseconds 2026-08-10 09:43:44 -07:00
main.test.ts feat(app,menubar): surface parity — Spend punchcard in the app, Pull requests strip in the menubar 2026-08-10 14:29:26 -07:00
main.ts feat(app,menubar): surface parity — Spend punchcard in the app, Pull requests strip in the menubar 2026-08-10 14:29:26 -07:00
preload.ts feat(app,menubar): surface parity — Spend punchcard in the app, Pull requests strip in the menubar 2026-08-10 14:29:26 -07:00
telemetry.test.ts fix(telemetry): cap cli_error per kind per day, flush app_close on quit 2026-07-18 23:06:30 +03:00
telemetry.ts fix(telemetry): cap cli_error per kind per day, flush app_close on quit 2026-07-18 23:06:30 +03: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