Commit graph

668 commits

Author SHA1 Message Date
Umherirrender 91915dd6ff Replace empty() with falsy check
empty() should only be used to suppress errors
When the type of the variable is array,
a falsy check is the same (checks for null, false and empty array)
Found by a new phan plugin (T234237)

Change-Id: Iafd6d3bae30038bac2fad967924a9461aa57761b
2023-10-21 21:58:11 +02:00
jenkins-bot fa502f63e8 Merge "Add mw-no-invert class to thumbnails" 2023-10-05 14:38:51 +00:00
Umherirrender c5b6a8018b Use HookHandlers for core hooks
The use of "HookHandlers" attribute in extension.json makes it possible
to inject services into hook handler classes in a future patch.
Remove optional return from hook handlers

Bug: T346560
Change-Id: I4e42f7cf361e41c3ee687abcf41409a4704b7bf6
2023-09-27 21:02:11 +02:00
Umherirrender 54f5923e32 Simplify Hooks::hasRelatedArticles
- Skin is a IContextSource, same as OutputPage, use the skin directly
- Use WebRequest::getRawVal/getCheck
- Move isDisambiguationPage() down a bit, it needs database queries
- Remove unused argument from ::isReadMoreAllowedOnSkin

Bug: T347123
Change-Id: I1b7cdc8bd330624f0a099284f6eabbb3ad62675a
2023-09-22 22:51:28 +02:00
Umherirrender 5bd33d9855 Use ::class for class name resolution
Change-Id: Ib75278e3728c1cd24e568f9f30f5cb32f19c5622
2023-09-20 20:59:19 +02:00
Ed Sanders 1071a53446 build: Update linters
Change-Id: I98cbfd20fd85cdf8bb8dc1276ebbc516992212c3
2023-09-15 17:06:48 +00:00
James D. Forrester 8eb55200fd build: Update MediaWiki requirement to 1.41
All extensions in Wikimedia production are expected to track MediaWiki's release directly.

Change-Id: I87ce5809b7684edc613540ad203ebc37156d3007
2023-09-14 19:43:39 +00:00
Ed Sanders ac97092078 Add mw-no-invert class to thumbnails
Bug: T345281
Change-Id: I65829811ff0027017d4f91b0dedf7957177f47b5
2023-09-11 18:46:45 +01:00
gerritbot 3f4bd5f8e4 Replace some moved Title class uses, now MediaWiki\Title\Title
Bug: T321681
Change-Id: I36a0ac048f3898512e3ccefdb34c5e2e774f790b
2023-08-19 04:18:57 +00:00
Translation updater bot a913cc5877 Localisation updates from https://translatewiki.net.
Change-Id: Ib6a72a4964ba814016e502d0d92cbcb4d5898651
2023-07-24 09:39:31 +02:00
Jon Robson a90c476b37 Add bundlesize tests
Bug: T315792
Change-Id: I39f037e62bb34cbf5e854aac71ca983c0e1146c7
2023-06-27 09:17:06 -07:00
Translation updater bot 037370b231 Localisation updates from https://translatewiki.net.
Change-Id: Iac1296352cc30caf450af1e6dd8f20b24ff3c6b1
2023-06-14 13:07:51 +02:00
libraryupgrader 8b041e2468 build: Updating npm dependencies
* grunt-banana-checker: 0.10.0 → 0.11.0
* stylelint-config-wikimedia: 0.14.0 → 0.15.0

Change-Id: I38e7afebed77d4b37adb1bf15c1d05be15466e6f
2023-06-02 01:40:42 +00:00
Translation updater bot f771c18a64 Localisation updates from https://translatewiki.net.
Change-Id: I5500efb26d7afc911839555f48555e96d45af0cc
2023-05-05 10:40:47 +02:00
libraryupgrader ff15de9b34 build: Updating eslint-config-wikimedia to 0.25.0
Change-Id: I8796dc60f745bf3e512fe73e8688424a23947f9f
2023-05-04 10:55:50 +00:00
Translation updater bot ce4f2e62b9 Localisation updates from https://translatewiki.net.
Change-Id: I99b33414ab15cbe54afa3c3c5dae9e96def0c5c3
2023-05-03 08:44:16 +02:00
libraryupgrader 27eb68b969 build: Updating mediawiki/mediawiki-phan-config to 0.12.1
Additional changes:
* Set `name` in package.json.

Change-Id: I2501238817be28e5eff61830220ab0d66403f523
2023-04-29 09:46:37 +00:00
Volker E 8f6fce655b styles: Replace 'mediawiki.ui/variables' call with skin variables
Replacing 'mediawiki.ui/variables.less' `@import`
with new skin-aware 'mediawiki.skin.variables.less' standard.

Also
- replacing several static values with skin variables featuring new
  Codex design tokens for following properties:
  - background-color
  - color
  - border-width, border-style, border-color and border shorthand

