User story
As a patroller with IP reveal rights, looking at IP addresses on Special:Log, I want to know the IP address the temporary user was using when they performed the action being logged.
Example
The problem is that the page creation log lines all have a log ID, but they don't have log entries in cu_log_event. We could get round it by making further API calls to the endpoint that just returns the most recent IP, if nothing is found by the log endpoint.
Not all log events make it to CheckUser. CheckUser stores events that are saved as recent changes (Hooks::onRecentChange_save). There's no way to tell from the HTML whether a recent change was saved for a given log line.
What can we do?
- We could add another API call. If data are unavailable from the first call, then make the call to get the most recent IP address. However, that would result in an odd appearance for the upload/create example above, where the IP for the upload might not match the IP for the page updated.
- We could leave this as it is in the screenshot above (T326393#9114423), since the IPs for those log events are technically unavailable. If the patroller wants to know the precise IP used for any of the events not stored in CheckUser, they can't, because we didn't store it. (Though in the particular example of create/upload, they can work it out.) They can see IPs associated with revisions on Special:Contributions, history pages, etc.