User:Ostrzyciel/GSoC 2020
Appearance
This is the page for documenting my internship at Wikimedia during Google Summer of Code 2020.
Project description
[edit]A valuable addition to the RecentChanges filtering interface would be a filter that would show edits that were "reverted" or "undone". The task is about adding such a filter. We will want to identify the edit that is being reverted and tag it with a "reverted" tag.
We'll need to detect when a revision is being rolled back / undone, and then apply a tag to the revision that it is rolling back. This involves defining a tag and implementing a hook which can apply that tag in certain conditions.
Bi-weekly reports
[edit]- Week 2, May 20th
- Week 4, June 3rd
- Week 6, June 17th
- Week 8, July 1st
- Week 10, July 15th
- Week 12, July 29th
- Week 14, August 12th
- Week 16, August 26th
Work log
[edit]The things I should probably do
[edit]- Done Establish the definition of a "reverted" edit. Initial technical research.
- Done Implement the reverted tag.
- Done Create the EditResult class
- Done Implement marking reverts based on undo and rollback actions
- Done Write tests
- Done Refactor hooks used in PageUpdater to use the new data
- Main core patch
- AbuseFilter
- PageTriage
- Done Update hook's documentation
- Done Fix issues with the undoafter param
- Done Implement SHA1-based revert detection
- Done Fix issues with null edits
- Done Persist EditResult in revert change tags
- Done Implement the reverted edit tag and mark reverted edits
- Done Implement RevisionStore::getRevisionIdsBetween
- Done Save additional information about the revert in the reverted edit tag
- Done Protect the reverted edits feature from abuse
- Done Additional QA for the reverted tag on testwiki
- Done Create the EditResult class
- Done Deprecate RollbackComplete hook
- In progress Write a maintenance script for back-filling the reverted tag
- In progress Write documentation
The things that would be nice to do
[edit]- To do Think about how the docs on dependency injection pattern can be improved
- Done Identify reverts in EventBus data
- To do Update other content management extensions to use the BeforeRevertedTagUpdate hook
- In progress Extension:Approved Revs
- To do Extension:Moderation (? see phab:T259103#6353301)
- In progress Update the Echo extension to use the new functionality and remove redundant code.
- To do Figure out what is going on with the new REST API and its reverted filter on history view.
- The REST API when asked for reverted revisions of wikipedia:Cat returns for example this, not the previous edit, which is clearly wrong and inconsistent with what we're trying to do here. That would probably need to be fixed.