Page MenuHomePhabricator

Non-JS conflict resolution might forget about edits made in the UI
Open, Stalled, Needs TriagePublic

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 project: TCB-Team. · View Herald TranscriptTue, Mar 3, 2:41 PM
Restricted Application added a subscriber: Aklapper. · View Herald Transcript
Lena_WMDE changed the task status from Open to Stalled.Thu, Mar 26, 10:08 AM
Lena_WMDE added a subscriber: Lena_WMDE.

Stalled because we decided to pursue a different approach.