3 ms·
How Notion handles concurrent editing with CRDTs
- rvz 9d agoPosted in the future? > Published September 19, 2026 in Tech
- andric 9d agoIt’s September 19 in many parts of the world.
- andric 9d agoThe way they’ve handled splits in text using a “text slice” and block mapping is truly novel (although the way they’ve introduced search labels feels a little hacky). > in a ProseMirror editor using Yjs, splits are modeled as a deletion in the first block and an insertion in the second. A concurrent edit may therefore remain in the original node, whereas our approach preserves its intended position across the split. I wonder if something inspired by this design could make its way into the new Yjs version and y-prosemirror rewrite. It’s always been a big limitation of y-prosemirror that splits are handled as a deletion and insertion.