As we get ready for T194697: Multiblocks โ Allow for multiple, simultaneous blocks with different expiration dates., I'm reviewing the includes/block directory and related code, and will link some cleanup commits here.
Description
Details
Status | Subtype | Assigned | Task | ||
---|---|---|---|---|---|
Open | None | T366388 Multiblocks: Edit and Remove a block | |||
Open | None | T349689 Admins should be able to edit an active block without needing to delete it first | |||
Open | None | T204903 Epic โก๏ธ unprioritized Partial Blocks features | |||
Open | BUG REPORT | None | T25310 Global suppression does not work properly when the target has already been locally blocked | ||
Open | None | T194697 Multiblocks โ Allow for multiple, simultaneous blocks with different expiration dates. | |||
Resolved | tstarling | T345683 Review of MediaWiki block-related code |
Event Timeline
Change 955045 had a related patch set uploaded (by Tim Starling; author: Tim Starling):
[mediawiki/core@master] Blocks documentation review
Change 955045 merged by jenkins-bot:
[mediawiki/core@master] Blocks documentation review
Change 958587 had a related patch set uploaded (by Tim Starling; author: Tim Starling):
[mediawiki/core@master] Blocks cleanup
Change 959365 had a related patch set uploaded (by Tim Starling; author: Tim Starling):
[mediawiki/core@master] Add Block::toArray()
Change 959369 had a related patch set uploaded (by Tim Starling; author: Tim Starling):
[mediawiki/core@master] Remove deprecated User properties mOptions, mBlock, mBlockedby and mHideName
Change 959376 had a related patch set uploaded (by Tim Starling; author: Tim Starling):
[mediawiki/core@master] Remove User::CHECK_USER_RIGHTS and User::IGNORE_USER_RIGHTS
Change 959369 merged by jenkins-bot:
[mediawiki/core@master] Remove deprecated User properties mOptions, mBlock, mBlockedby and mHideName
Change 959376 merged by jenkins-bot:
[mediawiki/core@master] Remove User::CHECK_USER_RIGHTS and User::IGNORE_USER_RIGHTS
Change 963673 had a related patch set uploaded (by Tim Starling; author: Tim Starling):
[mediawiki/core@master] Add cache to BlockManager
Change 963674 had a related patch set uploaded (by Tim Starling; author: Tim Starling):
[mediawiki/core@master] Remove Block cache from User
Change 963676 had a related patch set uploaded (by Tim Starling; author: Tim Starling):
[mediawiki/core@master] Hard deprecate User::isBlocked(), isBlockedFrom() and isBlockedFromCreateAccount()
Change 964609 had a related patch set uploaded (by Tim Starling; author: Tim Starling):
[mediawiki/core@master] Add PermissionManager::$blockManager
Change 964610 had a related patch set uploaded (by Tim Starling; author: Tim Starling):
[mediawiki/core@master] Multiblocks preparation in User::getBlock(), PermissionManager and BlockManager
Change 964615 had a related patch set uploaded (by Tim Starling; author: Tim Starling):
[mediawiki/extensions/ProofreadPage@master] PageContentHandlerTest: remove assignment to User::$mHideName
Change 964646 had a related patch set uploaded (by Tim Starling; author: Tim Starling):
[mediawiki/extensions/CheckUser@master] In SpecialCheckUserTest don't have the test sysop block themselves
Change 964646 merged by jenkins-bot:
[mediawiki/extensions/CheckUser@master] In SpecialCheckUserTest don't have the test sysop block themselves
Change 965269 had a related patch set uploaded (by Tim Starling; author: Tim Starling):
[mediawiki/extensions/WikimediaEvents@master] Stop using deprecated method User::isBlockedFromCreateAccount()
Change 964615 merged by jenkins-bot:
[mediawiki/extensions/ProofreadPage@master] PageContentHandlerTest: remove assignment to User::$mHideName
Change 963673 merged by jenkins-bot:
[mediawiki/core@master] Add cache to BlockManager
Change 963674 merged by jenkins-bot:
[mediawiki/core@master] Remove Block cache from User
Change 966315 had a related patch set uploaded (by Tim Starling; author: Tim Starling):
[mediawiki/core@master] AuthManager: deny auto-creation for globally blocked users
Change 966316 had a related patch set uploaded (by Tim Starling; author: Tim Starling):
[mediawiki/extensions/CentralAuth@master] Pass performer parameter to AuthManager::autoCreateUser()
Change 966657 had a related patch set uploaded (by Tim Starling; author: Tim Starling):
[mediawiki/core@master] Migrate callers of deprecated method BlockManager::getUserBlock()
Change 966797 had a related patch set uploaded (by Tim Starling; author: Tim Starling):
[mediawiki/extensions/Wikibase@master] Update mock for new core method BlockManager::getBlock()
Change 964609 merged by jenkins-bot:
[mediawiki/core@master] Add PermissionManager::$blockManager
Change 964610 merged by jenkins-bot:
[mediawiki/core@master] Multiblocks preparation in User::getBlock(), PermissionManager and BlockManager
Change 966315 merged by jenkins-bot:
[mediawiki/core@master] AuthManager: deny auto-creation for globally blocked users
Change 966316 merged by jenkins-bot:
[mediawiki/extensions/CentralAuth@master] Pass performer parameter to AuthManager::autoCreateUser()
Change 965269 merged by jenkins-bot:
[mediawiki/extensions/WikimediaEvents@master] Stop using deprecated method User::isBlockedFromCreateAccount()
Change 963676 merged by jenkins-bot:
[mediawiki/core@master] Hard deprecate User::isBlocked(), isBlockedFrom() and isBlockedFromCreateAccount()
@tstarling Since this change, when attempting to edit as an IP from an IP that is blocked and ip masking is enabled, the block message is duplicated.
It does not seem to matter if the IP is blocked by a local database block, global block, system block or a combination of any of these. Whatever the block error message is for the particular block, it is duplicated.
I can reproduce this locally and on dewiki beta.
Example:
Change 966797 merged by jenkins-bot:
[mediawiki/extensions/Wikibase@master] Avoid mock of deprecated method BlockManager::getUserBlock()
Change 966657 merged by jenkins-bot:
[mediawiki/core@master] Migrate callers of deprecated method BlockManager::getUserBlock()
I think I have done with this for now.
My only observation is that when editing or creating a page or trying to use discussiontools the code of the block message returned by the API is different. Only for anonymous/IP users on a wiki with IP masking enabled. Before it would return blocked. Now it returns blockedtext-tempuser.
I didn't understand this change. I don't see how as a globally blocked IP you could create a temporary account, even before this change.