Skip to content

A CRDT-based collaborative editor engine of letters.yandex.ru (2012, historical)

License

Notifications You must be signed in to change notification settings

gritzko/citrea-model

Folders and files

NameName
Last commit message
Last commit date

Latest commit

105e59d · Dec 8, 2021

History

11 Commits
Dec 7, 2017
Dec 8, 2021
Dec 7, 2017
Dec 7, 2017
Dec 7, 2017
Dec 7, 2017
Dec 7, 2017
Dec 7, 2017
Dec 7, 2017
Dec 7, 2017
Dec 7, 2017
Dec 7, 2017
Dec 7, 2017
Dec 7, 2017
Dec 7, 2017
Dec 7, 2017
Dec 7, 2017
Dec 7, 2017
Dec 7, 2017
Dec 7, 2017
Dec 7, 2017
Dec 7, 2017
Dec 7, 2017
Dec 7, 2017
Dec 7, 2017
Dec 8, 2021
Dec 8, 2021
Dec 7, 2017
Dec 7, 2017
Dec 7, 2017
Dec 8, 2021
Dec 7, 2017
Dec 7, 2017

Repository files navigation

Citrea/Papyrus

A CRDT-based collaborative editor engine of letters.yandex.ru (2012, historical)

TODO doc Yandex livery

Back in 2012, neither Quill nor ProseMirror existed. CRDTs were "mad science". A tiny band of brave souls made a collaborative editor for Yandex Mail (http://mail.ya.ru). The inner engine was Causal Trees CRDT (RGA family algo, array-hosted, see http://www.ds.ewi.tudelft.nl/~victor/). As a core optimization technique, the papyrus engine stored Lamport ids as tuples of unicode characters, so the metadata moved around as plain strings, not JSON. Notably, the code features a little formal address language that is essentially a precursor of RON (see http://github.com/gritzko/ron). Pieces of a document are addressable, hence cacheable. All recalculations are incremental, all DOM updates are also incremental.

The engine was created by @gritzko, @abalandin in 2011-2012.

For a more detailed description of the technology, see story.md.

About

A CRDT-based collaborative editor engine of letters.yandex.ru (2012, historical)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published