Page MenuHomePhabricator

Edits on the left (other) side get lost when using preview/diff
Closed, ResolvedPublic5 Story Points

Description

Steps to reproduce:

  • Make sure to run into a conflict.
  • Do an edit on the left, yellow side. It does not matter if you confirm the edit with the checkbox button or not.
  • Click "Show changes". The edit might[1] show up in the diff on top, but it is lost in the conflict resolution interface below.
  • Whatever you do now, the edit is lost.

As reported by @Vort here at https://www.mediawiki.org/wiki/Topic:Up5ypjzsdwtu9s35.

[1] The user report is slightly different here.

Event Timeline

Lea_WMDE triaged this task as High priority.Nov 28 2018, 4:22 PM
Lea_WMDE set the point value for this task to 5.
czar awarded a token.Nov 30 2018, 12:16 PM
czar added a subscriber: czar.Nov 30 2018, 12:21 PM

I can reproduce what you describe as the user report:

  1. On a talk page, I merge my blue comment into the yellow edit by cut/paste (blue column is empty)
  2. I click the checkbox on the yellow side (the comment is as I want it to be published) and preview
  3. I have the "live preview" gadget on—to view the preview on the same page without refreshing the entirety
  4. The editor eats my comment—it reverts the yellow comment back to its original (pre-edit) state and my comment is also missing from the blue area (as I originally "cut" it)
WMDE-Fisch moved this task from Sprint Backlog to Doing on the WMDE-QWERTY-Sprint-2018-12-04 board.

Working on a solution for that, I sat together with @Lea_WMDE and we discussed the feature in general - especially looking at the solution for the diff view.
( sorry that this now becomes a more complex matter that is discussed in this ticket )

  • The motivation behind showing the edit conflict screen on the Diff and Preview page is, so that users can reconsider their choices or adapt them when looking at the result.
  • For the Diff view this would mean, seeing a diff between the currently saved version and the changes they would want to submit.
  • For the conflict screen solving underneath the Diff that would mean either:
    • Showing the conflict solving screen as before with the changes underneath.
      • This would mean that you basically look at two different diffs and it could be very confusing to get that connection.
    • Or show a conflict solving screen with a diff between the currently saved version and the changes users would want to submit.
      • Then you will basically look at the same diff twice: One can be edit the other not. In addition to that you also left the edit conflict solving view an a way and might not be able to follow what originally happened.

As a conclusion we decided on not offering a Diff view, since the conflict solving screen already is a diff.

For the preview the way to go is, seeing the preview and underneath the conflict solving screen that has the exact look and settings as the screen the user is coming from. So the diff in the solving screen is not a "newly generated" diff between the "per-submitted" edits and so currently saved one.

Change 478223 had a related patch set uploaded (by WMDE-Fisch; owner: WMDE-Fisch):
[mediawiki/extensions/TwoColConflict@master] Disable diff button on conflict solving screen

https://gerrit.wikimedia.org/r/478223

Change 478618 had a related patch set uploaded (by WMDE-Fisch; owner: WMDE-Fisch):
[mediawiki/extensions/TwoColConflict@master] [WIP] Refactor conflict view html building

https://gerrit.wikimedia.org/r/478618

WMDE-Fisch removed WMDE-Fisch as the assignee of this task.Dec 10 2018, 9:14 AM

The issue with the statement "the conflict resolution screen already is a diff" is this: It's a diff the users are not familiar with. As a user I want a way to release myself from the limitations of the conflict resolution screen provided by the extension, and continue working in my familiar environment. I want a button to accept the current selections and continue editing in whatever wikitext editor I was using before. There I would then have access to a diff as usual.

Currently this is not possible. The user is stuck in the conflict resolution screen, and all he can effectively do is click "Save".

When we remove the "Diff" button there is no way to tell what clicking "Save" will actually do in the end. The "Preview" is not precise enough to do this, as it contains no indication which parts of my edit survived, and which did not. There is especially no indication which parts of my edit survived without being in a conflict. These are never shown in the colored parts of the conflict resolution screen, but silently appear in the result. This might lead to the situation where I wanted two paragraphs to reference each other, but only one survives, leaving a mashed up result that does not make sense any more.

TL;DR: Agree with the preview functionality. Agree with removing the diff button. But let's add a "Continue editing" button instead.

Change 478977 had a related patch set uploaded (by Thiemo Kreuz (WMDE); owner: Thiemo Kreuz (WMDE)):
[mediawiki/extensions/TwoColConflict@master] Add missing code to not loose edits on the "other" side

https://gerrit.wikimedia.org/r/478977

Change 478223 merged by jenkins-bot:
[mediawiki/extensions/TwoColConflict@master] Disable diff button on conflict solving screen

https://gerrit.wikimedia.org/r/478223

Change 479179 had a related patch set uploaded (by Thiemo Kreuz (WMDE); owner: Thiemo Kreuz (WMDE)):
[mediawiki/extensions/TwoColConflict@wmf/1.33.0-wmf.8] Add missing code to not loose edits on the "other" side

https://gerrit.wikimedia.org/r/479179

Change 478977 merged by jenkins-bot:
[mediawiki/extensions/TwoColConflict@master] Add missing code to not loose edits on the "other" side

https://gerrit.wikimedia.org/r/478977

Change 479179 merged by jenkins-bot:
[mediawiki/extensions/TwoColConflict@wmf/1.33.0-wmf.8] Add missing code to not loose edits on the "other" side

https://gerrit.wikimedia.org/r/479179

Mentioned in SAL (#wikimedia-operations) [2018-12-13T19:35:44Z] <dcausse@deploy1001> Synchronized php-1.33.0-wmf.8/extensions/TwoColConflict/: T210501: Add missing code to not loose edits on the other side (duration: 00m 45s)

Lea_WMDE closed this task as Resolved.Dec 18 2018, 12:58 PM
Lea_WMDE claimed this task.
Lea_WMDE moved this task from Demo to Done on the WMDE-QWERTY-Sprint-2018-12-04 board.