Page MenuHomePhabricator

Allow FlaggedRevs page stability to be set programmatically based on edit quality
Open, Needs TriagePublicFeature


Currently FlaggedRevs supports two modes: either all pages have a stable version (that is, readers who are not logged in see the last reviewed revision instead of the current one), or having stable versions is a protection-like functionality that needs to be enabled manually on a per-page basis. The first causes huge backlogs and confuses new editors and possibly harms retention; the second does not really help with vandalism. Ideally we should fall back to the stable version only when we suspect the current version is problematic.

To support that, FlaggedRevs should provide hooks or a similar mechanism for other extensions to trigger stable mode on suspicious edits. Potential callers include ORES and AbuseFilter. See also T203127: Implement "last known good version" API. (Note though that FlaggedRevs would cause the page to fall back to the last reviewed revision, not the last revision before the suspicious edit. That might or might not be preferable, but would be a lot more complicated to do.)
Some communities [citation needed] already do something similar with bots (see also T57081: Implement support for Flagged Revisions in Pywikibot), but it would be nice if it could be built into the software.

One potential complication is that the check might be too slow to be done before save (that is probably the case with ORES) so the traditional hook model might not work, and some kind of jobqueue-based approach might be needed instead.

Event Timeline

Some communities [citation needed] already do something like this.

Yeah, VakauttajaBot (code) in finnish wikipedia adds 24hour flagged revs protection triggered by ORES/Abuse Filter/some other rules. Idea itself is pretty solid and working. The biggest problem is that currently, it adds a new line to pages history and after this undo/revert button will try to revert log action. To make this more nice for recent changes patrollers there is a delay between problematic edit and stabilization so they have time to revert it. (see. [[phab:T169457]]).

Thanks! I couldn't remember where I heard about that.

I started to play around with a related project last year. Unfortunately, I did not yet find the time to push this further, but I'd be interested to collaborate. There are also some Phabricator tasks around, which I will have to dig out.

Tacsipacsi changed the subtype of this task from "Task" to "Feature Request".
Tacsipacsi subscribed.