Kevin and contributors - thanks so much for Yjs - it’s an impressive piece of kit!
I’m building a collaborative application where users can reorder nodes in an ordered tree. I’ve modeled the hierarchy as a
Y.Map<Y.Array<string>> where the keys are node ids, and the values are the ids of that node’s children. (My move operation is a delete followed by an insert).
This works nicely except for moves. If two peers concurrently move a node to different destinations we end up with a dupe.
Martin Kleppmann has described the problem nicely in this paper/video.
Are there any known techniques or workarounds for dealing with moves in Yjs?