Page MenuHomePhabricator

Special:Log needs a way to show only activity from humans (Hide bots)
Open, LowPublic

Description

Some bots mass block ed open proxies, used by some trolls to abuse the Wikipedia rules. This blocks, due to their large numbers, impede read the logs to CheckUsers, which analyzes them to check IP addresses of new accounts vandals and trolls. It also prevents ordinary users or admins from exercising control and verification. Need add the feature to the Special:Log „hide bots“, as on the Special:RecentChanges.

Examples

http://ru.wikipedia.org/wiki/Special:Log/block look at QBA-bot

image.png (1,919×1,079 px, 484 KB)

http://en.wikipedia.org/wiki/Special:Log/block look at ProcseeBot
image.png (1,919×1,079 px, 421 KB)

See Also

T13181: Mark bot edits in histories

Details

Reference
bz19322
Related Changes in Gerrit:

Event Timeline

bzimport raised the priority of this task from to Low.Nov 21 2014, 10:37 PM
bzimport set Reference to bz19322.
bzimport added a subscriber: Unknown Object (MLST).
  • Bug 44549 has been marked as a duplicate of this bug. ***

I'm not sure if this is even possible, since the "bot flag" is a temporary thing, only stored in the recentchanges table, and not in the logging table.

Could a column be added to the logging table to hold the bot flag info, such as in the recentchanges table? Granted that wouldn't help in past log entries, but the ones forward would be able to benefit.

Still, this is a major inconvenience when viewing Special:Log, for example, ProcseeBot's blocks clogging the local block log on enwiki.

If it is difficult to change the scheme, then I think it is quite possible to create a DB (something like MediaWiki:Admin-bots) with users which we can to hide.

If it is difficult to change the scheme, then I think it is quite possible to create a DB (something like MediaWiki:Admin-bots) with users which we can to hide.

Its not really that difficult (It adds a bit of difficultly. But on the whole not a huge amount), more that nobody is currently working on it

more that nobody is currently working on it

It is sad, these logs are really unreadable.

Krinkle renamed this task from Hide bots from Logs to Special:Log needs a way to show only activity from humans (Hide bots).Jan 25 2019, 10:00 PM

I think this is related in some fashion to T13181.

I'm not sure if this is even possible, since the "bot flag" is a temporary thing, only stored in the recentchanges table, and not in the logging table.

It's possible to create a flag (logical field) on every log record, that will be "true" for bot actions and "false" for human actions, and set value of this field based on current bot/non-bot status of user, who made an action.

In my opinion, this would also be useful for other journals [e.g., the deletion and protection journal], which sometimes also have bots (for example, bots that protect the main page templates and bots that delete references from draft).

neriah changed the task status from Open to In Progress.Mar 18 2026, 8:22 PM
neriah claimed this task.
neriah raised the priority of this task from Low to Medium.

Change #1254265 had a related patch set uploaded (by Neriah; author: Neriah):

[mediawiki/core@master] logging: Add log_bot column and "Hide bots" filter to Special:Log

https://gerrit.wikimedia.org/r/1254265

(as the current patch proposes a schema-change)

Krinkle subscribed.

If I understand correctly, MediaWiki does not use the bot flag at all for log actions today. Which means this is less about whether we persist the data from recentchanges into logging, but also whether we actualy utilize it for recentchanges. If true, then we should think about T18816 first before we do this. From a scale perspective, T18816 should be trivial.

As for this task, adding a column to a table the size of logging is not trivial. So after T18816 is done, we'll want some input from DBAs on the best way to implement this in the database schema before spending time on the details of how the column would be used in the interface (which is the easy part, relatively speaking).

The straight-forward solution would be to add a log_bot column, but that may be too costly. I'll let DBAs comment on that.

An alternative idea might be to use a link table, perhaps called change_bot. This would be like change_tag and associate by log_id to a tinyint/boolean. This table could then be used for revisions as well. See T13181: Mark bot edits in histories which has stagnated for the same reason, because adding columns to the revision table is expensive.

Another idea might be to literally use change_tag for this purpose and introduce a hidden "bot" tag for this purpose. One might, over time, perhaps even migrate rev_minor_edit there as well as another such hidden tag, which would let us drop a column from the revision table.

Unfortunately it's not as simple as adding a column, otherwise we would have done it long time ago. For example, there are many filters on Special:Log that wouldn't be able to use the filter if we implement this. e.g. logging based on action/type which could make the queries extremely slow and bring down everything. Also not that logging table is overly large and needs some clean up before we can add more columns/indexes to it.

Unfortunately it's not as simple as adding a column, otherwise we would have done it long time ago. For example, there are many filters on Special:Log that wouldn't be able to use the filter if we implement this. e.g. logging based on action/type which could make the queries extremely slow and bring down everything. Also not that logging table is overly large and needs some clean up before we can add more columns/indexes to it.

Would there similarly be an issue with hiding actions that were explicitly marked as bot edits (T18816)? That is, if it becomes possible to pass bot: true in API calls, would this prevent the addition of a hide bot function in Special:Log?

As long as it's stored and queried only from recentchanges table, I don't see a problem with it.

neriah changed the task status from In Progress to Open.May 17 2026, 12:24 PM
neriah removed neriah as the assignee of this task.
neriah lowered the priority of this task from Medium to Low.

I'm abandoning work on this for now.

Change #1254265 abandoned by Neriah:

[mediawiki/core@master] logging: Add log_bot column and "Hide bots" filter to Special:Log

Reason:

T21322#11928791

https://gerrit.wikimedia.org/r/1254265