Page MenuHomePhabricator

Some special pages are not properly displaying parenthesis and other seperators around user links
Closed, ResolvedPublic

Description

Today, after executing a CheckUser check at pt.wikipedia, I noticed that the parenthesis were not being displayed around the user links (USER talk contribs block INFO instead of USER (talk contribs block) INFO). After mentioning this on #wikimedia-tech on IRC, @Krenair said that it was not being displayed at Special:ListUsers too (at en.wikipedia). @Reedy tried to figure out what could have been causing it, but didn't find anything. After I mentioned that on the 6th it was being displayed, he mentioned that it probably is due to something that changed on .25.

Thanks in advance!

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald TranscriptApr 11 2019, 9:22 PM
Reedy triaged this task as High priority.Apr 11 2019, 9:22 PM
Reedy added a comment.Apr 11 2019, 9:25 PM

Ping T206679, but not really blocking (it's annoying but not overly broken)

Notes from T220885

The following separators appear to be missing throughout the output:
word-separator
parentheses
pipe-separator

Xaosflux renamed this task from CU and special pages are not properly displaying parenthesis around user links to CU and special pages are not properly displaying parenthesis and other seperators around user links.Apr 13 2019, 3:43 PM

As was noted in T220885 some special pages (e.g. https://test.wikipedia.org/wiki/Special:RecentChanges) are still using the separators.

Risker added a subscriber: Risker.Apr 13 2019, 4:35 PM
Ammarpad renamed this task from CU and special pages are not properly displaying parenthesis and other seperators around user links to Some special pages are not properly displaying parenthesis and other seperators around user links.Apr 13 2019, 4:39 PM

Notes from enwiki discussion:

@Xaosflux: Looks like gerrit:499364 broke it by changing a method (Linker::userToolLinksRedContribs()) used by more than just the one special page that patch was trying to change. I'm not at liberty to copy that into Phabricator at the moment, if you could do so that might help. You might also CC the people involved with that change. Anomie⚔ 23:13, 13 April 2019 (UTC)

Anomie added a subscriber: Anomie.Apr 15 2019, 11:10 AM

Just wondering - is anyone working on this? Has anyone been able to validate what the breaking change was?

Just wondering - is anyone working on this? Has anyone been able to validate what the breaking change was?

I'm guessing not, as it would have been identified/reverted..

DoRD added a subscriber: DoRD.Apr 18 2019, 11:44 AM
DoRD added a comment.Apr 19 2019, 12:36 PM

I noticed that in CheckUser results, entries for IP addresses appear in the correct format, with parentheses and pipe characters, but entries with account names are missing those characters.

I'm sure some of these tags are wrong, but this is just being ignored after recently being broken and I'm trying to get someone's attention.

As @matej_suchanek noted, the breaking change is indeed 5040b3f680. I've tried to revert that change locally, everything started to work suddently. I can try to figure out which part of this change exactly was wrong.

Reedy added a comment.Apr 19 2019, 1:47 PM

I maybe did in T221253.

Yay dupe tasks ;)

As @matej_suchanek noted, the breaking change is indeed 5040b3f680. I've tried to revert that change locally, everything started to work suddently. I can try to figure out which part of this change exactly was wrong.

Just revert it all then?

I guess no one pinged @Jdlrobson ?

Change 505242 had a related patch set uploaded (by Urbanecm; owner: Urbanecm):
[mediawiki/core@master] Set $useParentheses to true in userToolLinksRedContribs

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

Change 505242 had a related patch set uploaded (by Urbanecm; owner: Urbanecm):
[mediawiki/core@master] Set $useParentheses to true in userToolLinksRedContribs

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

@Reedy This might be an easier solution. I'm not sure if this isn't breaking something else, but according to my local testing, it isn't causing anything like double parentheses or similar.

Reedy added a comment.Apr 19 2019, 2:05 PM

Change 505242 had a related patch set uploaded (by Urbanecm; owner: Urbanecm):
[mediawiki/core@master] Set $useParentheses to true in userToolLinksRedContribs

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

@Reedy This might be an easier solution. I'm not sure if this isn't breaking something else, but according to my local testing, it isn't causing anything like double parentheses or similar.

Well, that looks a lot like a partial revert to me... :)

But if it's enough to solve the problem without nuking the whole patch, seems a better way forward to me

Reedy added a comment.Apr 19 2019, 2:50 PM

Change 505242 had a related patch set uploaded (by Urbanecm; owner: Urbanecm):
[mediawiki/core@master] Set $useParentheses to true in userToolLinksRedContribs

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

@Reedy This might be an easier solution. I'm not sure if this isn't breaking something else, but according to my local testing, it isn't causing anything like double parentheses or similar.

I do notice in LogFormatter.php in the original patch...

					// do not render parenthesises in the HTML markup (CSS will provide)

Was there a followup patch that wasn't merged?

As far as I can see, CSS provides parenthesises in Special:Log. That's visible when you try to copy a log item, it is copied without the parenthesis. For some reason, it doesn't provide parenthesis in some other places, like Special:ListUsers.

