KB1RD / matrix-notepad

A buggy way to collaborate on text documents using the Matrix protocol. When it works, consider this the Matrix Console of collaboration!
https://matrix-notepad.kb1rd.net/
GNU General Public License v3.0
67 stars 1 forks source link

Conflict resolution #3

Open KB1RD opened 4 years ago

KB1RD commented 4 years ago

Let's say both Alice and Bob both insert a character at the same position at the same time. These new characters will both have the same ID and the same vector clock. That means whichever arrives first is visible. These conflicts should be at least shown somewhere and preferably should allow the user to resolve them.

KB1RD commented 4 years ago

I am actively working on this now as the only change for the next release, which I am targeting sometime after the new year. Yeah that's a lot of time, but it will require the creation of completely new concepts and the implementation of those on top of an already complicated algorithm. Incidentally, this will create a new event schema and will break old rooms. On a related note, I should start including state resolution algorithm versions in the room creation event...

KB1RD commented 4 years ago

So if multiple users insert text at the same position, both users' data will be displayed side by side, however, there will be no indication that it is conflicting. The anchors in logootish-js are designed to fix this, but are not yet implemented.