mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/AbuseFilter.git
synced 2024-11-27 23:40:19 +00:00
f3c87749b8
Why: * AbuseFilter can send AbuseFilter logs to CheckUser if they are not being sent to Special:RecentChanges. * However, if this action is indirectly causing the creation of an account (such as through temporary account auto-creation), the log entry is sent to CheckUser before the temporary account actually exists in the 'user' table. * This causes a CannotCreateActorException, as the performer does not exist on the wiki just yet and therefore cannot have an actor ID until the temporary account is created. * This exception can happen if the AbuseFilter filter only creates a log entry and does not prevent the edit, so would not be necessarily fixed by T334623. * Sending the logs to CheckUser on PRESEND avoids this, as the user will exist by the time that PRESEND is run but still allows any failures to cause an exception which can be seen by the user. What: * Wrap the call to Hooks::updateCheckUserData in AbuseLogger ::insertLocalLogEntries in a DeferredUpdate which is set to run on PRESEND. Bug: T358632 Change-Id: Ia615fce3e26b88d5457ecc01231044b326b79973 |
||
---|---|---|
.. | ||
Api | ||
ChangeTags | ||
Consequences | ||
EditBox | ||
Filter | ||
Hooks | ||
LogFormatter | ||
Pager | ||
Parser | ||
Special | ||
VariableGenerator | ||
Variables | ||
View | ||
Watcher | ||
AbuseFilter.php | ||
AbuseFilterActorMigration.php | ||
AbuseFilterChangesList.php | ||
AbuseFilterPermissionManager.php | ||
AbuseFilterPreAuthenticationProvider.php | ||
AbuseFilterServices.php | ||
AbuseLogger.php | ||
AbuseLoggerFactory.php | ||
ActionSpecifier.php | ||
BlockAutopromoteStore.php | ||
BlockedDomainFilter.php | ||
BlockedDomainStorage.php | ||
CentralDBManager.php | ||
CentralDBNotAvailableException.php | ||
EchoNotifier.php | ||
EditRevUpdater.php | ||
EditStashCache.php | ||
EmergencyCache.php | ||
FilterCompare.php | ||
FilterImporter.php | ||
FilterLookup.php | ||
FilterProfiler.php | ||
FilterRunner.php | ||
FilterRunnerFactory.php | ||
FilterStore.php | ||
FilterUser.php | ||
FilterValidator.php | ||
GlobalNameUtils.php | ||
InvalidImportDataException.php | ||
KeywordsManager.php | ||
RunnerData.php | ||
ServiceWiring.php | ||
SpecsFormatter.php | ||
TableDiffFormatterFullContext.php | ||
TextExtractor.php | ||
ThrottleFilterPresentationModel.php |