Reedy added a comment.Apr 19 2019, 3:07 PM

Of course, this also affects MW-1.33-release and we should be careful backports/fixes end up there too

Reedy added a comment.Apr 19 2019, 3:17 PM

Hmm. So it seems there's no train next week... I think I'll cherry pick @Urbanecm's patch into .1, but leave it out of master, in the hope that @Catrope and/or @Jdlrobson (or anyone else on a responsible team) can deal with it in master before 1.34.0-wmf.3 is branched... There's about a week of working time after easter, but before the branch. Should be sufficient

Change 505262 had a related patch set uploaded (by Reedy; owner: Urbanecm):
[mediawiki/core@wmf/1.34.0-wmf.1] Make parentheses for user tools re-appear in several special pages

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

Change 505262 merged by jenkins-bot:
[mediawiki/core@wmf/1.34.0-wmf.1] Make parentheses for user tools re-appear in several special pages

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

Mentioned in SAL (#wikimedia-operations) [2019-04-19T15:54:07Z] <reedy@deploy1001> Synchronized php-1.34.0-wmf.1/includes/Linker.php: T220767 (duration: 00m 55s)

Mentioned in SAL (#wikimedia-operations) [2019-04-19T15:55:16Z] <reedy@deploy1001> Synchronized php-1.34.0-wmf.1/includes/logging/LogFormatter.php: T220767 (duration: 00m 53s)

Reedy added a comment.Apr 19 2019, 3:56 PM

Confirmed fixed on Special:CheckUser (get users) too

Leaving open as not fixed/merged in master, pending a possible better fix

Change 505324 had a related patch set uploaded (by Catrope; owner: Catrope):
[mediawiki/core@master] Add interface.helpers.styles where UsersPager is used

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

Change 505326 had a related patch set uploaded (by Catrope; owner: Catrope):
[mediawiki/core@master] Linker: Use parentheses by default in userToolLinksRedContribs()

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

Change 505242 abandoned by Urbanecm:
Make parentheses for user tools re-appear in several special pages

Reason:
replaced by I566d65e155258d3bd1a1a06bca9aa2b3a2d417ee

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

Change 505326 merged by jenkins-bot:
[mediawiki/core@master] Linker: Use parentheses by default in userToolLinksRedContribs()

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

Change 505335 had a related patch set uploaded (by Reedy; owner: Reedy):
[mediawiki/core@REL1_33] Revert "RecentChanges updated to use pseudo elements for presentation"

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

Change 505338 had a related patch set uploaded (by Catrope; owner: Catrope):
[mediawiki/core@REL1_33] Linker: Use parentheses by default in userToolLinksRedContribs()

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

Change 505338 merged by jenkins-bot:
[mediawiki/core@REL1_33] Linker: Use parentheses by default in userToolLinksRedContribs()

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

Change 505335 abandoned by Reedy:
Revert "RecentChanges updated to use pseudo elements for presentation"

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

I'm back from vacation now. What's the status of this bug? How can I help.

I'm back from vacation now. What's the status of this bug? How can I help.

It was hotfixed by a patch I wrote and @Reedy backported to .1, and should be permanently fixed by https://gerrit.wikimedia.org/r/c/mediawiki/core/+/505326 (backported to REL1_33). Unless I'm overseeing something, all should be done - the only thing that needs to be done is https://gerrit.wikimedia.org/r/c/mediawiki/core/+/505324, which should just make the special page have parenthesis displayed by CSS and not hardcoded - which is not directly "fixing this bug". Correct me somebody if I'm wrong!

Should be taken care of now. Thanks all!

Jdlrobson closed this task as Resolved.Thu, Apr 25, 6:20 AM
DoRD reopened this task as Open.EditedSat, May 18, 2:05 PM

There is still a problem here. The patch caused the punctuation characters to be displayed again, but the characters cannot be selected in a browser. I haven't tested every browser, but on MacOS at least, this affects both Chrome and Firefox. In most cases, this isn't a problem, however for CheckUsers, it may be an issue.

When investigating complex sockpuppetry cases, I frequently copy/paste CU data into a text editor to make it easier to correctly format the results of the investigation for posting on-wiki. As it stands now, copying the data leaves out the parenthesis and pipe characters, so for this purpose, the fix didn't work. Please see the attached screenshots. [edit] The reason that the parens, etc., are needed for this purpose is because I use regex to find the username, and the first parens is what I search for.

What page is that? Can you open a new task with the URL and project you are seeing it on? Thanks in advance!

I can confirm that what was reported by DoRD is also happening on Chrome on Windows 10. I had that issue a few days ago too, which made pasting results a lot of work.

What page is that? Can you open a new task with the URL and project you are seeing it on? Thanks in advance!

This page is Special:Checkuser, specifically, from what I can see, "Get users" option when checking an IP.

Jdlrobson closed this task as Resolved.Mon, May 20, 8:47 AM

I've created a new task to avoid confusion since the reported problem is not about display but workflow. See T223871.