Bump required MediaWiki core version to >= v1.41.0.

Bug: T319381
Bug: T332541
Depends-On: I04f9e48a1cf9dee915cf51e1e12b17ff0a595a06
Change-Id: I32c2996dedc9b3a54e1f916623dbe1c4da910083
2023-04-18 11:19:46 -07:00
Umherirrender d244328cd3 build: Updating npm dependencies
* eslint-config-wikimedia: 0.20.1 → 0.24.0
* grunt-banana-checker: 0.9.0 → 0.10.0
* @wikimedia/mw-node-qunit: 6.2.1 → 7.0.0

Change-Id: Ied24102025b02422a6a807235bcb53bc5f6e7c98
2023-04-04 01:15:59 +02:00
Umherirrender 1a4bd424b4 tests/qunit: Change assert.ok to assert.true
Avoid loose assertion

Change-Id: I6fd398ef2608c836fd59e0a48271f11c5e0d78a9
2023-03-31 20:37:25 +02:00
Umherirrender 082a59b991 build: Updating npm dependencies
* stylelint-config-wikimedia: 0.13.0 → 0.14.0

Run stylelint fix to fix the new stylelint rule

Change-Id: Iedd35c282b67f58f4be8f74aba365e7581159956
2023-03-28 22:19:23 +02:00
jenkins-bot 9b3612086f Merge "build: Updating composer dependencies" 2023-03-20 15:20:22 +00:00
Translation updater bot b3072c21bf Localisation updates from https://translatewiki.net.
Change-Id: I32a940065e67798af4fc2fddeb6540c52b6a8f54
2023-03-20 09:02:26 +01:00
Umherirrender 1a4027de74 build: Updating composer dependencies
* mediawiki/mediawiki-codesniffer: 38.0.0 → 41.0.0
* mediawiki/mediawiki-phan-config: 0.11.1 → 0.12.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: Ie8b9e3ca911211da37ea5a64382ae27022c9dc7e
2023-03-18 21:10:25 +01:00
Translation updater bot 111f0f89f2 Localisation updates from https://translatewiki.net.
Change-Id: Ic57b947139c332cf66906d74ce4fa581e9a18470
2023-02-28 08:29:33 +01:00
Jon Robson c2342e281e Targets no longer needed in RelatedArticles
All match current default.

Bug: T328497
Change-Id: I38d93cba683bcc39fb25421b0a197f8ebb4c9923
2023-02-16 11:41:14 -08:00
Željko Filipin 52f5b78d21 Update npm lockfileVersion to v2
Updating npm to v7 updates lockfileVersion in package-lock.json to v2.

Bug: T273785
Change-Id: I14c19f8bfbfe0f463905b7bc908d61b28d06e7f1
2023-01-23 16:38:09 +01:00
Vaughn Walters 17f96fbb0d selenium: Remove webdriverio npm package
The `webdriverio` package does not need to be an explicit dependency.
It is a dependency of `@wdio/cli`.

Bug: T325059
Change-Id: Ic2c97dca23a20af791af77c56c08144568a9ba97
2023-01-19 17:15:42 +01:00
Translation updater bot 3e50c035c0 Localisation updates from https://translatewiki.net.
Change-Id: I8442a8e24e4238d0e165a00a1f60eec42135718c
2023-01-03 08:21:17 +01:00
Translation updater bot 1560348e0a Localisation updates from https://translatewiki.net.
Change-Id: I109eb36a7b845d7793aeb10ea3e36e9e511cc29d
2022-12-21 09:17:40 +01:00
Željko Filipin 26e69c8e15 selenium: Enable one skipped test, delete one failing test
Both tests are disabled for more than a year, see
f318d3acd2.

'ReadMore is not present on Vector' is failing so it is deleted.
'ReadMore is present in Minerva @daily' is passing so it is enabled.

To be sure that the passing test is not flaky, the CI has ran it 100
times, it never failed.

Bug: T280652
Change-Id: I739414c4f3f650ce14e31b6bb2bfdd21efb8ff44
2022-11-24 12:40:45 +00:00
jenkins-bot 9a11bcee04 Merge "Replace deprecated @borderRadius var with successor @border-radius-base" 2022-11-09 18:21:42 +00:00
Volker E 2e2159d1b5 styles: Remove linear-gradient vendor properties
All targeted browsers have fallen out of basic support.

Bug: T306486
Change-Id: I3d5d49d2911c72806922bdbba26ab2c8470588f8
2022-11-07 21:02:15 -08:00
gerritbot f3f58c0666 Replace deprecated @borderRadius var with successor @border-radius-base
Replacing deprecated mediawiki.ui `@borderRadius` variable with successor
@border-radius-base.
Former got deprecated in MW 1.35 about 2 years ago. Latter is in alignment
with mediawiki.skin.variables.less standardization. It's also in
accordance to Codex design tokens.

