In theory, we perform an inexpensive 1-second granularity timestamp check to detect conflicts, then a second test is performed atomically during updateRevisionOn, which uses the actual revision ID of the article content that was used as the edit base. However, this atomic test is broken because getLatest is returning the *new* latest id rather than the oldid stored at the time the user opened the article edit page.
This can be easily confirmed by disabling the timestamp test at EditPage.php line 1613, opening two tabs, and editing then submitting in both. This allows you to simulate two edits occurring within one second of each other. The outcome will be a silently ignored edit conflict, and the second edit will overwrite the first.
One issue that jumps out immediately is that we were relying on the "oldid" hidden form parameter, but this always has a value of "0".
The `edittime` method has been deprecated by `editRevId`, so we can remove the parameter.
--------------------------
**See Also**:
* {T36423}
* {T44163}
* {T55446}
* {T58511}
* {T13922}
* {T66237}