it seems that AbuseFilter sends private event entries to CheckUser when a match occurs before the temporary account is created for an edit. This causes an exception because CheckUser needs the temporary account to exist and also to have an actor ID. Found when testing my patch for T357615.
Steps to replicate the issue
- Install AbuseFilter and CheckUser
- Create a filter that targets all edits (for example the conditions are action = 'edit') but the filter just is set to log
- Enable temporary accounts on a wiki
- While logged out, try to make an edit to a page that is not protected
What happens?:
The edit fails, no temporary account is created for the user, and an exception is shown:
What should have happened instead?:
The edit should have succeeded as the filter did not block the edit
Software version
CheckUser 2.5 (bc635d6) 07:19, 27 February 2024. Abuse Filter – (e530aed) 23:50, 27 February 2024
QA Results - Local
AC | Status | Details |
---|---|---|
1 | ✅ | https://phabricator.wikimedia.org/T358632 here |