requarks / wiki

Wiki.js | A modern and powerful wiki app built on Node.js
https://js.wiki
GNU Affero General Public License v3.0
24.47k stars 2.71k forks source link

Version conflict handling - no control over version conflicts, overwriting changes #395

Closed lafar6502 closed 6 years ago

lafar6502 commented 6 years ago

Actual behavior

When a page is edited by two people at once and they both make changes at the same time, the user that saves the data later overwrites all changes made by the first one. There is no warning that user is overwriting someone else's work, and change is committed to the repository without any warning.

Expected behavior

In the 'minimum' plan the system should detect such situation and warn the user that the original version of the page he is working on has changed and there is some update to it. User should then decide what to do with it.

More advanced function would try to perform some merge of the changes - using git merge, for example? Or at least put some warning in the git commit comment that there was version conflict and the changes have been overwritten - so then someone can go to the git repo and find what is lost.

Or, another approach would be to prevent user from editing the page if someone else has it also open for edit.

Steps to reproduce the behavior

NGPixel commented 6 years ago

Planned for 2.1: https://requests.requarks.io/wiki/p/handle-multiple-users-editing-the-same-page-simultaneously