4 ms·
(Author here) Yjs is an impressive project and probably the most production-ready text CRDT library out there today. One of our goals was to write down a clea
by gklitt 5y ago
(Author here)
Yjs is an impressive project and probably the most production-ready text CRDT library out there today.
One of our goals was to write down a clear spec for how a rich text CRDT should behave separately from any particular algorithm, as a resource for people working on tools in this space.
In the process we also found some examples where we felt Yjs didn’t maximally preserve intent. One of them is documented in the paper in the section about control characters, and Peritext handles that case differently.
Also, as an implementation note, our prototype sends incremental changes to the Prosemirror editor, whereas I believe yjs sends changes that replace the entire document, which can break the behavior of other plugins [1].
[1]: https://discuss.prosemirror.net/t/offline-peer-to-peer-collaborative-editing-using-yjs/2488 https://discuss.prosemirror.net/t/offline-peer-to-peer-colla...
- skavi 5y agoDo you feel you’ve been able to solve some of the issues [0] the Xi editor project had with collaborative editing via CRDT? [0]: https://github.com/xi-editor/xi-editor/issues/1187#issuecomment-491473599 https://github.com/xi-editor/xi-editor/issues/1187#issuecomm...
- bhl 5y agoAre there plans to make Peritext production-ready like Yjs, or is this more of a sketch for people to build their own collaborative rich text editor integrations?
- gklitt 5y agoEventually we plan to integrate this algorithm into the Text type of Automerge [1], which is a more production-ready CRDT. [1]: https://github.com/automerge/automerge https://github.com/automerge/automerge