42b808738a
Adds behaviour for conditionally adding the edit button to the sticky-header based on A/B test bucketing. This behaviour depends on having the `$wgVectorStickyHeaderEdit` config set to true for logged-in users: $wgVectorStickyHeaderEdit = [ "logged_in" => true, "logged_out" => false ]; as well as an AB test configured with the following buckets: $wgVectorWebABTestEnrollment = [ 'name' => 'vector.sticky_header_edit', 'enabled' => true, 'buckets' => [ 'unsampled' => [ 'samplingRate' => 0 ], 'stickyHeaderEditButtonControl' => [ 'samplingRate' => 0 ], 'stickyHeaderEditButtonTreatment' => [ 'samplingRate' => 1 ] ] ]; With that config, this change hides the sticky header for all users except those in the stickyHeaderEditButtonTreatment bucket. Bug: T299959 Change-Id: If252956bc530d8ce54eeda61f42a93ffa48255cb |
||
---|---|---|
.phan | ||
.storybook | ||
dev-scripts | ||
i18n | ||
includes | ||
resources | ||
screenshots | ||
skinStyles | ||
stories | ||
tests | ||
.eslintignore | ||
.eslintrc.json | ||
.eslintrcEs6.json | ||
.gitignore | ||
.gitreview | ||
.nvmrc | ||
.phpcs.xml | ||
.stylelintignore | ||
.stylelintrc.json | ||
.svgo.config.js | ||
bundlesize.config.json | ||
CODE_OF_CONDUCT.md | ||
composer.json | ||
COPYING | ||
Doxyfile | ||
jest.config.js | ||
jest.setup.js | ||
jsdoc.json | ||
package-lock.json | ||
package.json | ||
README.md | ||
skin.json | ||
tsconfig.json |
Vector Skin
Installation
See https://www.mediawiki.org/wiki/Skin:Vector.
Configuration options
See skin.json.
Development
Node version
It is recommended to use nvm to use the version of node defined
in .nvmrc
during local development. This ensures consistency amongst development environments.
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
Pre-commit tests
A pre-commit hook is installed when executing npm install
. By default, it runs
npm test
which is useful for automatically validating everything that can be
in a reasonable amount of time. If you wish to defer these tests to be executed
by continuous integration only, set the PRE_COMMIT
environment variable to 0
:
$ export PRE_COMMIT=0
$ git commit
Or more succinctly:
$ PRE_COMMIT=0 git commit
Skipping the pre-commit tests has no impact on Gerrit change identifier hooks.
Hooks
See hooks.txt.