Skip to content

Commit c48b395

Browse files
JayantDevkarclaude
andcommitted
docs: sync page tabs redesign — approved design plan
Restructures the sync page tabs to fix information duplication, scattered team management, and overloaded Overview tab. Renames Members→Team, refocuses Activity on session-level events, and establishes clear information placement rules across all 4 tabs. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 71aa967 commit c48b395

1 file changed

Lines changed: 135 additions & 0 deletions

File tree

Lines changed: 135 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,135 @@
1+
# Sync Page Tabs Redesign
2+
3+
Date: 2026-03-06
4+
Status: Approved
5+
6+
## Problem
7+
8+
The current sync page has 4 tabs (Overview, Members, Projects, Activity) with several UX issues:
9+
10+
1. **Overview is overloaded** — contains sync engine control, team management, stats, getting started guide, machine details, AND pending actions (6 concerns).
11+
2. **Information duplication** — "Your Sync ID" appears in both Overview and Members. Member/project counts in TeamSelector AND Overview stats.
12+
3. **Team management is scattered** — create team via TeamSelector, delete in Overview, add members in Members tab.
13+
4. **Activity shows raw Syncthing events**`FolderCompletion`, `StateChanged` etc. are meaningless to users who care about session sync.
14+
15+
## Design
16+
17+
### Tab Structure
18+
19+
```
20+
Overview | Team | Projects | Activity
21+
```
22+
23+
Four tabs with clear, non-overlapping responsibilities.
24+
25+
### Tab 1: Overview — "What's happening right now?"
26+
27+
At-a-glance health check. Is sync working? Any problems?
28+
29+
**Sections (top to bottom):**
30+
31+
1. **Sync Engine Banner** — full-width, prominent. Running/Stopped status with start/stop button. The #1 operational control.
32+
33+
2. **Stats Row** (4 cards):
34+
- Members Online: `2/3 connected`
35+
- Projects Syncing: `4 projects`
36+
- Sessions Shared: total packaged count (outbox)
37+
- Sessions Received: total received from teammates (inboxes)
38+
39+
3. **Pending Actions** — only renders when count > 0. Folder offers from teammates needing acceptance. When zero, section doesn't appear at all.
40+
41+
4. **Machine Details** — your name, machine ID, Sync ID with copy button, Syncthing version. Reference info at the bottom.
42+
43+
### Tab 2: Team — "Who am I syncing with?"
44+
45+
Replaces "Members" tab. Absorbs team-level config that was scattered across Overview and Members.
46+
47+
**Sections:**
48+
49+
1. **Team Header Card** — team name, backend type. "Delete Team" as a danger-zone action (behind `...` menu or at bottom).
50+
51+
2. **Your Sync ID** (copyable) — "Share this with teammates to connect." Natural home: you're looking at team membership.
52+
53+
3. **Members List** — each member as a card:
54+
- Name, connection status dot (green/gray)
55+
- Data transferred (in/out bytes)
56+
- Last seen / address
57+
- Remove button (hover-reveal)
58+
59+
4. **Add Member Form** — inline at bottom: Sync ID input + Name input + Add button.
60+
61+
### Tab 3: Projects — "What am I syncing?"
62+
63+
Toggle which projects sync. See per-project health.
64+
65+
**Sections:**
66+
67+
1. **Header row** — "X of Y syncing" + "Enable All" button + search filter
68+
69+
2. **Project List** — each row:
70+
- Project name + path
71+
- Toggle switch (synced/not synced)
72+
- Sync health when enabled:
73+
- Local sessions count
74+
- Packaged count (outbox)
75+
- Gap indicator ("3 behind" warning, or "up to date" green)
76+
- Per-member received counts (e.g., "alice: 12, bob: 8")
77+
- "Sync Now" button
78+
79+
### Tab 4: Activity — "What happened recently?"
80+
81+
Session-level sync feed. Human-readable, not raw Syncthing events.
82+
83+
**Sections:**
84+
85+
1. **Header** — "Activity" + "Sync Now" button (rescan all)
86+
87+
2. **Live Status Bar** (compact) — upload/download rate, single line. No full bandwidth chart.
88+
89+
3. **Session Activity Feed** — translated events:
90+
- "alice synced 3 sessions for claude-karma — 5 min ago"
91+
- "bob's machine connected — 12 min ago"
92+
- "Received 2 new sessions from alice — 1 hr ago"
93+
94+
4. **Folder Status** (collapsible, advanced) — raw Syncthing folder stats. Collapsed by default with "Show folder details" toggle.
95+
96+
## Information Placement Rules (no duplication)
97+
98+
| Information | Lives in | NOT in |
99+
|---|---|---|
100+
| Sync engine start/stop | Overview ||
101+
| Members online count | Overview (stats) | Team tab |
102+
| Member list + connection details | Team tab | Overview |
103+
| Your Sync ID | Team tab | Overview |
104+
| Machine details (name, hostname, version) | Overview | Team tab |
105+
| Project list + toggle | Projects tab | Overview |
106+
| Project sync health (local/packaged/gap) | Projects tab | Activity |
107+
| Pending folder offers | Overview | Team tab |
108+
| Session activity feed | Activity tab | Overview |
109+
| Bandwidth rates | Activity tab (compact) | Overview |
110+
| Delete team | Team tab | Overview |
111+
112+
## Non-goals
113+
114+
- No admin/member privilege system (fully peer-to-peer, trust-based)
115+
- No multi-team dashboard view (team-scoped via TeamSelector)
116+
- No raw bandwidth chart (users can open Syncthing UI at localhost:8384)
117+
118+
## CLI Feature Parity
119+
120+
All CLI sync features accessible via web UI:
121+
122+
| CLI Command | Web UI Location |
123+
|---|---|
124+
| `karma init --backend syncthing` | SetupWizard (pre-tabs) |
125+
| `karma team create` | TeamSelector "+ New Team" |
126+
| `karma team add` | Team tab → Add Member form |
127+
| `karma team remove` | Team tab → member hover → Remove |
128+
| `karma team list` | Team tab → Members List |
129+
| `karma project add --team` | Projects tab → toggle on |
130+
| `karma project remove --team` | Projects tab → toggle off |
131+
| `karma project list` | Projects tab |
132+
| `karma watch --team` | Overview → Sync Engine start |
133+
| `karma accept` | Overview → Pending Actions → Accept All |
134+
| `karma status` | Overview (stats) + Projects tab (per-project health) |
135+
| `karma ls` | Projects tab (received counts per member) |

0 commit comments

Comments
 (0)