Extending Automerge: Undo, Redo, and Move
summary
Extends Automerge with a implemented move operation and a novel undo/redo algorithm for multi‑valued registers, claiming move validity requires no cycle and no concurrent greater‑ID move of the same element. Moves are validated by reverting and reapplying later ops with optimizations (batching, checkpoints, skip non‑move ops). Prototype shows merges of two replicas with 10,000 divergent operations take about 100 ms, while undo/redo resolution is under 0.1 ms and preserves a local undo semantics that only undoes one’s own actions.
AI-written summary · about
chapters (17)
- 0:00Extending Automerge
- 1:05What is Automerge
- 2:10Move ops in CRDTs
- 3:35Valid move ops in Automerge
- 5:02Naive move validation
- 7:28Optimizing move validation
- 9:14Further move optimizations
- 10:38Undo and redo in collab
- 13:47Local vs global undo
- 14:28Conflicts in registers
- 16:55Edge cases in undo/redo
- 17:58Undo/redo performance
- 18:40Q&A
- 23:22Undo semantics discussion
- 26:57Move ops and copy semantics
- 29:47Future CRDT directions
- 32:37Closing remarks
related talks
11mCan You Move These Over There? Exploring an LLM-based VR Mover to Support Natural Multi-object Ma...
45mThe State and Future of MEV
31mRollup Rewound: Reflections on the Past, Visions of the Future
17mTwo Roads to Durable Agents: Replay vs. Snapshot
59mThe Evolution of RAG
01h 41mMergeable by default: Building the context engine to save time and tokens
30mPerformant GraphRAG Improving Neo4j to Drive Autonomous AI ...
26mExact Unlearning of Finetuning Data via Model Merging at Scale
