Page MenuHomePhabricator

Special:Block associated IP addresses race condition
Closed, ResolvedPublicBUG REPORT

Description

What is the problem?

When entering temporary account names in the Special:Block user input, there are some circumstances where I can make two lists of associated IPs appear. See screenshot below.

In particular, this happens when I throttle my connection. Therefore, this might affect users with slow connections.

There is a workaround. You can clear both lists by just entering something in the user input field and then enter the username you want.

One thing I notice is that each time I select a temporary user a new .ext-checkuser-tempaccount-specialblock-ips div is created. Perhaps if we added to the same div each time this would be solved.

Steps to reproduce problem

On Firefox (steps for Chrome should be very similar):

  1. Have two temp users, *Unregistered 1 and *Unregistered 11
  2. Go to Special:Block
  3. Open browser's devtools and go to network tab
  4. Click the dropdown called "no throttling" and select "GPRS"
  5. In the username field type *Unregistered 1, wait for a dropdown to appear and press enter
  6. Type 1 (so the input field is now *Unregistered 11) and press enter

Expected behavior: One associated IP address link for *Unregistered 11.
Observed behavior: Two lists, unclear which is for which user.

Environment

Browser: Firefox 102, Chromium 112.
Wiki(s): MediaWiki 1.41.0-alpha (a8ab841) 01:43, 26 April 2023. CheckUser 2.5 (5b750d7) 17:37, 25 April 2023.

Screenshots

specialblock_associated_ips_two_lists.png (340×1 px, 61 KB)

Event Timeline

Change 913940 had a related patch set uploaded (by Func; author: Func):

[mediawiki/extensions/CheckUser@master] SpecialBlock.js: Fix race condition by aborting previous request

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

Change 913940 merged by jenkins-bot:

[mediawiki/extensions/CheckUser@master] SpecialBlock.js: Fix race condition by aborting previous request

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

@dom_walden *Unregistered 2 and *Unregistered 22 are recognized as separate IP addresses in GPRS when typing "2" enter then "22" after. Before moving this to Done, was there anything else that you wanted to check?

Browses: Chrome 112, Firefox112
Skins: Vector 2022, 2010, Minerva, Monobook, Timeless

*Unregistered 2

T335392_IPMasking_GPRS1.png (963×3 px, 262 KB)

*Unregistered 22

T335392_IPMasking_GPRS2.png (914×3 px, 252 KB)

I see what I had to do. The IP address only shows 1 as seen in the video below. I didn't come across any other issues so I will move this to Done.

Browses: Chrome 112, Firefox112
Skins: Vector 2022, 2010, Minerva, Monobook, Timeless

Old patch: 2 different lists

T335392_IPMasking_SpecialBlock_GPRS_Old.png (1×3 px, 401 KB)

Latest patch: 1 list