Summary
The AbuseFilter extension provides a custom log page at Special:AbuseLog which does not currently display "Show IP" links for temporary accounts that caused a log entry. We should re-enable the "Show IP" button after fixing it to show the IP associated with the specific AbuseFilter log.
Background
- We disabled the "Show IP" button Special:AbuseLog in 316f316b16b58f5e35ffb9c73c1c2a2509277e31 because it did not work as intended, only showing the last used IP address
- This should instead have shown the IP for the specific abusefilter log entry
- We did not work on fixing this at the time, and it has now been raised as something that patrollers would like to be able to do
- This is separate from the user_unnamed_ip variable work, because the "Show IP" button would apply to any abusefilter log entry performed by a temporary account
- This would be similar to the "Show IP" buttons on Special:Log
User story
- As a patroller, I review the contributions by a temporary account
- I see no contributions in Special:Contributions, but see actions that were prevented by AbuseFilter in Special:AbuseLog
- This prevented action was abusive and requires action (such as a block)
- I want to see the IP address used to perform the prevented actions, to find other temporary accounts which may have performed similar abuse
Technical notes
- The IP reveal REST APIs currently cannot work with these actions because these logs are not stored in the logging table, instead being stored in the abuse_filter_log table
- We need to make a REST API endpoint that accepts abuse_filter_log IDs and returns the IP associated with them (obtained from the afl_ip_hex column)
- CheckUser has these entries sent to be stored in the cu_private_event table
- However, we cannot query this table by the AbuseFilter log ID
- We might have to instead query abuse_filter_log directly from CheckUser
- Note this task has been split in two subtasks (one for the frontend and one for the backend):
Acceptance criteria
- Special:AbuseLog shows a "Show IP" button next to AbuseFilter log entries that were performed by temporary accounts