Commit graph

1401 commits

Author SHA1 Message Date
Umherirrender d7cfbbcab2 Add missing documentation to class properties
Change-Id: I02d8eabfc0733a0d7556d7e6d4d6d787071b1da0
2024-08-20 22:18:05 +02:00
jenkins-bot c3d54d8ee9 Merge "Replace confusing count() on associative arrays with known keys" 2024-08-19 22:59:03 +00:00
jenkins-bot 8e6bd0ab08 Merge "Make use of ?? operators in TitleBlacklist::isBlacklisted" 2024-08-16 18:36:09 +00:00
jenkins-bot 4c7df61ffb Merge "Fix flipped version number comparison for the whitelist" 2024-08-16 18:36:08 +00:00
thiemowmde 7b5e9c7856 Replace confusing count() on associative arrays with known keys
Calling count() on an array with string keys technically works. But
it's confusing and ultimately meaningless. An array might contain
2 elements, but we have no idea how they are named. The code
continues to access some very specific elements, but really just
assumes they are there. We are lucky this never crashed.

We have very powerful language features like isset() or ?? to
express much more precisely what this code is supposed to do.

Change-Id: I7a37371b577c1e44a3c8514316198cf0f4288250
2024-08-16 16:06:22 +02:00
thiemowmde 8662c467d8 Use upstream markTestSkippedIfExtensionNotLoaded in test
Change-Id: I3cf1698e0b6808829d14d5b736237962fce9b945
2024-08-16 15:59:25 +02:00
thiemowmde 9174731169 Make use of ?? operators in TitleBlacklist::isBlacklisted
I think this makes the code quite a bit more readable. The behavior
should be the same as before.

Change-Id: I9c4a52b2c6908f023b3f55e27dcd2b1e5bef6c31
2024-08-16 15:58:10 +02:00
thiemowmde 01985564fa Fix flipped version number comparison for the whitelist
I don't know much about this codebase, but I'm pretty sure this is
a mistake. The point of such a version number is usually that we can
invalidate old data from the cache in case we make changes to the
format. Let's say the data in the cache is stored with version 3. Now
we increase it in the code to 4. The next time the cache is read the
numbers don't match and the cache is repopulated with new data,
including the new version number.

I think what the != comparison did was the opposite: The code is
constantly throwing away perfectly fine data and re-creating it over
and over again, except when the version number is increased. Only
then old (but now outdated, possibly even incompatible) data is used.
I don't know if it's ever invalidated in this case. Do objects in the
WANObjectCache get refreshed even if they are constantly in use?

Maybe we are lucky and this never had any consequences, except for
performance.

This bug exists ever since this code was added in 2007, see esp.
https://phabricator.wikimedia.org/rETBLb7bc8af6
That patch even mentions this exact issue when it says "make cache
version check really work", but fixes it only in one of the two
places.

Change-Id: I48ab5d5abd6018a846349c5d4c4ed041dd925389
2024-08-16 15:36:25 +02:00
libraryupgrader 52d708f9b3 build: Updating mediawiki/mediawiki-codesniffer to 44.0.0
Change-Id: If1af34aa9a67d87c626531fe3dba8dd73771ab7a
2024-08-13 00:41:38 +00:00
Translation updater bot 584719c315
Localisation updates from https://translatewiki.net.
Change-Id: I6cd56dfcf46226bd4fe239f91adf74fbc288dd20
2024-08-05 09:25:56 +02:00
Translation updater bot a0bf48631c
Localisation updates from https://translatewiki.net.
Change-Id: I03930886f75b0b3aa1530487ba7489a921fae103
2024-08-02 09:41:06 +02:00
Fomafix ffce132ec7 Use overrideConfigValue instead of setMwGlobals
Change-Id: I09c1c2c009b5384532b53bae489c9af882091283
2024-07-29 20:55:45 +00:00
Umherirrender 4290e114d4 Show titleblacklist error message in html when using js api module
Parse the message in html according to the errorformat= in the url,
fallback to wikitext to avoid a breaking change.

Bug: T369244
Change-Id: I58b995b3663b7dd286267e640d8d56164bd9be0b
2024-07-16 22:57:46 +02:00
Translation updater bot ea252fcf43
Localisation updates from https://translatewiki.net.
Change-Id: I5f87246508ad044cd590c7551352336a4a6288f2
2024-07-15 09:25:08 +02:00
Translation updater bot 4885bd1292
Localisation updates from https://translatewiki.net.
Change-Id: Ia4d80a14b1d622c4575daf8bd65c59f197b4e34a
2024-07-11 09:31:55 +02:00
Translation updater bot 3b51c90161
Localisation updates from https://translatewiki.net.
Change-Id: Ic2faa7adc98777e167566050a67b98db744ceab1
2024-06-24 09:26:10 +02:00
libraryupgrader 54c96154aa build: Updating eslint-config-wikimedia to 0.28.2
The following rules are failing and were disabled:
* es-x/no-object-assign

