Page MenuHomePhabricator

Bot edits on Wikidata should be hidden in other project's recent changes
Open, Needs TriagePublic

Description

In the new recent changes interface I have selected both "human" and "wikidata" filters on ro.wp and yet I still see robot edits from Wikidata (e.g. user GZWDer (flood)). This is polluting the feed and making it hard to monitor recent changes.

Upstream tickets:

Event Timeline

Strainu created this task.Mar 3 2020, 8:33 AM
Restricted Application added projects: Growth-Team, Wikidata. · View Herald TranscriptMar 3 2020, 8:33 AM
Restricted Application added a subscriber: Aklapper. · View Herald Transcript
Strainu updated the task description. (Show Details)Mar 3 2020, 8:46 AM

Actually, the bot does not use bot flag on Wikidata. It could be a problem with QuickStatements.

Confirmed - on rowiki RecentChanges 'Human (not bot)' filter with wikidata displays GZWDer (flood) edits marked as made by Human (not bot). The issue is not specific to new RC filters - opting to non-Javascript based filters will show the same result.

Checking db - GZWDer (flood) has both types of records in recentchanges table - bot and not-bot. Such discrepancy is not present for other bots, e.g. for ListeriaBot. All entries in recentchanges table for ListeriaBot are marked as made by bot (and accordingly on RecentChanges page).

@Bugreporter could you please take a look at your code? It would really help with patrolling if the bot's changes are properly marked as bot-made.

Magnus added a comment.Mar 4 2020, 1:27 PM

QuickStatements edits as the user who submitted the job, using OAuth, as is the WMF-preferred method for tools.

Do you set the bot flag in API?

@Magnus ^^

Sorry for nagging you folks, but patrolling wikidata is becoming increasingly important and doing so from my home wiki is just so much easier (if it works). I would very much appreciate it if we could find a solution to this problem in a timely manner.

Looks like QS sets bot=1 for synchronous but not for asynchronous batches.

QuickStatements edits as the user who submitted the job, using OAuth, as is the WMF-preferred method for tools.

I see no problem with this.

Jarekt added a subscriber: Jarekt.Apr 20 2020, 8:04 PM

I am using QuickStatements on Commons to add statements to Structured data on Commons (see here), and I am having the same issue, that despite of being logged in as a bot, my edits are not tagged as bot edits. A lot of people (in several languages) contacted me asking about how to hide my edits. I am planning to use QuickStatements much more on Commons, but I do not want to antagonize other users. Please find a solution to this issue.

I just got another frustrated message from someone whose watchlist I flooded. Please resolve this issue.

Cparle added a subscriber: Cparle.Apr 29 2020, 4:56 PM

So @matej_suchanek you're suggesting the problem is with the bot flag for async batches in QuickStatements?

It is my suspicion, yes. But I cannot be certain due to various networking layers, authorization etc. The edits I used as evidence were purged from recent changes but it shouldn't be problem for anybody with a bot account to run a (single line) batch synchronously and asynchronously in sandbox and use the watchlist to prove it.

Another evidence: it is only possible to run async batches on Commons. But there are no (recent) bot-flagged edits on Commons using QuickStatements.

If you look at this query you can see my resent edits. In QuickStatements I do not think are any tweakable parameters to inform QuickStatements to mark edits with bot flag, so the code must be taking care of that. I assume that since bot flag is an edit level setting (as opposed to account level setting) and QuickStatements is not marking it correctly, then the the issue need to be fixed in QuickStatements.

By the way, in case of QuickStatements are what you call synchronous and asynchronous batches, the batches you run with "run" (off your computer) and "run in background" commands?

Created https://github.com/magnusmanske/quickstatements_rs/issues/2.

By the way, in case of QuickStatements are what you call synchronous and asynchronous batches, the batches you run with "run" (off your computer) and "run in background" commands?

Yes, this is what I mean.