Commit graph

3448 commits

Author SHA1 Message Date
Jon Robson b031247336 Adds tests for stickyHeader A/B test logic
Follow up to I3effbb3e5f0bb1c8663255936458e3849511dfca

Bug: T299959
Change-Id: I8703587a6e616c426638e44ca6dad12617f10ae7
2022-05-31 17:10:49 -07:00
Jan Drewniak d7e6690b52 Sticky header edit button A/B test bucketing (updated)
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.

NOTE: This patch address the sticky header being visible on incorrect
namespaces when the AB test is enabled and the revert of
42b808738a.

Bug: T299959
Bug: T309370
Change-Id: I3effbb3e5f0bb1c8663255936458e3849511dfca
2022-05-31 15:58:35 -07:00
Jan Drewniak a3cef30154 Move page title above article toolbar menus
Moves the page's title above the article toolbar (i.e. tabs) based
on the VectorTitleAboveTabs config option. This feature remains
off by default, but can be accessed via the query parameter `vectortitleabovetabs`.

Removes the Navigation.mustache template since it's just a wrapper
for the sidebar + tabs elements, which, with this change, are placed
in different locations in the DOM and don't need a common parent element.

Bug: T303549
Change-Id: Id4816b753a1b2133c53c3b1d390b45631c704daf
2022-05-31 18:06:11 -04:00
jenkins-bot a6f5acd9de Merge "In max-width mode, constrain the width of page previews" 2022-05-31 15:29:26 +00:00
jenkins-bot 0a0bd88d9e Merge "Follow-up I1dee51009: Add url() to list-style-image" 2022-05-30 19:10:55 +00:00
Translation updater bot b7029084ca Localisation updates from https://translatewiki.net.
Change-Id: I5b4824e38db95b0dfe4a4f56590cfc5a23f6bbce
2022-05-30 09:26:28 +02:00
Sam Wilson 0ebae6c4ef In max-width mode, constrain the width of page previews
This allows the editing form to be wide, but makes sure that the
preview seen will more closely match how the page will end up
after being saved.

Bug: T307725
Change-Id: Ib2085eece69fe08b7fca4aaeacef66b26cdd5f16
2022-05-30 11:52:59 +08:00
Ebrahim Byagowi aebd782d75 i18n: Use correct direction for collapse Table of Contents
Collapse Table of Contents has incorrect direction for RTL, this fixes it.

Bug: T309478
Change-Id: I43f2d225aed7c3a74e35f8e72c1e261b39af9737
2022-05-30 02:37:10 +04:30
Ed Sanders 72d2653f59 Follow-up I1dee51009: Add url() to list-style-image
Bug: T309374
Change-Id: I91d690700cf82e315e98be7bfcadd8bdb4cc3450
2022-05-28 23:00:49 +01:00
jenkins-bot 8be6a96b7c Merge "Revert "Sticky header edit button A/B test bucketing"" 2022-05-27 18:30:19 +00:00
Jdlrobson 0df8d35b43 Revert "Sticky header edit button A/B test bucketing"
This reverts commit 42b808738a.

Reason for revert: The sticky header is now showing up in unexpected
places e.g. special pages.

Bug: T299959
Bug: T309370
Change-Id: Ie7f224d84440279ba28e031e13d05984c81a3ad4
2022-05-27 18:10:29 +00:00
Translation updater bot 088d49581b Localisation updates from https://translatewiki.net.
Change-Id: I16c8ff8e3e79b6723eb822c6331c11d535b06276
2022-05-27 10:29:24 +02:00
jenkins-bot 3c847290c5 Merge "Sticky header edit button A/B test bucketing" 2022-05-26 22:35:54 +00:00
Translation updater bot 24f078ce7c Localisation updates from https://translatewiki.net.
Change-Id: I87de623fdb6f2b61b70adb84c608f78a1b74acf3
2022-05-26 08:53:24 +02:00
Jan Drewniak 42b808738a Sticky header edit button A/B test bucketing
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
2022-05-25 10:15:47 -04:00
Sam Wilson c32c64481d Use new ResourceLoader namespace
To fix Phan errors with the now-deprecated ResourceLoaderContext
class alias.

Bug: T308718
Change-Id: Ifd265d29cee5f8a68e7b3036deaf2ba2b6c49d2e
2022-05-25 10:36:40 +00:00
Translation updater bot fcead5e634 Localisation updates from https://translatewiki.net.
Change-Id: I357be001fe353a4c814fce44809d59e235cbfa3d
2022-05-25 08:34:35 +02:00
Volker E 06708ba198 Remove unnecessary inner-tag whitespace and self-closing tags
Self-closing tags are so XHTML. HTML5 allows them on some elements, but
doesn't require them. Cleaning up for consistency and for a few bits
saved to clients.

