Page MenuHomePhabricator

Don't list closed wikis and metawiki in Special:CentralAuth's "wikis exempt from global block"-section
Closed, ResolvedPublic

Description

New task per T422220#11796001

  • When globally blocking an account, wikis can disable the block locally. Special:CentralAuth will show this in a section "Wikis exempt from global block".
  • Recent changes introduced by T422220: Access of global_block_whitelist table on closed wikis through Special:CentralAuth causes exceptions led to "Wikis exempt from global block" also showing closed wikis -> global blocks no longer apply to those wikis due to T420062: Uninstall PSI extensions on closed wikis which are not needed.
  • The same changes in T422220 also led to Metawiki appearing as a wiki where global blocks don't apply. That's correct, but (except for occasional confusion by less experienced users) well known and documented – there's no need to suddenly show a large box explaining this on a special page which is already quite crowded.
  • Please restore the previous state of Special:CentralAuth and only show "Wikis exempt from global block" if the block has been disabled by local admins, don't show closed wikis and metawiki.

Screenshot 2026-04-07 at 20.23.28.png (868×684 px, 131 KB)

Screenshot 2026-04-07 at 20.24.54.png (1,486×1,220 px, 180 KB)

Event Timeline

We have some options:

  1. We hide this on Special:CentralAuth for all users
  2. We hide this on Special:CentralAuth for Stewards only
  3. We hide this on Special:CentralAuth just for WMF wikis

Any thoughts on the above ideas?

Thanks for laying out the options. To me option 1 (filtering for all users) makes the most sense as these entries aren't actionable for anyone.

Looking at the code, the root cause seems to be that getLocalStatusInfo() returns a truthy array for wikis in $wgGlobalBlockingWikisWhereGlobalBlocksDoNotApply, which CentralAuth then displays as a real exemption. Making doGlobalBlocksApplyOnWiki() public and checking it in CentralAuth before calling getLocalStatusInfo() could be a clean fix. Happy to help with a patch if that direction works for you.

Looking at the code, the root cause seems to be that getLocalStatusInfo() returns a truthy array for wikis in $wgGlobalBlockingWikisWhereGlobalBlocksDoNotApply, which CentralAuth then displays as a real exemption.

Yes, this is because in the other ticket it was suggested to do that so that was just added by me.

It should be possible to make that method public and then use it in MediaWiki-extensions-CentralAuth depending on the finalised direction

Change #1269977 had a related patch set uploaded (by Dreamy Jazz; author: Dreamy Jazz):

[mediawiki/extensions/CentralAuth@master] Special:CentralAuth: Hide local status on wikis without global blocks

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

Change #1269971 had a related patch set uploaded (by Dreamy Jazz; author: Dreamy Jazz):

[mediawiki/extensions/GlobalBlocking@master] Make GlobalBlockLocalStatusLookup::doGlobalBlocksApplyOnWiki public

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

Change #1269971 merged by jenkins-bot:

[mediawiki/extensions/GlobalBlocking@master] Make GlobalBlockLocalStatusLookup::doGlobalBlocksApplyOnWiki public

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

Change #1269977 merged by jenkins-bot:

[mediawiki/extensions/CentralAuth@master] Special:CentralAuth: Hide local status on wikis without global blocks

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