Page MenuHomePhabricator

Show IPInfo popup for temporary accounts
Closed, ResolvedPublic

Description

From the parent task:

Display the IP Info popup next to the "Show IP" button (if present) on wiki pages. The information in the popup is for the revision/log entry's IP. If we don't have that then the data is for the most recently used IP address.

image.png (748×1 px, 350 KB)

Acceptance criteria

  • The popup is added in the same places as the popup for IP addresses
  • On-wiki information (contributions, blocks) is for the temporary account, not the IP address
  • The IP information is for the same IP address that's revealed by the "reveal IP" button for the same row

Event Timeline

Change #1056963 had a related patch set uploaded (by Máté Szabó; author: Máté Szabó):

[mediawiki/extensions/IPInfo@master] Show IPInfo popup for temporary accounts

https://gerrit.wikimedia.org/r/1056963

Change #1057027 had a related patch set uploaded (by Máté Szabó; author: Máté Szabó):

[mediawiki/extensions/IPInfo@master] Pass a full UserIdentity to InfoRetrievers

https://gerrit.wikimedia.org/r/1057027

Change #1057030 had a related patch set uploaded (by Máté Szabó; author: Máté Szabó):

[mediawiki/extensions/IPInfo@master] Convert InfoRetriever tests into unit tests

https://gerrit.wikimedia.org/r/1057030

Change #1057032 had a related patch set uploaded (by Máté Szabó; author: Máté Szabó):

[mediawiki/extensions/IPInfo@master] Make ContributionInfoRetriever work for temporary users

https://gerrit.wikimedia.org/r/1057032

Change #1057035 had a related patch set uploaded (by Máté Szabó; author: Máté Szabó):

[mediawiki/extensions/IPInfo@master] Support temporary users in BlockInfoRetriever

https://gerrit.wikimedia.org/r/1057035

Change #1067367 had a related patch set uploaded (by Máté Szabó; author: Máté Szabó):

[mediawiki/extensions/IPInfo@master] Show IPInfo popup for temporary users

https://gerrit.wikimedia.org/r/1067367

Change #1067367 merged by jenkins-bot:

[mediawiki/extensions/IPInfo@master] Show IPInfo popup for temporary users

https://gerrit.wikimedia.org/r/1067367

  • The IP information is for the same IP address that's revealed by the "reveal IP" button for the same row

@mszabo I am finding that it only returns information for the most recently used IP by the temp user. Is that correct?

  • The IP information is for the same IP address that's revealed by the "reveal IP" button for the same row

@mszabo I am finding that it only returns information for the most recently used IP by the temp user. Is that correct?

Nah, that's a bug. I will make a patch to fix that.

Change #1068771 had a related patch set uploaded (by Máté Szabó; author: Máté Szabó):

[mediawiki/extensions/IPInfo@master] Allow retrieving IP data per log entry and revision

https://gerrit.wikimedia.org/r/1068771

Change #1068772 had a related patch set uploaded (by Máté Szabó; author: Máté Szabó):

[mediawiki/extensions/IPInfo@master] Display IP info matching revisions and log entries

https://gerrit.wikimedia.org/r/1068772

  • The IP information is for the same IP address that's revealed by the "reveal IP" button for the same row

@mszabo I am finding that it only returns information for the most recently used IP by the temp user. Is that correct?

Nah, that's a bug. I will make a patch to fix that.

Thanks.

I wonder about Special:Contributions. We use the revision ID of the first edit listed, which is not necessarily the user's latest edit. For example, it can change if the results are paginated. Do we want different IPInfo results per page for the same temp user, or for it always to be the same?

This might be a broader design question. Perhaps a discussion for T349715.

  • The IP information is for the same IP address that's revealed by the "reveal IP" button for the same row

@mszabo I am finding that it only returns information for the most recently used IP by the temp user. Is that correct?

Nah, that's a bug. I will make a patch to fix that.

Thanks.

I wonder about Special:Contributions. We use the revision ID of the first edit listed, which is not necessarily the user's latest edit. For example, it can change if the results are paginated. Do we want different IPInfo results per page for the same temp user, or for it always to be the same?

This might be a broader design question. Perhaps a discussion for T349715.

I think the assumption there is to have it always show the latest IP info, so that needs fixing too. If the "latest IP" changed depending on which page you were viewing, it'd be confusing, since the fact the latest IP is determined via the topmost revision is an implementation detail.

Change #1068771 merged by jenkins-bot:

[mediawiki/extensions/IPInfo@master] Allow retrieving IP data per log entry and revision

https://gerrit.wikimedia.org/r/1068771

Change #1068772 merged by jenkins-bot:

[mediawiki/extensions/IPInfo@master] Display IP info matching revisions and log entries

https://gerrit.wikimedia.org/r/1068772

I have checked that the correct IP is being looked up for revisions, archived revisions and log entries (for the performer).

I notice that a lot of my log entries where a temp user is the performer is for autocreating accounts. These are not stored in cu_log_event, so we cannot get the IP for them. I wonder if this should fall back to using the most recent IP address.

I briefly retested IPInfo for anonymous/IP users.

I assume this change has not affected anything related to permissions.

Test environment: local docker CheckUser 2.5 (51ced71) 03:03, 5 November 2024.

I notice that a lot of my log entries where a temp user is the performer is for autocreating accounts. These are not stored in cu_log_event, so we cannot get the IP for them. I wonder if this should fall back to using the most recent IP address.

Should we store this information in cu_log_event? cc @Dreamy_Jazz @mszabo

I notice that a lot of my log entries where a temp user is the performer is for autocreating accounts. These are not stored in cu_log_event, so we cannot get the IP for them. I wonder if this should fall back to using the most recent IP address.

Should we store this information in cu_log_event? cc @Dreamy_Jazz @mszabo

These log events are not sent to Special:RecentChanges, which is why CheckUser creates a private log for them. We could consider sending it to cu_log_event if a logging table row does exist.