Page MenuHomePhabricator

Step 1: Error messages: Edit conflict (on save)
Closed, ResolvedPublic8 Estimated Story Points

Description

As an editor I want to be notified about edit conflicts in order to deal with them effectively.

Problem:
While someone is trying to make an edit in the bridge, someone else might make an edit to the same data, leading to an edit conflict. We need to handle this edit conflict. The generic save error screen (T248087) is not suitable for this: in this case, it doesn’t make sense to retry the save, and going back won’t fix anything either.

Screenshots/mockups

Desktop

Mobile

Please find design specs in this Figma artboard.

BDD
GIVEN a user is trying to edit a value in the bridge
AND someone else edited the same data
WHEN the user tries to save the edit
AND the API returns an edit conflict
THEN the edit conflict error screen is shown

GIVEN the edit conflict error screen is shown
WHEN the user clicks the reload button
THEN the page is purged in the background
AND the whole page reloads

Acceptance criteria:

  • edit conflict is detected and handled via error screen
  • clicking “reload page” reloads the whole page (bridge is no longer shown)
  • page is purged in the background as soon as the edit conflict is detected (but we don’t wait for the purge to complete)
  • The whole page reloads when clicking the X (same behavior as clicking the "reload page" button)

Event Timeline

Charlie_WMDE updated the task description. (Show Details)Feb 6 2020, 9:44 AM
Charlie_WMDE renamed this task from Error messages: on save. solvable. no report (3.5) to Error messages: on save. solvable. no report. edit conflict (6).Feb 12 2020, 5:34 PM
Charlie_WMDE updated the task description. (Show Details)
Charlie_WMDE moved this task from Backlog to Ready for story writing on the Wikidata-Bridge board.
Addshore moved this task from incoming to in progress on the Wikidata board.Feb 27 2020, 11:03 PM
darthmon_wmde renamed this task from Error messages: on save. solvable. no report. edit conflict (6) to Step 1: Error messages: on save. solvable. no report. edit conflict (6).Mar 18 2020, 4:29 PM
Sarai-WMDE renamed this task from Step 1: Error messages: on save. solvable. no report. edit conflict (6) to Step 1: Error messages: Edit conflict (on save).Mar 19 2020, 3:47 PM
Sarai-WMDE updated the task description. (Show Details)
Sarai-WMDE updated the task description. (Show Details)
Sarai-WMDE updated the task description. (Show Details)Mar 19 2020, 3:53 PM
Charlie_WMDE removed Charlie_WMDE as the assignee of this task.Mar 23 2020, 11:46 AM
Sarai-WMDE updated the task description. (Show Details)Mar 24 2020, 10:49 AM
Sarai-WMDE updated the task description. (Show Details)Mar 31 2020, 10:15 AM
Lydia_Pintscher set the point value for this task to 8.
Pablo-WMDE added a comment.EditedApr 29 2020, 11:10 AM

From the discussion during task break down (sorry if we talked about this before): "when clicking the X the Bridge is closed" is surprising because on a successful save even the X does a reload of the page (in order for the user to see the new content). Should this not also be what we strive for in handling an edit conflict (arguably, the new content will not be theirs but the one their edit was in conflict with)?

/cc @Lydia_Pintscher @Charlie_WMDE

Hmmm that's a good point. I don't think we've noticed/discussed this inconsistency. Charlie, what do you say?

yes, that actually makes a lot of sense. looks like i overlooked this. should i add it to the ACs or should i make an extra ticket for this?

should i add it to the ACs or should i make an extra ticket for this

Amending the AC is fine IMO - we have the tools at hand to facilitate what needs to happen so it should not really impact complexity. Please add a NOTE: changed since initial task break down!, so we don't miss it when picking it up.

Charlie_WMDE updated the task description. (Show Details)May 5 2020, 9:02 AM
Pablo-WMDE updated the task description. (Show Details)May 13 2020, 10:57 AM

ello! How do i test for this? I tried opening the bridge in two tabs and making an edit in one of them, saving, then making an edit in the second one and saving again. both worked without a problem.

The only way we’ve found so far is to go to the item in the second tab and completely remove the statement that’s being edited in the first tab. (See also T252433, especially the “problem” section.)

Charlie_WMDE closed this task as Resolved.May 20 2020, 9:12 AM
Charlie_WMDE claimed this task.
Charlie_WMDE moved this task from Verification to Done on the Wikidata-Bridge-Sprint-20 board.

yay! looks good \o/