Remix.run Logo
How Notion handles concurrent editing with CRDTs(notion.com)
2 points by austinl 6 hours ago | 3 comments
andric 30 minutes ago | parent | next [-]

The 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.

rvz 5 hours ago | parent | prev [-]

Posted in the future?

> Published September 19, 2026 in Tech

andric 33 minutes ago | parent [-]

It’s September 19 in many parts of the world.