Page MenuHomePhabricator

Non-JS conflict resolution might forget about edits made in the UI
Closed, ResolvedPublic1 Estimated Story Points

Description

The solution currently proposed in https://gerrit.wikimedia.org/r/574799 to solve T245505: Non-JS error handling when a conflict is submitted with no column selected does have a few drawbacks. Typically users shouldn't notice, but in rare edge-case situations the behavior might surprise users.

A notable drawback is when an edit is done to the left-hand side, but no side was selected, this edit is gone when the user tries to submit this incomplete form.

This is by design and very hard to "fix", we suspect. The issue is that the UI submits all values by row number, but when the UI reappears these numbers might be entirely different, e.g. because another edit happened in the meantime, or because the user manually edited one of the many textboxes in the UI. Matching by row number is not possible, not even if the base revision IDs are the same.

For the same reason it's not possible to restore the selection for the radio buttons in the middle.

A possible workaround is to use hashes instead of row numbers, or just compare the text from the left hand side. The effort to implement this might be way over the top of what an "ok-ish" non-JS solution is worth.

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald Transcript
Lena_WMDE changed the task status from Open to Stalled.Mar 26 2020, 10:08 AM
Lena_WMDE subscribed.

Stalled because we decided to pursue a different approach.

thiemowmde set the point value for this task to 1.Nov 3 2020, 9:18 AM

To do here: Check if this is still a problem, and close it if it's not.

I just confirmed that in the Non-JS version the side with the user's edit is pre-selected. So if the user accidentally clicks fast through the interface without noticing much, his changes are saved. The change of the conflicting user will still be visible in the history.