Page MenuHomePhabricator

Provide a way for quick revert of all activities of the most recent task editor.
Open, Needs TriagePublic

Description

Couple moments ago we had to deal with vandalism from https://phabricator.wikimedia.org/p/DecodeD/

It took lot of boring time to restore everything to the previous state.

Please provide a way how to rollback such actions quickly and comfortably (cf. MediaWiki's rollback feature).

Thank you

Event Timeline

Suggestion from one chat I had:

I mean even having just a "Revert" button for each change would be easier
Even if you had 50 to click, it's better than manually undoing :)

This is enormously complex to implement in the general case.

For example, user A may edit the description of a task, then user B may edit the description of a task. Then, trying to revert user A's action may require resolving conflicts.

User A may edit the description of a task, triggering a synchronization action to an external system like GitHub after T8783. Trying to revert user A's action may require synchronizing the revert.

User A may edit the description of a task, triggering Herald to take arbitrary actions. These actions may not be reversible.

We currently do a "best effort" cleanup when destroying objects with bin/remove destroy, but we've seen fairly consistent feedback that this is confusing and undesirable (e.g., see T8830). Users often want/expect this feature to rewind time, and don't necessarily come into the process with an expectation that this isn't technically possible. This makes me hesitate to try implementing a "best effort" revert if it is only going to work 80% of the time rather than 99% or 100% of the time.

This comment was removed by eadler.