Page MenuHomePhabricator

Users should be able to specify a denylist of skins, rather than an allowlist
Open, Needs TriagePublicFeature

Description

Some gadgets don't work in one specific skin (often because they aren't designed for mobile/Minerva), yet we have to list all the deployed skins except that one to implement this, e.g.

ReferenceTooltips[ResourceLoader|default|skins=vector,vector-2022,monobook,timeless,modern,cologneblue|type=general|dependencies=mediawiki.cookie,jquery.client]|ReferenceTooltips.js|ReferenceTooltips.css

It would be neater if we could just write

...|skins=!minerva|...

or

...|disableskins=minerva|...

Event Timeline

There's a chunk of chatter about this concept starting from T328610#8587808.

Izno changed the subtype of this task from "Task" to "Feature Request".Jul 24 2023, 3:12 PM

Change 940972 had a related patch set uploaded (by Esanders; author: Esanders):

[mediawiki/extensions/Gadgets@master] Allow gadgets to specify 'disableskins'

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

I personally don't think we should have both disableskins and skins. Use of the ! seems preferable but personally I don't think we need this at all. The pattern of skins=vector,vector-2022,monobook,timeless,modern,cologneblue is very much intended to be temporary until we fix those gadgets for Minerva [1] and/or provide better means for disabling gadgets based on feature detection (e.g. T342567) . I worry that encouraging the use of disabling gadgets on skins compounds our existing problem creating more technical debt on the long term

In addition to this, I'd rather we didn't make any architectural changes to gadgets until the extension has a maintainer as gadgets are pretty integral to our wikis and the ecosystem needs a lot of love. I've been flagging this to leadership as a problem and it would be great if you could do the same.

EDIT: [1] I'm currently working on this in by 20% time and by filing tickets where we have blockers to understand the work needed on the gadget extension.