In what order do user preferences present themselves on a given tab of [[ https://wikipedia.org/wiki/Special:Preferences | Special:Preferences ]]? In T242381 and [[ https://gerrit.wikimedia.org/r/plugins/gitiles/mediawiki/extensions/Popups/+/776f4af/includes/PopupsHooks.php#89 | previously in the Popups codebase ]], the order of preferences has been important. The current desired presentation is skins, (Vector) skin preferences, reading preferences:
{F31630883 width=512}
In the beta cluster this was not the case.
We originally decided to do a spike to explore this, but after a little further investigation it seems the easiest solution is to nest the new skin options inside the skin preferences as skin preferences can be nested magically using '/' in the key
= Acceptance criteria
[] Use the `rendering/skin/skin-prefs` instead of `rendering/skin-prefs` as the section for skin preferences. This will guarantee the skin preferences appear after skin related settings while not interfering with the existing Popups code.
= Developer notes
A patch has already been written proving such a solution is viable (see above). It involves a minor change to core and Vector.
There is also an opportunity here to make Monobook use the same section for its "responsive monobook" option but that should be considered outside the scope of estimation and non-blocking since Monobook is not maintained by this team.
# Original spike context
This spike seeks to answer firstly: for all wikis in production, how do Vector skin preferences present themselves? If Vector's onGetPreferences() hook is always executed after Popups' hook, no changes will be necessary. We think that's the case as Vector is the last entry on [[ https://gerrit.wikimedia.org/r/plugins/gitiles/operations/mediawiki-config/+/1277e9d/wmf-config/extension-list#191 | extension-list ]].
HOWEVER, if the order cannot be guaranteed, how should we fix that?
- [[ https://gerrit.wikimedia.org/r/#/c/mediawiki/extensions/Popups/+/574542/ | HACK it into Popups and keep on hacking and never stop hacking and always be hacking? ]]
- [[ https://phabricator.wikimedia.org/T242381#5914233 | Revise the API ]]?
- Something else?