canvas-website/backlog/tasks/task-033 - Version-History-...

1.7 KiB

id title status assignee created_date labels dependencies priority
task-033 Version History & Reversion System with Visual Diffs In Progress
2025-12-04 21:44
feature
version-control
automerge
r2
ui
high

Description

Implement a comprehensive version history and reversion system that allows users to:

  1. View and revert to historical board states
  2. See visual diffs highlighting new/deleted shapes since their last visit
  3. Walk through CRDT history step-by-step
  4. Restore accidentally deleted shapes

Key features:

  • Time rewind button next to the star dashboard button
  • Popup menu showing historical versions
  • Yellow glow on newly added shapes (first time user sees them)
  • Dim grey on deleted shapes with "undo discard" option
  • Permission-based (admin, editor, viewer)
  • Integration with R2 backups and Automerge CRDT history
  • Compare user's local state with server state to highlight diffs

Acceptance Criteria

  • #1 Version history button renders next to star button with time-rewind icon
  • #2 Clicking button opens popup showing list of historical versions
  • #3 User can select a version to preview or revert to
  • #4 Newly added shapes since last user visit have yellow glow effect
  • #5 Deleted shapes show dimmed with 'undo discard' option
  • #6 Version navigation respects user permissions (admin/editor/viewer)
  • #7 Works with R2 backup snapshots for coarse-grained history
  • #8 Leverages Automerge CRDT for fine-grained change tracking
  • #9 User's last-seen state stored in localStorage for diff comparison
  • #10 Visual effects are subtle and non-intrusive