Page MenuHomePhabricator

Transcluding {{Special:ListFiles/$username}} on any page overrides the skin selected by the viewer in Preferences, makes it Vector-only
Closed, ResolvedPublicBUG REPORT


Steps to reproduce:

  1. Make sure you use a skin other than Vector in Special:Preferences (I use MonoBook)
  2. Go to any page, transclude {{Special:ListFiles/$username}} (it can be yours or other user name)
  3. Save

Actual results:
After transcluding that special page, the page is displayed using Vector skin only regardless of the MediaWiki skin you set in Preferences.


Expected results:
User skin unnafected when transcluding that page.


  • MediaWiki 1.36.0-wmf.21 (rMW0d99fe6d5442).
  • Tested on enwiki and metawiki.

Other info:
Cache-purging didn't fix the issue.

Event Timeline

&useskin is also ignored it seems.

MarcoAurelio changed the subtype of this task from "Task" to "Bug Report".Dec 10 2020, 4:12 PM

This doesn't, however, affect directing viewing
It also doesn't affect all includable special pages (tested against Special:Allpages on meta)
I have not looked into this enough, but I would guess that the code in Parser::braceSubstitution that handles special pages, specifically setting the context user for cached pages to User::newFromName( '', false ), results in always having a user with the default skin be used for executing the included special page, and that that leaks into the outer scope of the parser's output

Hi, I just discovered, that this also seems to happen when transcluding Special:recentchanges. Another thing: It doesn't happen consistently, sometimes (really rarely) it works, but I wasn't able to figure out, on what occasions. I'm working on with firefox 87, Linux. Hope I'm in the right spot and this helps somehow. Regards

Closing per last comment.