// the find
atom/teletype-crdt
String-wise sequence CRDT powering peer-to-peer collaborative editing in Teletype for Atom.
A string-wise sequence CRDT for real-time peer-to-peer collaborative text editing, originally the core data structure behind Teletype for Atom. It implements algorithms from several academic papers to handle concurrent edits without a central server. Atom was archived in December 2022, so this code is effectively frozen.
String-wise rather than character-wise CRDT avoids the tombstone explosion that kills performance in naive implementations — a meaningful algorithmic choice backed by the cited papers. Uses a splay tree internally, which gives good amortized performance on the sequential access patterns that dominate real text editing. Protobuf serialization is a sane choice for the wire format. The test suite exists and covers both document operations and serialization round-trips, which is more than most CRDT implementations bother with.
Atom is dead and this repo is archived — no bug fixes, no maintenance, no response to issues, ever. The README has a TODO for API documentation that will never be filled in, so you're reading source code to understand the interface. No TypeScript types and no published npm package under any maintained namespace means adopting this means forking it yourself. The referenced academic papers are all behind paywalls, so understanding why specific design decisions were made requires library access or a lot of guessing.