Skip to content

All-devices dashboard tab: surface two-way multi-device sync (#100 FE)#112

Merged
0bserver07 merged 1 commit into
mainfrom
feat/sync-devices-tab
Jul 3, 2026
Merged

All-devices dashboard tab: surface two-way multi-device sync (#100 FE)#112
0bserver07 merged 1 commit into
mainfrom
feat/sync-devices-tab

Conversation

@0bserver07

Copy link
Copy Markdown
Owner

The frontend for #100 Phase 2 (two-way multi-device sync) — surfaces the merged cross-device view the backend already ships. FE-only, additive, gated behind sync being configured so the default tabs stay byte-identical.

What's in it

A dedicated beta "Devices" tab (Worktrees/Context-Replay precedent — no change to Overview/Cost render paths):

  • This device ↔ All devices scope toggle. Hidden when sync is unconfigured (clean empty state pointing at stackunderflow sync init).
  • All-devices view reads GET /api/sync/overview?scope=all-devices: headline merged totals (cost/tokens/sessions), a by-day trend (house Recharts chrome), a per-project breakdown, the contributing peer devices list (alias, last-seen), and a merge_warnings badge when > 0. GET /api/sync/status gates everything.
  • services/sync.ts + additive sync types (discriminated SyncOverview union) + 6 node --test cases.

Verification

  • tsc --noEmit clean · node --test tests/services/*.test.ts 179 pass · vite build clean (Devices tab bundled) · full Python suite 4083 passed (no backend touched)
  • 6 UI files only; no Python/pyproject/version changes

🤖 Generated with Claude Code

… sync (#100 FE)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@0bserver07 0bserver07 merged commit 506daa9 into main Jul 3, 2026
15 checks passed
@0bserver07 0bserver07 deleted the feat/sync-devices-tab branch July 3, 2026 17:10
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