Previously, Action::requiresUnblock() was only called in
Action::checkCanExecute() which was called by Action::show().
As of 478056 <https://gerrit.wikimedia.org/r/c/mediawiki/core/+/478056>,
Action::requiresUnblock() is now called from
Title::getUserPermissionsErrors() and Title::userCan().
This is being done to determine if a blocked user is blocked from
performing an action or not.
This change is being made without deprecation, because it is not a large
enough change in logic to justify deprecating the public methods on Title.
If you have a class that extends Action, or one of it’s subclasses
(FormAction or FormlessAction) you should ensure that the requiresUnblock()
method returns the proper value (the default is true).
Thalia Chan performed an audit of all of the classes that extend Action and
all of them look correct (or have been fixed):
https://phabricator.wikimedia.org/T211048#4795558
This issue has exposed a larger issue that is open for discussion:
https://phabricator.wikimedia.org/T212341
Thank you!