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.
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.
Posted in the future?
> Published September 19, 2026 in Tech
It’s September 19 in many parts of the world.