Change-Id: I329b999386e5f9a44a598757d5ee314757cd7daa
2024-06-22 03:22:31 +00:00
Translation updater bot a01b52087d
Localisation updates from https://translatewiki.net.
Change-Id: I38be07b789b4bfe695c7d9b5966881f31db624f5
2024-06-18 09:28:18 +02:00
Translation updater bot 711659f615
Localisation updates from https://translatewiki.net.
Change-Id: I77e0cdb2b8f1c3755ebf1694028dbc163a5cb8b6
2024-06-17 09:33:11 +02:00
libraryupgrader d7a84608f1 build: Updating braces to 3.0.3
* https://github.com/advisories/GHSA-grv7-fg5c-xmjg

Change-Id: I44b580bfc76e3061e3418202b6708d4ea3a361b4
2024-06-12 04:42:49 +00:00
Umherirrender 954db277fc Use namespaced classes
Changes to the use statements done automatically via script
Addition of missing use statement done manually

Change-Id: I3a7b448f3793f6690bb329a2e5255a558048ed5a
2024-06-10 22:05:45 +02:00
Translation updater bot de4695b75e Localisation updates from https://translatewiki.net.
Change-Id: I79c125049a1742798077d94f0a9a579c14f87bd4
2024-06-10 09:56:15 +02:00
libraryupgrader 9ab1fc1cb4 build: Updating eslint-config-wikimedia to 0.28.0
The following rules are failing and were disabled:
* no-jquery/no-extend

Change-Id: I17e07f7426ab5388681cbed7c6030de2a6f33697
2024-06-08 05:13:05 +00:00
Translation updater bot 9f6a6e00da Localisation updates from https://translatewiki.net.
Change-Id: Ie538ce45b27c4795d05f9fb08e849252662a5b6c
2024-06-07 09:46:34 +02:00
Novem Linguae 50eee8e1eb JSDoc: @mixins -> @mixes
Convert old JSDuck syntax to new JSDoc syntax

Bug: T366230
Change-Id: Ib001ba463d5e0b8ab76952ca3b4b6ac444b4e60f
2024-05-31 15:46:09 +00:00
Wandji69 11ba95998f Use ObjectCacheFactory instead of deprecated ObjectCache method
Bug: T363770
Change-Id: I2f59251914902dccef1bf7aac2d0c1008ebd21e2
2024-05-22 12:14:28 +00:00
Translation updater bot 26e918586b Localisation updates from https://translatewiki.net.
Change-Id: I2107da7f0a24392e661f8d6afe9c26f423ccf0f2
2024-05-20 09:26:20 +02:00
libraryupgrader 0428e32904 build: Updating grunt-banana-checker to 0.13.0
Change-Id: Ifbf64e949a61430ccdc5331fd4926b6901811181
2024-05-19 04:57:42 +00:00
libraryupgrader de81ec6f64 build: Updating grunt-banana-checker to 0.12.0
Change-Id: I8b42e7a3fdc2c6a2d5c34a488f9ae996ea286bac
2024-05-11 01:16:16 +00:00
libraryupgrader 5a9a77004f build: Updating composer dependencies
* mediawiki/minus-x: 1.1.1 → 1.1.3
* php-parallel-lint/php-parallel-lint: 1.3.2 → 1.4.0

Change-Id: I52abdcee59a185b2a60e579dc7c80b72559414df
2024-05-06 09:13:52 +00:00
Translation updater bot 4e4517ace5 Localisation updates from https://translatewiki.net.
Change-Id: Ibeea08992bafc083aa526d4ff21a0fc70adf664d
2024-04-22 09:29:56 +02:00
libraryupgrader eba09b86db build: Updating eslint-config-wikimedia to 0.27.0
Change-Id: I150509ce98e860306508ff190b47b71fc71269b9
2024-04-19 07:06:59 +00:00
Translation updater bot 3a28906bb6 Localisation updates from https://translatewiki.net.
Change-Id: I64179d6e3b6d86665c3baa90bee8c58e0f483737
2024-04-15 09:28:57 +02:00
Translation updater bot 969e149913 Localisation updates from https://translatewiki.net.
Change-Id: Ib4da50e849934e751655fb64f688013f2694c188
2024-04-08 09:27:16 +02:00
Translation updater bot 586e40aaad Localisation updates from https://translatewiki.net.
Change-Id: I73491497019e635a3c491b8c49a7cea88ae2e8ba
2024-03-26 08:21:09 +01:00
Umherirrender df17930718 Add explicit parentheses around mixed boolean operator
Mixing different binary boolean operators within an expression
without using parentheses to clarify precedence is not allowed (T358966)

