Page MenuHomePhabricator

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

Description

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.

Examples: https://meta.wikimedia.org/w/index.php?title=Meta:Sandbox&oldid=20784096

Expected results:
User skin unnafected when transcluding that page.

Software:

  • 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 https://meta.wikimedia.org/wiki/Special:ListFiles/DannyS712?useskin=modern
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( '127.0.0.1', 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