Bug: T322478
Change-Id: I6f9fe0a7d98713a66e1b7e78f105817f428c636f
2022-11-06 22:59:13 +00:00
Translation updater bot ded5427e35 Localisation updates from https://translatewiki.net.
Change-Id: Ieb047fbdfb31a072091f19ad21600f915ef4ec86
2022-10-31 09:46:31 +01:00
Translation updater bot 957547ddbb Localisation updates from https://translatewiki.net.
Change-Id: I6cade2fefd45a323558fab7c1612c52248949700
2022-10-24 08:23:29 +02:00
Translation updater bot 14a8891c71 Localisation updates from https://translatewiki.net.
Change-Id: I5a00c2e80a63cb12802080baf0a3e3ea61e677ba
2022-10-19 08:20:40 +02:00
Translation updater bot 248ba61f0a Localisation updates from https://translatewiki.net.
Change-Id: I4371d85b820bf2c3a4f53ee7729bcec57ed05ff0
2022-10-13 08:09:38 +02:00
Translation updater bot 6bfd9fa470 Localisation updates from https://translatewiki.net.
Change-Id: Ie19a0f6de8ed2d1aae2435d4b37c612404f7a9f4
2022-09-28 08:22:36 +02:00
Translation updater bot dda7e45667 Localisation updates from https://translatewiki.net.
Change-Id: I5c7b5a6f8162dc7a30f50d7cdaceb3d7cefa8ddc
2022-06-24 09:31:17 +02:00
Translation updater bot fcf830188e Localisation updates from https://translatewiki.net.
Change-Id: I7173240e7e9fc4b173ae858d490a15c8c44a8825
2022-06-20 08:17:47 +02:00
Translation updater bot c50ba8d371 Localisation updates from https://translatewiki.net.
Change-Id: Ib68ced4009ef383c22b9241eb65392c481ca1000
2022-06-13 08:28:59 +02:00
Translation updater bot fc028aabbf Localisation updates from https://translatewiki.net.
Change-Id: I26f0278e40ee759e28f6cd40b000608fa2cbf721
2022-06-03 08:58:06 +02:00
Translation updater bot 50b93a41e3 Localisation updates from https://translatewiki.net.
Change-Id: I661554def5510526b709a9f26d5d53eb7ebb3637
2022-05-30 09:24:08 +02:00
Željko Filipin 1dbc2915f6 selenium: Use @wdio/spec-reporter
Dot reporter provides no information on which tests suites and tests are
executed. Spec reporter is more verbose but it also provides much more
information that is useful in general, but especially when debugging.
For example, which tests are executed and which tests are skipped.

Bug: T280331
Change-Id: If50b811df856abc555904ecab298077215b2621d
2022-05-24 14:46:02 +02:00
Jon Robson 4d883cf58a Pages that do not exist shouldn't output related articles
Bug: T308078
Change-Id: Ie86ea03e4529e74cc5d9f71c973a5ab738ca499b
2022-05-11 19:13:35 +00:00
Jon Robson 2665e3c319 Add TypeScript support
For now it is limited to a single file RelatedPagesGateway.js
For now @types/jquery is requirement due to use of
wikimedia/mw-node-qunit and usage of MediaWiki core methods
and OOUI that use jQuery.

Change-Id: I370826bb3f521dcb5a68491990571ee1c87117ae
2022-04-27 19:11:10 +00:00
Jon Robson e5431a1c0b Limit RelatedArticles feature to ES6 browsers
We currently require support for IntersectionObserver.
which is supported on Edge >= 15 (15 has partial support),
Firefox >55, Chrome >58, Safari 12.1, Opera >=38,
iOS Safari >=12.2, Android 100

Full ES6 is supported in Edge >=15, Firefox >=54, Chrome >=51,
Safari >=10, Opera >=38, iOS Safari >=10, so such a change
would only drop support for Edge 15 and Firefox 54.

CSS.escape is guaranteed in all these browsers according to
caniuse, with the only discrepancy being the Edge browser (versions
16-18) so it is also suggested we remove support for those browsers.

Firefox 54 accounts for 0.0026% of page views
Edge 15-18 accounts for 0.069% of page views

Bug: T306355
Change-Id: Id2987e3456607b610c38da9ee157a026d1d00ada
2022-04-27 15:45:42 +00:00
Jon Robson b528100f3d Add jest testing infrastructure
Adds a test for  resources/ext.relatedArticles.readMore/index.js

Change-Id: Icf8a5afca2489308e2bcaa611c0fe27ed9f46f3a
2022-04-19 18:51:58 +00:00
jenkins-bot d043e31869 Merge "[Development] Allow us to pull RelatedArticles from production APIs" 2022-04-18 21:55:19 +00:00