Change-Id: I781b8d79bbd5dd1ee75a167718964c1142ecfc5d
2022-05-24 14:46:37 -07:00
jenkins-bot dafe3c8fd4 Merge "Handle accessible labels differently for dropdown and portal menus" 2022-05-24 15:09:04 +00:00
Translation updater bot aea22d25e3 Localisation updates from https://translatewiki.net.
Change-Id: Ib1ee05c6d3ad1a8e48dee807d0754c54374f69ca
2022-05-24 08:27:23 +02:00
jenkins-bot 5ddebf96c8 Merge "Fixes Vector 2022 sidebar overlap when table of contents disabled" 2022-05-24 00:13:17 +00:00
jenkins-bot 501bdab2aa Merge "Normalise PHP namespaces used in Vector" 2022-05-23 23:30:34 +00:00
Jon Robson 4e67384131 Fixes Vector 2022 sidebar overlap when table of contents disabled
Bug: T308130
Change-Id: Ieec44e8f1657319962e2a7922d04186c260123fe
2022-05-23 23:13:29 +00:00
Mo Abualruz e46eef19d0 Normalise PHP namespaces used in Vector
- `MediaWiki\Skins\Vector\Tests` is now the prefix for all tests in the skin
- we followed PSR conventions of following folder structure after the prefix
- Optimize imports/use order
- update namespace in skin.json

Bug: T303102
Change-Id: Ib76374d81d973c83adfd6c8e7863ff6d797e655d
2022-05-23 09:32:40 +02:00
Translation updater bot 9d6d8e116d Localisation updates from https://translatewiki.net.
Change-Id: I64963ef6b5268dc7c9f79d552b63e62a226e4fc7
2022-05-23 08:19:38 +02:00
libraryupgrader 7d5398bf3e build: Updating composer dependencies
* mediawiki/mediawiki-codesniffer: 38.0.0 → 39.0.0
* php-parallel-lint/php-console-highlighter: 0.5.0 → 1.0.0
* php-parallel-lint/php-parallel-lint: 1.3.1 → 1.3.2

Change-Id: I58dd3aad02958d7dc1c031fb159f2951d5d744dd
2022-05-21 19:16:03 +00:00
libraryupgrader 80fc9dcace build: Updating dependencies
composer:
* mediawiki/mediawiki-phan-config: 0.11.0 → 0.11.1

npm:
* jsdoc: 3.6.7 → 3.6.10
* node-fetch: 2.6.1 → 2.6.7

Additional changes:
* Set `name` in package.json.
* .gitignore: Added .phpunit.result.cache (T242727).

Change-Id: Iac03b8d02dd1edf3707ea569779fadd77b2e1016
2022-05-20 11:41:53 +00:00
jenkins-bot e9cb96cde2 Merge "styles: Replace more deprecated mixins" 2022-05-19 23:27:07 +00:00
Translation updater bot 4f486fb883 Localisation updates from https://translatewiki.net.
Change-Id: I9058968b10e135f35ee761126cd34d5784e68108
2022-05-19 08:21:01 +02:00
Jon Robson f91c3cd5a8 Use upstream reduces motion skin option
The new accessibility rules default to on, so no need to list
it in skin.json but we need to remove the now duplicated style.

Depends-On: Ie1c6c1ba7263c232d874263fdae7427a5ec489f6
Change-Id: I92f622b92adb8735c38a4ebe56eaf5bfc4ae37bf
2022-05-18 14:29:05 -07:00
jenkins-bot 7761ed4aff Merge "Revert "Move a max-width Less variable up into variables.less"" 2022-05-18 18:50:50 +00:00
Jdlrobson 55b5283148 Revert "Move a max-width Less variable up into variables.less"
This reverts commit bf4d843d97.

Reason for revert: These variables were intended as local to layout.
Only layout stylesheet should have access to layout variables. The
risk of having this in the global variables file is that non-layout
rules can be added to components.

Change-Id: I91fd01ed5333555052c243e25d37cd30d6d9bef6
2022-05-18 15:12:59 +00:00
jenkins-bot ce8ddbe0ea Merge "build: Update eslint-config-wikimedia to 0.22.1" 2022-05-18 00:41:00 +00:00
jenkins-bot 336b8eefb7 Merge "build: Update stylelint-config-wikimedia to 0.13.0" 2022-05-18 00:40:09 +00:00
Ed Sanders bf494b89fd build: Update eslint-config-wikimedia to 0.22.1
Change-Id: I25e0cf131c7d2ea53d362f4836a451b68cd31366
2022-05-17 23:40:46 +01:00
Translation updater bot 73bae60258 Localisation updates from https://translatewiki.net.
Change-Id: I2d7f8513499ca866ad73c9d5383607bb08808a8f
2022-05-17 08:31:15 +02:00
Ed Sanders 4a8eba29df styles: Replace more deprecated mixins
* .transform-origin
* .list-style-image