Change-Id: I4348e05d74bdfd1e076c8b0425fe65616143e8f7
2024-03-23 01:08:23 +01:00
Translation updater bot 1f0f7292a8 Localisation updates from https://translatewiki.net.
Change-Id: Ic6b5c6456ba020300272aee8d5336603a3b13cab
2024-03-20 08:24:44 +01:00
Umherirrender e627f6b99d build: Upgrade mediawiki/mediawiki-codesniffer to v43.0.0
Change-Id: I1438abb264edc6c64bbe0a1bef98be1397c712bd
2024-03-12 20:42:45 +01:00
jenkins-bot dd1251a162 Merge "build: Updating dependencies" 2024-02-12 19:07:09 +00:00
libraryupgrader cdd7bd3503 build: Updating dependencies
composer:
* mediawiki/mediawiki-phan-config: 0.12.1 → 0.14.0

npm:
* eslint-config-wikimedia: 0.25.0 → 0.26.0
* grunt-banana-checker: 0.11.0 → 0.11.1
* grunt-eslint: 24.0.1 → 24.3.0

Change-Id: I28f3c498c8403fa270d56d3a3bad538410e4d6b2
2024-02-12 18:34:20 +00:00
Translation updater bot 5d783c0362 Localisation updates from https://translatewiki.net.
Change-Id: I08c2dd916a98a830edbf43b88f16768ae141466a
2024-02-12 14:50:38 +01:00
Translation updater bot 15d4112f18 Localisation updates from https://translatewiki.net.
Change-Id: I97fd9770ed270704289eed950ceed1630277c5be
2024-02-07 08:27:49 +01:00
libraryupgrader e4b3030ab6 build: Updating npm dependencies
* eslint-plugin-compat: 4.0.2 → 4.2.0
  * https://github.com/advisories/GHSA-c2qf-rxjj-qqgw
  * https://github.com/advisories/GHSA-c2qf-rxjj-qqgw
  * https://github.com/advisories/GHSA-c2qf-rxjj-qqgw
* semver: 7.3.5 → 7.5.4
  * https://github.com/advisories/GHSA-c2qf-rxjj-qqgw
  * https://github.com/advisories/GHSA-c2qf-rxjj-qqgw
  * https://github.com/advisories/GHSA-c2qf-rxjj-qqgw
* word-wrap: 1.2.3 → 1.2.5
  * https://github.com/advisories/GHSA-j8xg-fqg3-53r7

Change-Id: Iee0194ca6227b950a28388fe4e29af1179e537a8
2024-02-04 13:13:07 +00:00
Translation updater bot ddaf027a59 Localisation updates from https://translatewiki.net.
Change-Id: I68be9f129d34410cc4f79dd7f1e2723fab088e3e
2024-02-01 09:03:45 +01:00
Translation updater bot de2631d801 Localisation updates from https://translatewiki.net.
Change-Id: Ibca44a08acc513555d53c4c629b7edb391fb5f54
2024-01-31 08:29:47 +01:00
Translation updater bot a4f2547a22 Localisation updates from https://translatewiki.net.
Change-Id: I146a27e6f1663e2695aed5364241430538f828be
2024-01-28 16:08:08 +01:00
Gergő Tisza 2b7633219b
Declare grant risk levels
createaccount is a core grant which by default isn't really
sensitive, but TitleBlacklist adds tboverride-account which
can be used for social engineering.

Using MediaWikiServices to change configuration is not great,
but it's the least bad option available today - other hooks run
too late, and the extension registry doesn't support extensions
overriding core values.

Bug: T290790
Depends-On: Ib7a195c167f82e686c4ede45388957f9988bf75d
Change-Id: I2d20190266e4094449b5857b88f962a444c2f9b5
2024-01-18 22:29:07 -08:00
James D. Forrester 84bd6740cc build: Update MediaWiki requirement to 1.42
All extensions in the MediaWiki tarball are expected to track MediaWiki's release directly.

Change-Id: I5c65444e6b5dc5344cfca2adf9b05396283bc5dd
2024-01-12 18:34:10 -05:00
James D. Forrester 623124a6ae extension.json: Drop RL targets definitions, no longer honoured
Bug: T328497
Change-Id: I6669f3db58a20a1828130379da174a0399b02c77
2024-01-12 08:53:55 -05:00
Umherirrender dfef274db6 Use namespaced classes
Done automatically via script

Change-Id: If7d9fb3dda6b4c71ac6cf4963da86d49021544a5
2024-01-04 22:31:38 +01:00