I'm posting this as an explanation rather than as a response to the actual FR or bug report. This question came about because of a discussion in the Teachers' Lounge where a mod asked me why something that appears on their blocklist isn't being blocked. I was able to quickly identify that this was an item that had a tag warning rather than a total block but I wasn't sure what differentiated them so I wanted to better understand this page and the way we block content on sites.
In the full, internal version of SEDE, there is a table for blocklists on sites. This mod page is a subset of the columns in that table. Within the table, we assign types to the different blocks that determine where the regex checks for matches. These are visible in the second column of the question's image, labeled "type". These block types are varied in purpose from "universal" which will check for matches anywhere, to "tag" and "intrinsic tag" which only checks for matches in tags. There are similar block types for titles, post bodies, comments, display names... etc.
The list shown to mods is the site-specific list so it won't show everything that's blocked, only the stuff we special-cased for that site. As such, what it mostly ends up showing is tag blocks and warnings since most sites don't request other things be blocked beyond the network-wide defaults... and even then, many sites don't request those either.
When I went to look at SEDE, my mental image of tag blocks vs warnings was that warnings were kept in a different place or would have a different block type. I was wrong. There's an easily-missed column in the table called MatchAction
. I noticed that some of the items had a 0
in this column and some - specifically this tag block - had a 1
.
I had a theory but had no clue how to check since nothing in SEDE explained what the MachAction
column was used for - so I asked the devs. Turns out my theory was right. If MatchAction
is 0
, it's a block. This is the default if nothing is specified. If it's 1
, it's a warning.
Considering the table name and MatchAction
being the last column in the table, I wonder whether the use of the block table for warnings was added later on rather than from the start (I have no clue whether this is even a reasonable guess).
Regardless, it seems like this is less a "block list" and more a collection of regex rules that can be referenced by the code to receive specific treatment based on the MatchAction
column. I agree that this column should be included on the page in some way. Since we had to check the code to know how the column was used, I'm not sure how we'd indicate this in such a bare-bones page. I suppose we could add some special rules to convert 0
into block
and 1
into warning
in the column.
Regardless, I'll leave that to others to decide. As a note, while I've written this answer, it's largely for information both for mods who might be confused by this but also for us if we do end up making improvements to this page. I can't make any promises that we'll make changes. My understanding is that this page is used very infrequently and there are much higher priority/impact moderator tools we want to make improvements to or bugs we need to fix.
/admin/blocklist?version=2
to the end of their site URL. We are still refining the page overall and some columns were removed that will be added back in a future update. On this version of the page, we've already added a column for warn/block state. Here's the current view on Sci-Fi & Fantasy.