What
Currently sync uses last-writer-wins per workspace UUID. For a better UX, implement merge:
- Tabs identified by zenSyncId (stable, provided by Zen)
- Detect tab additions/removals across devices
- Merge workspace membership (union of tabs)
- Detect conflicts (same tab moved to different workspace on 2 devices → pick latest)
Approach
Use vector clocks or CRDT-style merge. The relay stores per-device snapshots; merge happens client-side.
What
Currently sync uses last-writer-wins per workspace UUID. For a better UX, implement merge:
Approach
Use vector clocks or CRDT-style merge. The relay stores per-device snapshots; merge happens client-side.