From ebb3ab661b80ef90e02a89a59152036691b5f8e5 Mon Sep 17 00:00:00 2001 From: Jeff Emmett Date: Thu, 4 Dec 2025 13:44:43 -0800 Subject: [PATCH] Create task task-033 --- ...ry-&-Reversion-System-with-Visual-Diffs.md | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 backlog/tasks/task-033 - Version-History-&-Reversion-System-with-Visual-Diffs.md diff --git a/backlog/tasks/task-033 - Version-History-&-Reversion-System-with-Visual-Diffs.md b/backlog/tasks/task-033 - Version-History-&-Reversion-System-with-Visual-Diffs.md new file mode 100644 index 0000000..62986a5 --- /dev/null +++ b/backlog/tasks/task-033 - Version-History-&-Reversion-System-with-Visual-Diffs.md @@ -0,0 +1,48 @@ +--- +id: task-033 +title: Version History & Reversion System with Visual Diffs +status: In Progress +assignee: [] +created_date: '2025-12-04 21:44' +labels: + - feature + - version-control + - automerge + - r2 + - ui +dependencies: [] +priority: 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 +