Change-Id: I1dee510097c179d23c5cc2192c70ca006869f5d0
2022-05-16 23:25:44 +01:00
Volker E 7eb818543e styles: Replace deprecated Less .transform() mixin with standard CSS
Replacing Less mixin calls of `.transform()`, deprecated
since MW 1.37, with CSS property.

Bug: T308360
Change-Id: Ic965193782a447d34eac4bd19816a7b753c36d44
2022-05-16 23:24:53 +01:00
Ed Sanders 7f7d5c4ae5 build: Update stylelint-config-wikimedia to 0.13.0
Change-Id: I122005b6817cf1997002dbe7a1bcbd249c9842cb
2022-05-16 17:44:12 +01:00
jenkins-bot 36a4001a01 Merge "Move a max-width Less variable up into variables.less" 2022-05-16 09:06:47 +00:00
Translation updater bot 1cd446ba6b Localisation updates from https://translatewiki.net.
Change-Id: I8092c966745a44756b1f94a1c61d1df98ab5bb9b
2022-05-16 08:27:43 +02:00
Sam Wilson bf4d843d97 Move a max-width Less variable up into variables.less
This makes it accessible elsewhere (such as within WikiEditor; see
the dependent patch) without having to include
all of screen.less.

Bug: T307725
Change-Id: I3fda9886c27fe0b78cf5bd5647d7e497a3aaba0e
2022-05-16 13:15:00 +08:00
jenkins-bot dc2b25ac65 Merge "styles: Replace deprecated Less .transition() mixin with standard CSS" 2022-05-13 22:30:37 +00:00
jenkins-bot 1fe1942dff Merge "[Grid preparation] Add feature flag for grid" 2022-05-13 22:07:57 +00:00
Volker E 2adab440a5 styles: Replace deprecated Less .transition() mixin with standard CSS
Replacing Less mixin calls of `.transition()`, deprecated
since MW 1.37, with CSS property, but constituent properties.
This has been an outcome of recent discussions around design tokens,
which will be simpler to define, more modular, and better scoped. See
T304443 for further information.
Also clarifying, aligning comments.

Bug: T308351
Change-Id: Iab9d04c9a9f31f3842d076ce8fd8bf6e3534fc89
2022-05-13 20:37:22 +00:00
Nicholas Ray 8038c2e545 Add message for the desktop improvements project's talk page
Vector-2022 skin requires that a link to the desktop improvements page
is shown next to the "Preview" link in the skin preferences options.
Adding this message will enable that.

Depends-On: I4e944504f013344661d0c6f05896a4fc1fe8f4b4
Bug: T307113
Change-Id: I370d820e12e9517d11423977b2fabebaf7df428a
2022-05-13 09:59:54 -06:00
jenkins-bot 2cbb390edd Merge "styles: Replace deprecated Less .box-sizing() mixin with standard CSS" 2022-05-13 15:42:11 +00:00
Jon Robson d74890df63 [Grid preparation] Add feature flag for grid
Additional changes:
* Make the query string parameter optional and if not defined set it
to lowercase configuration name. I think this makes it more predictable
as some configuration flags are prefixed with vector and some without.

This has the following consequences:
languageinheader => vectorlanguageinheader
languageinmainpageheader => vectorlanguageinmainpageheader
languagealertinsidebar => vectorlanguagealertinsidebar
titleabovetabs => vectortitleabovetabs

Note since table of contents query string is used in the A/B test
I've kept that as tableofcontents for now.

Bug: T303484
Change-Id: Iaca026ef5f32836098dc3b6f0f18632fe84fa8d0
2022-05-13 15:21:52 +00:00
Translation updater bot 32069a75fe Localisation updates from https://translatewiki.net.
Change-Id: Ic4dcaa95037367c5103b34615f31c1756e28fab3
2022-05-13 08:29:40 +02:00
bwang 9e665f9034 Handle accessible labels differently for dropdown and portal menus
An issue was found in QA where certain browser/screenreader combos could not read `aria-labelledby`+`aria-label`. Instead, we avoid using `aria-labelledby` and the `label` element entirely and apply the accessible label directly to the `input`. This great simplifies our labelling and improves screenreader support, while also allowing us to hide the `label` element to reduce verbosity.
Because the `label` element is used differently in the portal menu, we use the `is-portal` variable to maintain the old markup for portal menus

Bug: T301051
Change-Id: I5a0f7d5d78838fabe561095b33176e7162b31aea
2022-05-12 22:11:22 +00:00