(bug 37828 is about handling edit conflicts)
VE does not inform the user that changes have been made by another user, so the review your changes screen has unexpected changes in it, and the user is allowed to save without reviewing the edit conflict.
Worse(and I will raise a separate bug for this), VE caches the diff, which means if no content is changed, the user is shown
a) a stale diff and is allowed to proceed with saving the page, which means they are then
b) the page with their saved changes only
The user is unaware that they have overwritten another persons changes.
Steps to reproduce:
- Create a page with some two lines https://en.wikipedia.org/w/index.php?title=User:John_Vandenberg/test&oldid=573748285
- Open the page in two VE windows
- In the second window, alter the first line and save https://en.wikipedia.org/w/index.php?title=User:John_Vandenberg/test&oldid=576079696
- In the first window, alter the first line and review changes (the diff only shows the first line being modified against the page contents from step 3)
- In the second window, add some lines and save https://en.wikipedia.org/w/index.php?title=User:John_Vandenberg/test&oldid=576079807
- In the first window, review changes, and cancel the save (the diff is the same as in step 5; the VE page content doesnt change)
- In the first window, save
The lines added in step 6 are removed by step 8.
The page after step 8 shows only the changes made in the first VE window.
In step 5 & 7, there should be a notice that the page has changed by someone else
In step 7, the diff should be refreshed even though the page content has not been modified.
In step 5 & 7, the VE should smartly determine whether the conflicts can be automatically resolved _and_ the user should
a) be forced to review changes and not allowed to save until they have reviewed and accepted the changes
b) be able to 'accept' the new changes by other users (i.e. those lines shown initially show as lines to be removed); view a refreshed diff; and proceed to save, in which case the next view is of the saved & integrated changes.
c) be able to cancel the save and return to VE with the new changes (as are being seen on their diff) merged into their VE session if it can be done sanely.