Page MenuHomePhabricator

Revert notifications in Echo when "non-edit" contributions are in page history
Open, MediumPublic

Description

From enwiki: https://en.wikipedia.org/w/index.php?title=Wikipedia:Village_pump_(technical)&oldid=640789886#Stopping_unnecessary_notifications

  • User 1 edits a page
  • User 2 protects it
  • User 3 reverts User 1's edit

As the protection shows up as an "edit" in the page history, User 2 gets a "you have been reverted..." notification. Is it possible to suppress these notifications unless the user made a "real" edit and not a pseudo-edit?

See also T56007: "reverted"-type notifications should be based on the actual page content

Event Timeline

agray raised the priority of this task from to Needs Triage.
agray updated the task description. (Show Details)
agray added a project: Notifications.
agray subscribed.
agray renamed this task from "Revert" to Revert notifications in Echo when "non-edit" contributions are in page history.Jan 3 2015, 12:54 PM
agray set Security to None.

This isn't limited to null revisions. The following sequence will also trigger the bug:

  • Vandal1 vandalizes a page
  • Vandal2 vandalizes the same page
  • Patroller1 reverts Vandal2's edits but doesn't notice Vandal1's edits
  • Patroller2 later uses Twinkle's "Restore this version" link to go back to the revision before Vandal1 edited
  • Patroller1 gets a notification that Patroller2 reverted their edit

This isn't limited to null revisions. The following sequence will also trigger the bug:

  • Vandal1 vandalizes a page
  • Vandal2 vandalizes the same page
  • Patroller1 reverts Vandal2's edits but doesn't notice Vandal1's edits
  • Patroller2 later uses Twinkle's "Restore this version" link to go back to the revision before Vandal1 edited
  • Patroller1 gets a notification that Patroller2 reverted their edit

As annoying as that situation is and the knee jerk reaction I'd expect from patroller 1, that notification would be expected by me as reverting vandalism is an actual content change.

I'd agree with Technical13 - in general terms, it's reasonable for the notice to come up if an actual *edit* has been reverted, as it'd be very hard for the system to distinguish between ones someone needs to know about and ones they don't.

For example: perhaps the "Vandal1" in this example was restoring an edit of Patroller1's, Vandal2 changes it, and Patroller1 is deliberately reverting back to their chosen version. Patroller2 reverts back to the original status quo (they disagree with both sets of changes). If I were Patroller1 here, I'd contextualise this as a revert of my edit.

Safer to allow some false positives for these and always notify if the page has actually been edited.

This isn't limited to null revisions. The following sequence will also trigger the bug:

  • Vandal1 vandalizes a page
  • Vandal2 vandalizes the same page
  • Patroller1 reverts Vandal2's edits but doesn't notice Vandal1's edits
  • Patroller2 later uses Twinkle's "Restore this version" link to go back to the revision before Vandal1 edited
  • Patroller1 gets a notification that Patroller2 reverted their edit

As annoying as that situation is and the knee jerk reaction I'd expect from patroller 1, that notification would be expected by me as reverting vandalism is an actual content change.

It's a content change, but it's not a revert. I'll use that example, and assign letters, so "A" is one particular full page text,"B" is another full page text, etc.

Whatever happened before (last page text before Vandal1 gets involved) - A
Vandal1 vandalizes a page - B
Vandal2 vandalizes the same page - C
Patroller1 reverts Vandal2's edits but doesn't notice Vandal1's edits - B (this is a revert (B => C => B), and should clearly get a notification, despite the fact that the page is still in a vandalized state)
Patroller2 later uses Twinkle's "Restore this version" link to go back to the revision before Vandal1 edited - A

Patroller1 gets a notification that Patroller2 reverted their edit - If this gets a notification, it seems like a bug. The sequence was C => B => A, which is not a revert.

Echo sends the notification to the editor who made wpUndidRevision which is set by the tool used (Twinkle, etc).1 Maybe we can find a way to identify those pseudo-edits, and avoid sending notifications if it's the case. To achieve this, we can add a permanent flag like the minor flag to those edits. However, this also mean changing the database schema.