Page MenuHomePhabricator

The mass locker button shown on the 'get users' screen can produce a URL too long to be accepted by the browser
Closed, ResolvedPublicBUG REPORT

Description

Steps to replicate the issue (include links if applicable):

  • Go to Special:CheckUser and run a check using the 'Get users' checktype
  • Select the accounts
  • Use the link that takes the user to the multilock tool

What happens?:
The Multilock tool can fail to load because the URL is too long due to the number of accounts

What should have happened instead?:
The Multilock tool link should be generated such that the accounts included in the URL are limited so the length of the URL never exceeds the limit. This could be achieved through multiple multi lock links or by providing a link to limit the results based on keeping the URL close but under the limit.

Software version (skip for WMF-hosted wikis like Wikipedia):
Checkuser on the master branch

Other information (browser name/version, screenshots, etc.):
Mostly relevant for loginwiki where it's one result per user which means that the DB query for the 'Get users' checktype could load a maximum of 5,000 users. Problems have been reported at around 100 accounts which means the current limits available for the 'Get users' screen won't work in all cases. Just adding much smaller limits is going to make whether the link works or not a guessing game where the steward wanting to use the multilock tool has to guess based on the length of the usernames shown in the results. This guessing could have to change page by page too.

A custom solution for loginwiki or for any user that has the multilock JS tool loaded could be that the user is presented with the option to limit the results by a variable limit that is the most users shown while keeping the link working. The software would then determine the best limit for each page of results by taking into account the length of the account names. Also for just loginwiki this adaptive limit could be set as the default (perhaps via a config).

Alternatively this could be done client side where the multi lock tool that generates the link limits the URLs it generates to 2,000 characters and then shows multiple URLs in a list.

Event Timeline

Dreamy_Jazz updated the task description. (Show Details)

Change 819059 had a related patch set uploaded (by Dreamy Jazz; author: Dreamy Jazz):

[mediawiki/extensions/CheckUser@master] Split the MultiLock links if the length exceeds 2000 characters

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

What the links look like if they are split in the above patch:

image.png (445×1 px, 29 KB)

Change 819059 merged by jenkins-bot:

[mediawiki/extensions/CheckUser@master] Split the MultiLock links if the length exceeds 2000 characters

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

Change merged (thanks to TNT) so this is now done.