Similar idea to T419838, but in this case we want to display edits to pages the user has recently made non-trivial edits to.
Here 'non-trivial' means 'not a revert' and 'not a minor edit'.
See this Slack thread for more on the potential technical approach here, which boiled down to this API call:
const api = new mw.Api();
["Todepond", "Samwalton9"].forEach( user => {
const params = {
"action": "query",
"format": "json",
"list": "allrevisions",
"formatversion": "2",
"arvprop": "flags|tags",
"arvlimit": "200",
"arvuser": user
}
api.get( params ).done( ( data ) => {
data.query[params.list].map( datum => {
if ( !datum ) {
return;
}
if ( datum.revisions.some( revision => {
return !revision.tags.includes("mw-reverted") && !revision.minor;
} ) ) {
api.get( {
"action": "query",
"format": "json",
"list": "recentchanges",
"formatversion": "2",
"rcexcludeuser": user,
"rctoponly": 1,
"rcprop": "ids|tags|title|user",
"rctype": "edit",
"rctitle": datum.title
} ).done( ( rcdata ) => {
rcdata.query.recentchanges.map( rcdatum => {
if ( !rcdatum ) {
return;
}
console.log( user, rcdatum );
} );
} );
}
} );
} );
} );(which would need to be adjusted for a single user - the one viewing the feed)
Acceptance criteria
- Add a URL parameter for also displaying edits to watched pages the user has recently edited in the Review Changes module
- When using the parameter, the Review Changes module displays an approximately 1/3 mix of this signal, high revert risk edits, and watched page edits (we'll do 'real' prioritisation in a separate task)
- There should still be the same number of edits displayed to the user in the module, regardless of how many edits come from each source (e.g. if the user has no watched pages, we should still show 5 edits, a mix of high revert risk and edited pages)
- The same edit should not be shown twice, if it shows up in many sources.