Page MenuHomePhabricator

Pages transcluding Special:WhatLinksHere are sometimes being rendered in the default skin
Closed, ResolvedPublicBUG REPORT

Description

Steps to replicate the issue (include links if applicable):
Similar to T346760, but this time it is Special:WhatLinksHere.
The revision available for reference is https://zh.wikipedia.org/wiki/Special:PermaLink/79944486.

What happens?:
same as T346760
https://performance.wikimedia.org/excimer/profile/3b206d51ea605243
https://performance.wikimedia.org/xhgui/?url=942196e7-4ea3-4c47-a07e-ac07a156e2e4

image.png (895×1 px, 222 KB)

Event Timeline

Trying to put some information here

  • The default skin on zh.wiki is: vector-2022
  • It seems you visit the page logged in with account having the skin set to vector (legacy vector from 2010)
  • Does this needs a specific language or variant?
  • Mobile site or desktop site?
  • Could you reproduce this also for a old revision view as linked above or only when the special page is in the current revision?

I have not found a way to see this.

Trying to put some information here
The default skin on zh.wiki is: vector-2022
It seems you visit the page logged in with account having the skin set to vector (legacy vector from 2010)

  • Does this needs a specific language or variant?

No.

  • Mobile site or desktop site?

Desktop. (It seems to be no reason to use vector-2010 on mobile site?)

  • Could you reproduce this also for a old revision view as linked above or only when the special page is in the current revision?

Both.

Umherirrender added subscribers: Func, matmarex.

As Special:PermaLink is a "redirect special page" the profile is for that redirect, not for the target page https://zh.wikipedia.org/?oldid=79944486 and does not contains anything about the target page.

When using the patch https://gerrit.wikimedia.org/r/c/mediawiki/core/+/958540 from the other bug it shows that a call to OutputPage::setupOOUI is problematic, it is coming from OOUIHTMLForm::__construct.
SpecialWhatLinksHere was rewritten to use FormSpecialPage (4727ed1a) and that creates the OOUI form in FormSpecialPage::getForm via ::execute but does not use it for presentation as this special page is included into wikitext.
But the call to set OOUI happens unconditional in the constructor of the html form.

Perhaps the call to $this->getOutput()->enableOOUI(); in OOUIHTMLForm could be moved from __construct() to getBody(), so that it will only happen when we're actually displaying the form?

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

[mediawiki/core@master] OOUIHTMLForm: Enable OOUI only if the form is going to be displayed

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

Change 986555 merged by jenkins-bot:

[mediawiki/core@master] OOUIHTMLForm: Enable OOUI only if the form is going to be displayed

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

matmarex assigned this task to Func.

Thanks @Func, hopefully that fixes it. The change will be deployed to Wikimedia wikis next week, on the usual schedule.

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

[mediawiki/core@master] Revert "OOUIHTMLForm: Enable OOUI only if the form is going to be displayed"

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

Change 987998 merged by jenkins-bot:

[mediawiki/core@master] Revert "OOUIHTMLForm: Enable OOUI only if the form is going to be displayed"

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

matmarex removed Func as the assignee of this task.

Seems fixed by that change. Until next time…