Skip to content

feat(web): show usage by device in the dashboard#533

Merged
iamtoruk merged 1 commit into
mainfrom
feat/dashboard-devices
Jun 20, 2026
Merged

feat(web): show usage by device in the dashboard#533
iamtoruk merged 1 commit into
mainfrom
feat/dashboard-devices

Conversation

@iamtoruk

Copy link
Copy Markdown
Member

Connects device sharing (#532) to the web dashboard (#531) so you can see all your Macs in the browser, not just on the CLI.

What it adds

  • New /api/devices endpoint: returns this machine plus every paired device via pullDevices, each kept separate (no server-side merge).
  • A device switcher in the dashboard:
    • All devices - combined totals, a per-device breakdown table (cost / tokens / calls / sessions), a merged daily chart, and merged by-tool / top-models.
    • Per-device tabs - each device's full dashboard.
  • Remote devices arrive sanitized, so their Top projects panel shows "detail stays on that device" instead of a list. Unreachable devices are marked in the table.

Behaviour when nothing is paired

The dashboard renders exactly as before: one device (this Mac), no switcher. The switcher only appears once you pair a device with codeburn devices add.

Verification

  • tsc --noEmit (server) and dash typecheck + vite build both pass.
  • Full suite green (1268 tests).
  • Smoke-tested codeburn web: /api/devices returns the local device with its full payload (cost, calls, projects, models, daily), and the SPA is served.

Add /api/devices to the web server: it returns this machine plus every
paired device (via pullDevices), each kept separate. The dashboard gains
a device switcher with an All devices combined view (totals, a per-device
breakdown table, and a merged chart) plus a per-device tab. Remote
payloads arrive sanitized, so their project and session detail is shown
as private rather than listed. With no devices paired, it renders exactly
as before.
@iamtoruk iamtoruk merged commit 3ac7f68 into main Jun 20, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant