Problem
If a special form page (like Special:Block) extends FormSpecialPage then users who are partially blocked are also blocked from that Special page.
if ( $this->requiresUnblock() && $user->isBlocked() ) { $block = $user->getBlock(); throw new UserBlockedError( $block ); }
Solution
This should be changed to something like:
if ( $this->requiresUnblock() ) { $block = $user->getBlock(); if ( $block && $block->isSitewide() ) { throw new UserBlockedError( $block ); } }
Affected Special Pages
Important to fix, release blocker for Commons:
Should fix eventually:
- https://test.wikipedia.org/wiki/Special:StructuredDiscussions (not on EN or IT)
- https://test.wikipedia.org/wiki/Special:PasswordReset
- https://test.wikipedia.org/wiki/Special:BotPasswords (admin only)
I have no idea what these are, and they're not on EN or IT Wikipedia. Maybe never fix: