Each text field should be coupled with hash of its contents. When the user is about to commit the changes, the hash would be sent to the server; if the hash on the server is different (which means that in the meantime a change was made by some other user), we could show a diff and an automatically generated merged version to the user and ask “is this merged version okay, or do you want to edit it further?”.
Hm, actually, what do we need the hash for? We don't.
Show popups for
[x] traits
[x] notes
[x] ecosystem fields
[x] category descriptions
[x] item descriptions
[ ] Highlight words in diffs
[ ] Add a “let someone else take care of this merge conflict” button
Each text field should be coupled with hash of its contents. When the user is about to commit the changes, the hash would be sent to the server; if the hash on the server is different (which means that in the meantime a change was made by some other user), we could show a diff and an automatically generated merged version to the user and ask “is this merged version okay, or do you want to edit it further?”.
Hm, actually, what do we need the hash for? We don't.