Custom Vector theme/skin for GolemWiki, our instance of MediaWiki
Go to file
Stephen Niedzielski 709772fa12 [fix] "Existing account only" skin version config
de76ab5 added the config,
`$wgVectorDefaultSkinVersionForExistingAccounts`. Its usage in
`Hooks::onUserGetDefaultOptions()` was invoked not only for existing
accounts but anonymous users _as well._  This is a bug, due to my own
misconceptions about the hook, that went against both the config's name
and its documentation.

Unfortunately, user sessions are unavailable in
`Hooks::onUserGetDefaultOptions()` so it does not seem to be possible to
determine whether the active user is an anonymous or existing account.
This patch drops the hook and centralizes all version determination
logic in SkinVersionLookup::getVersion(). SkinVersionLookup requires a
the active User object and can make the anonymous / existing account
determination by checking login state.

The issued was identified while responding to review feedback given by
@polishdeveloper / @pmiazga in
I52d80942b4270c008d4e45050589ed9220255a50.

Bug: T251415
Change-Id: I7982b4c34283ba81d0232ee6f501c44cf0a74b98
2020-04-29 18:36:03 +00:00
.phan Upgrade to newer phan 2019-03-20 19:37:59 -07:00
.storybook Add storybook to Vector 2020-01-31 16:59:15 +08:00
dev-scripts Load files from gerrit not phab 2020-04-22 02:21:00 +00:00
i18n Localisation updates from https://translatewiki.net. 2020-04-29 08:39:21 +02:00
includes [fix] "Existing account only" skin version config 2020-04-29 18:36:03 +00:00
resources [modern] Add Header element and styles 2020-04-28 18:15:39 +02:00
screenshots Add skin screenshot for the installer 2017-08-11 15:37:34 -04:00
skinStyles Replace deprecated `@colorFieldBorder` variable and use others 2020-04-28 01:42:09 +00:00
stories Refactor: Make VectorTabs template data conform with MenuDefinition 2020-04-22 05:18:44 +00:00
tests/phpunit [fix] "Existing account only" skin version config 2020-04-29 18:36:03 +00:00
.eslintignore Replace Grunt tasks with npm scripts in package.json 2020-02-27 16:32:12 +01:00
.eslintrc.json [dev] [JS] Move JavaScript to package modules 2020-04-10 09:39:25 -06:00
.gitignore Add storybook to Vector 2020-01-31 16:59:15 +08:00
.gitreview Use track=1 instead of defaultbranch=master in .gitreview 2016-10-24 17:30:32 -07:00
.phpcs.xml Add method scope visibility 2018-11-01 21:01:32 +01:00
.stylelintignore Replace Grunt tasks with npm scripts in package.json 2020-02-27 16:32:12 +01:00
.stylelintrc.json build: Bump devDependencies to latest 2018-02-26 10:29:23 -08:00
.svgo.yml build: Add 'svgo', SVG minifier script and unify SVGO rules 2020-03-07 19:47:58 -08:00
CODE_OF_CONDUCT.md build: Updating mediawiki/mediawiki-codesniffer to 22.0.0 2018-09-04 01:45:34 +00:00
COPYING Use the plain-text GPL and fix 'license-name' to match SPDX conventions 2015-01-29 17:04:29 +01:00
Doxyfile docs: Generate documentation with Doxygen 2020-02-24 16:49:38 +00:00
README.md [doc] Add link in readme to hooks.txt 2020-04-28 09:29:52 -06:00
composer.json build: Updating composer dependencies 2020-01-30 20:11:34 +00:00
hooks.txt docs: Remove overqualified element-id combination selectors 2020-03-23 13:25:45 -07:00
jsdoc.json Add 'jsdoc-wmf-theme' to jsdoc 2020-02-14 10:43:46 -07:00
package-lock.json build: Updating grunt-banana-checker to 0.9.0 2020-04-17 23:31:20 +00:00
package.json build: Updating grunt-banana-checker to 0.9.0 2020-04-17 23:31:20 +00:00
skin.json [fix] "Existing account only" skin version config 2020-04-29 18:36:03 +00:00
tsconfig.json [JavaScript] Validate types 2020-03-16 09:10:08 -06:00
variables.less [modern] Add Header element and styles 2020-04-28 18:15:39 +02:00

README.md

Vector Skin

Installation

See https://www.mediawiki.org/wiki/Skin:Vector.

Configuration options

See skin.json.

Development

Coding conventions

We strive for compliance with MediaWiki conventions:

https://www.mediawiki.org/wiki/Manual:Coding_conventions

Additions and deviations from those conventions that are more tailored to this project are noted at:

https://www.mediawiki.org/wiki/Reading/Web/Coding_conventions

URL query parameters

Skin preferences

Vector defines skin-specific user preferences. These are exposed on Special:Preferences when the VectorShowSkinPreferences configuration is enabled. The user's preference state for skin preferences is used for skin previews and any other operation unless specified otherwise.

Version

Vector defines a "version" preference to enable users who prefer the December 2019 version of Vector to continue to do so without any visible changes. This version is called "Legacy Vector." The related preference defaults are configurable via the configurations prefixed with VectorDefaultSkinVersion. Version preference and configuration may be overridden by the useskinversion URL query parameter.

Hooks

See hooks.txt.