Compare commits

...

1269 commits

Author SHA1 Message Date
www-data
d0b2a4c94d Update to LTS 1.43.5 2025-11-17 21:44:30 +01:00
www-data
60a12874b0 Remove privacy extension
It is USELESS
2025-11-15 11:08:01 +01:00
www-data
f9d3772ad2 Configure secrets and email 2025-11-15 11:08:01 +01:00
www-data
9acaec5724 Add Privacy extension 2025-11-15 11:08:01 +01:00
www-data
56abe40f12 Improve read only mode comment 2025-11-15 11:08:01 +01:00
www-data
bde12da199 Remove talk pages 2025-11-15 11:08:01 +01:00
www-data
a6467a5ee4 Don't skip vector-2022 skin 2025-11-15 11:08:01 +01:00
www-data
7427d968bf Use wgLogos instead of wgLogo 2025-11-15 11:08:01 +01:00
www-data
d06ab44330 Use server side CSS based space state indicator 2025-11-15 11:08:01 +01:00
www-data
c97750a79c Add spacestate CSS generator 2025-11-15 11:08:01 +01:00
www-data
908b8efe42 Add own extensions to .gitignore 2025-11-15 11:08:00 +01:00
www-data
3bb55532c4 Add some updating instructions in README 2025-11-15 11:08:00 +01:00
www-data
2c67a5afda Add current LocalSettings and composer.local.json files 2025-11-15 11:08:00 +01:00
Alexander Vorwerk
b73698dd9d RELEASE-NOTES-1.43: Add php 8.5 workboard
Change-Id: Ie9a3e44f1af862b4fb2598f0904a84274e8e39b3
2025-11-13 02:21:20 +01:00
Ammarpad
c183e4f127 ApiSandbox: Use POST when we have long URL
Bug: T406283
Change-Id: Ibb2a1813b29f521d665ce7cedf551fdaa35061fa
(cherry picked from commit 95c93b9371194cc9c9954ca8c5f2005ef094d7b1)
2025-11-12 22:21:58 +00:00
Translation updater bot
048f9ebd15 Update git submodules
* Update skins/MinervaNeue from branch 'REL1_43'
  to 5625e7f7d259a6862771ef0f7af2a35379de51fa
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Iea37cceb23719cd3d889ebfbc13e6d8f4cdb8ffa
2025-11-11 07:52:16 +00:00
Translation updater bot
f26406cd7d Update git submodules
* Update skins/Vector from branch 'REL1_43'
  to c1a37e7c4165e7fbe970095953e9e7a8203e5968
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I580415477dc84d99ce401480abfa8957d315fbe5
2025-11-11 07:52:15 +00:00
Translation updater bot
1bfb34c15b Update git submodules
* Update extensions/VisualEditor from branch 'REL1_43'
  to 5f54b1547a2d643319b047ee69789c899c57fa7f
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I9f92a6492edcf9a75c0da2349a9979dca3d311f9
2025-11-11 07:50:20 +00:00
Translation updater bot
41ee831ef5 Update git submodules
* Update extensions/WikiEditor from branch 'REL1_43'
  to a95116bd1f2035a4ee5f5ed6189e9aa9f3fca967
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I9f92a6492edcf9a75c0da2349a9979dca3d311f9
2025-11-11 07:50:18 +00:00
Translation updater bot
a59d964745 Update git submodules
* Update extensions/Thanks from branch 'REL1_43'
  to e2628af82ed4d7b2765f3dea9a680eac46c82791
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ibec740497183593439e5b6a292a3c151c6bbd90e
2025-11-11 07:49:50 +00:00
Translation updater bot
a5cbe693e0 Update git submodules
* Update extensions/TemplateData from branch 'REL1_43'
  to c84bae04246c00595f995f22541570c966d1bd89
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I809e1261d9adde20b1da1311026fe4d07253e836
2025-11-11 07:49:41 +00:00
Translation updater bot
d3caf1c2bd Update git submodules
* Update extensions/SyntaxHighlight_GeSHi from branch 'REL1_43'
  to d26925ac7fec83797a238114417f02fb6833331c
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I53538a72e6729862a102175c5993348f762a3c2a
2025-11-11 07:49:40 +00:00
Translation updater bot
64f59dbd72 Update git submodules
* Update extensions/Scribunto from branch 'REL1_43'
  to 74f7d103524674dafe01f2a72a8ed7a5913b04c5
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I72c27fece1545d4948d1cd44688ef2179cb5db7d
2025-11-11 07:49:31 +00:00
Translation updater bot
5002586a48 Update git submodules
* Update extensions/SpamBlacklist from branch 'REL1_43'
  to 61dd88357bc17528900d7b6063bf0b7c4a8dc36c
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I2fe1129747c05a0ba906f4de113116f152ca0d45
2025-11-11 07:49:31 +00:00
Translation updater bot
a9bfa13e0b Update git submodules
* Update extensions/ReplaceText from branch 'REL1_43'
  to 478ee142a7718842cbc2c19fe3f44bb48cac0621
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I4554bf662e4466aabb45fe5d59060f51f057b0f5
2025-11-11 07:49:29 +00:00
Translation updater bot
607fb062db Update git submodules
* Update extensions/ParserFunctions from branch 'REL1_43'
  to 4529c93ab50465d5e9a8296f406fd0c6556c2d1c
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I1c1c7db573f0bbd8b0952b37b3942e64ab5a5d99
2025-11-11 07:49:20 +00:00
Translation updater bot
4161ef9439 Update git submodules
* Update extensions/OATHAuth from branch 'REL1_43'
  to 7a2efacd7ae67d56f83c8e6b2b67cbabf7cb5981
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I0bf9482e4f93a332eaa9d0f029a0b28975f7f33f
2025-11-11 07:49:06 +00:00
Translation updater bot
4ebfe5f0c8 Update git submodules
* Update extensions/Nuke from branch 'REL1_43'
  to db452c808079aec8b322bc71837a6bd8e883fd8d
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ia94094c6a59b16d7a71a92af0acbeb3648ba0697
2025-11-11 07:49:04 +00:00
Translation updater bot
7b83eb00d8 Update git submodules
* Update extensions/MultimediaViewer from branch 'REL1_43'
  to 3334cf58d2bc1ce0b05c110b48c20bc1df0ad78f
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I50b7c2ba56776aeabe08c5bb40656641d1ab8d7c
2025-11-11 07:48:57 +00:00
Translation updater bot
62a7d71d47 Update git submodules
* Update extensions/Math from branch 'REL1_43'
  to e6935b4396b2ad58051e3227ea9938cdc75e5f91
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Iff0a0cb9fc6cdb426f8a0c4fc297fa5dc7daf7c3
2025-11-11 07:48:52 +00:00
Translation updater bot
c1ea3e2565 Update git submodules
* Update extensions/Linter from branch 'REL1_43'
  to 163e96982b54399de373f0f2696802b8a0433b1b
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I94145cb19cd6faf6719a8872dbe7e912b427594d
2025-11-11 07:48:47 +00:00
Translation updater bot
2967864d9a Update git submodules
* Update extensions/InputBox from branch 'REL1_43'
  to 43313fab6a1b246600b5f4e983d35c96648ac579
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I49dd0d44cb50400702f5f25ea02f04ec399c5777
2025-11-11 07:48:37 +00:00
Translation updater bot
ae5c1eb4b6 Update git submodules
* Update extensions/Gadgets from branch 'REL1_43'
  to f8dfbd62e8e4b98d3dd9de85023c431655472bba
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I2fa554aa5b52d713e3aa7a0911d8c4107e7ec8aa
2025-11-11 07:48:26 +00:00
Translation updater bot
6c36f7cd1a Update git submodules
* Update extensions/DiscussionTools from branch 'REL1_43'
  to f5ccf2ca382d0e5b12dbe8943fbaf279ce6fce0c
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I9ed378ae835c4bcf6ef1dca0e45ffb91779888e2
2025-11-11 07:48:14 +00:00
Translation updater bot
217051c429 Update git submodules
* Update extensions/Echo from branch 'REL1_43'
  to d93ef3187c4d1a74c445bcd2ca8c9002ba7b68dd
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I31d4d3b90baff099415154c20b72b9cd8b5c9b1c
2025-11-11 07:48:10 +00:00
Translation updater bot
6d91bb791f Update git submodules
* Update extensions/ConfirmEdit from branch 'REL1_43'
  to 52f0514eaf22048c5f153d2da00f9429285285ad
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Iecb02f62af6d0f2f87aabe43f011bd0babf7efa6
2025-11-11 07:47:57 +00:00
Translation updater bot
2ae6485817 Update git submodules
* Update extensions/Cite from branch 'REL1_43'
  to cadfade379b17f696224e9dd5d7b3f2b2ea38d38
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ia0f7ae6a6c7f954a0cf43719e71c9798e6bcc379
2025-11-11 07:47:49 +00:00
Translation updater bot
03ea9fc375 Update git submodules
* Update extensions/CiteThisPage from branch 'REL1_43'
  to 3f35fe5943b34d379f37fcb8278822f96cc02aae
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ic30c31d16afae8855b8e7e3e3aeededadaf97a65
2025-11-11 07:47:48 +00:00
Translation updater bot
5fb1ee7528 Update git submodules
* Update extensions/AbuseFilter from branch 'REL1_43'
  to 64335392ce931f5d65f1fa8033c24bcbb4c3f831
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ica28ce86b002cfd0b01cfef713c969b4a2d8581b
2025-11-11 07:47:16 +00:00
James D. Forrester
8a4c74a01c ApiParse: Introduce prop=tocdata as replacement for prop=sections
Bug: T328605
Change-Id: I11aaee951af1654685bae6463fbb856e9e873789
(cherry picked from commit 62ceaf809dccde76d418e35c46468d54cd15021b)
2025-11-10 13:20:27 +00:00
Claire Elaina
e8e8d5ed3d Update git submodules
* Update extensions/Math from branch 'REL1_43'
  to a824421bf020e2f4c4539e1b2dfb859d2569fa59
  - Add the ability to set a proxy for contacting RESTBase
    
    This is useful for environments where MediaWiki does not have direct
    access to the internet, but instead must use a proxy to reach the
    world wide web.
    
    Change-Id: I49fbf52be5ccd16c0c2c8425a17a77be35cbe989
    (cherry picked from commit 852bcde7d9e83e5d7b307526fbbd0ebbf43a43cc)
2025-11-09 00:14:47 +00:00
libraryupgrader
60a4a8de9d Update git submodules
* Update extensions/VisualEditor from branch 'REL1_43'
  to 4245cb64ff0defeea85a684819495fc1d763baff
  - build: Updating min-document to 2.19.1
    
    * https://github.com/advisories/GHSA-rx8g-88g5-qh64
    
    Change-Id: I77632b31b219760f8ed1f0d3739bbabaaa8156c4
2025-11-07 02:01:59 +00:00
Lucas Werkmeister
3dd38227e7 Update git submodules
* Update extensions/ConfirmEdit from branch 'REL1_43'
  to c9133de46088ddb8e686cdbfd6805537e3ee4432
  - SimpleCaptcha: Let system users skip captcha
    
    Bug: T409303
    Change-Id: Ib2bacb3274a66e5deb36241903e3eb2aca7f0353
2025-11-05 21:56:39 +00:00
Timo Tijhof
0d35bd7fbd maintenance/getConfiguration.php: Fix null warning and serialize error
When invoked without options, the default has two issues:

```
PHP Deprecated: strtolower(): Passing null to parameter of type string
is deprecated in /mediawiki/maintenance/getConfiguration.php on line 135
```

This is because despite the constructor and validateParamsAndArgs
treating --format as optional with default, execute() did not.

```
Exception: Serialization of Closure is not allowed
```

... from $wgHooks

```
LogicException: Instances of OutputPage are not serializable
```

... directly from $wgOut, and indirectly via ContextSource
from $wgUser and $wgRequest.

Change-Id: I2efa7835ff47084472c7fb079f93077b736057cb
(cherry picked from commit fc397136495f76f1a00e454da060d6526d6ad293)
2025-11-05 20:26:21 +00:00
Reedy
e182ebd8bf Add symfony/polyfill-php85 v1.33.0
Bug: T407770
Change-Id: I040b60a7db2ed27cfeb13693a783f7f6aa395b74
Depends-On: Icc5fb624a0d5882966bb76f25dd26a0596c7dded
2025-11-05 14:32:01 +00:00
C. Scott Ananian
bf1cf7a349 Add polyfills for PHP 8.4
These were already added to mediawiki-vendor in
I196827ca475efb9b8c9ec7d125cf4e7f8ccb3253.

Follows-Up: I196827ca475efb9b8c9ec7d125cf4e7f8ccb3253
Change-Id: Ibe2c5a94fb741a2a9b1a55be3ec2d0442aa109a7
2025-11-05 14:30:44 +00:00
Antoine Musso
2284d4698b Update git submodules
* Update extensions/AbuseFilter from branch 'REL1_43'
  to 18426afba58c3da02a154c70d36945e0a9b35a59
  - tests: skip config reset when ConfirmEdit is not loaded
    
    The ConfirmEditHandlerTest integration tests has a tearDown() function
    invoking MediaWiki\Extension\ConfirmEdit\Hooks::getInstance(). When
    ConfirmEdit is NOT loaded the test fails with:
    
      RuntimeException: mediaWikiSetUp() was called but not mediaWikiTearDown()
      use assertPostConditions() instead of tearDown() for post-test assertions.
    
    The reason is the class is not available which leads to an exception and
    parent::tearDown() is not invoked. In MediaWikiIntegrationTestCase,
    $setupWithoutTeardown is thus not reset and the next case claims
    tearDown has never been called.
    
    This was caused by Ib223d0fee8096d1bc768bf0a49ff453384dab3ef which
    rightfully moved markTestSkippedIfExtensionNotLoaded() from the test to
    setUp() but missed tearDown() had a call to ConfirmEdit code.
    
    Change-Id: I6ecb82e4c92d8100b8376c6c720da009f09e8883
    (cherry picked from commit 7406ed8fedd173d88a9e594d05f18f967ceaa9b5)
2025-11-05 14:15:09 +00:00
Reedy
8da56104bb Update git submodules
* Update vendor from branch 'REL1_43'
  to cf26c797547c07cb8511bb1dc1956fd65eb48883
  - Add symfony/polyfill-php85 v1.33.0
    
    Bug: T407770
    Change-Id: Icc5fb624a0d5882966bb76f25dd26a0596c7dded
2025-11-05 13:56:49 +00:00
Reedy
63f84398c4 Update git submodules
* Update vendor from branch 'REL1_43'
  to 5ab8e7f87f1eeab908d66dc3f8b3a8eeafcc642c
  - Add symfony/polyfill-php84
    
    Change-Id: I196827ca475efb9b8c9ec7d125cf4e7f8ccb3253
2025-11-05 13:56:45 +00:00
Translation updater bot
cda2d336b9 Update git submodules
* Update skins/Vector from branch 'REL1_43'
  to a760979b197243a570b2f514793189924c794c69
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I002c57e2db6d1a44b7e79045167e706c766cd177
2025-11-04 07:42:51 +00:00
Translation updater bot
e64b9d867c Update git submodules
* Update skins/Timeless from branch 'REL1_43'
  to 0b6f38baa2404009a61c2fc6a6d43a61fbe45cb9
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I016abd4d6850d878589b083a56e4b77d2155916e
2025-11-04 07:42:49 +00:00
Translation updater bot
e8972ecc31 Update git submodules
* Update skins/MinervaNeue from branch 'REL1_43'
  to f7060da45f71006025952257f0509c83be32b27a
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ica329aa8599a415cb71417ab5ef8a71948f770d6
2025-11-04 07:42:48 +00:00
Translation updater bot
1f6c23c724 Update git submodules
* Update extensions/VisualEditor from branch 'REL1_43'
  to f4c93b2b1bc5713546aa8de123208cf5b5d868d8
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I82fb159451b82e58aa82519d877d0d668dd62dfe
2025-11-04 07:40:13 +00:00
Translation updater bot
286bb82fdb Update git submodules
* Update extensions/WikiEditor from branch 'REL1_43'
  to 49c7a2ff5c2326f424d86e686df569932f13300c
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I1b15f14347b1f6c1919e77053d70d3ed9d4de98a
2025-11-04 07:40:03 +00:00
Translation updater bot
d0a3467204 Update git submodules
* Update extensions/Thanks from branch 'REL1_43'
  to 45143109d2af600664b6e10d8501ebcdd55a5920
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I07a722ec76ab6cade8324cc8895789bed8bdd03d
2025-11-04 07:39:43 +00:00
Translation updater bot
0cea377a20 Update git submodules
* Update extensions/TemplateData from branch 'REL1_43'
  to 8c0e5eb4e18ae2e2abae2b381cd1751709a12822
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I8ba3bea41af495424d073f3838c76fa6f588c8b4
2025-11-04 07:39:24 +00:00
Translation updater bot
9c1b1fe183 Update git submodules
* Update extensions/SpamBlacklist from branch 'REL1_43'
  to 4409e938ae1901cf3933c1fa491d9c8302182eb0
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ie7ce2f16586f7243a6a882ebc16611dd521387bc
2025-11-04 07:39:19 +00:00
Translation updater bot
eed2f093e8 Update git submodules
* Update extensions/Scribunto from branch 'REL1_43'
  to a3bdfc0d24d53f504becfd5ce70c739d7e25457a
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I22e75252c7722d2ef031293a521b4d587e154298
2025-11-04 07:39:14 +00:00
Translation updater bot
9b25d290ea Update git submodules
* Update extensions/PdfHandler from branch 'REL1_43'
  to de41cc4864d775635868b7a0ddef30304fa29a2f
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I6a356f019235561ac909eafce770fb8cedbdc240
2025-11-04 07:38:52 +00:00
Translation updater bot
6794b8e42d Update git submodules
* Update extensions/PageImages from branch 'REL1_43'
  to 7d5fd46d6d5b1683bb7d24e6d9521e54328a2550
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I86a971ff88269f0e5464b2b9085c018eb10250ed
2025-11-04 07:38:46 +00:00
Translation updater bot
93d55f2c29 Update git submodules
* Update extensions/OATHAuth from branch 'REL1_43'
  to b6d784c40b5a54ed31e6030879091ef18ab4e5a4
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I372f20b37057062c97ea7c36ef241a367727c800
2025-11-04 07:38:41 +00:00
Translation updater bot
256f3feb36 Update git submodules
* Update extensions/Math from branch 'REL1_43'
  to bf0e371d771ca4774a5af81a3b1b0d92bc18b260
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I2aed50dfd5271f5e1684d2d510ceb4946d78e399
2025-11-04 07:38:30 +00:00
Translation updater bot
342dc10f7c Update git submodules
* Update extensions/Linter from branch 'REL1_43'
  to a4848af17f17b29635c3d24e06f98cfea71d2907
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I449f754f7fe05a1fa361f2580e89d44c53ffdba1
2025-11-04 07:38:19 +00:00
Translation updater bot
b3b0742e7e Update git submodules
* Update extensions/InputBox from branch 'REL1_43'
  to b12b990f359577323414280e5ef215363f684500
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Id06d430a5f202bcac414ee82d13d989b595bd83d
2025-11-04 07:38:09 +00:00
Translation updater bot
298a9b664b Update git submodules
* Update extensions/Gadgets from branch 'REL1_43'
  to ec62b2070d8746e07a4f61761b6180b4248e0b26
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I1516339b519225ad0c1176cbfbd3a8146804f898
2025-11-04 07:37:53 +00:00
Translation updater bot
1f3f19a3fa Update git submodules
* Update extensions/Echo from branch 'REL1_43'
  to 5e4a362e593b7b3de53ed032214d274cebbadb8d
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ic7abdb9c9090bf49dc6df1a442acaf20f6792f64
2025-11-04 07:37:43 +00:00
Translation updater bot
4fc16bd702 Update git submodules
* Update extensions/DiscussionTools from branch 'REL1_43'
  to 00bc77fbf74f09f93971b596787505fdf95a6f19
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I41a9d2ae208a3a6695047708c0664be2d8daabef
2025-11-04 07:37:37 +00:00
Translation updater bot
784528a6ec Update git submodules
* Update extensions/ConfirmEdit from branch 'REL1_43'
  to eb1ecc174ea9e9ee007a7741820ce93e727653f2
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I31c965b8f208f12881c89839a5c772801ee4dc47
2025-11-04 07:37:19 +00:00
Translation updater bot
190f9f814b Update git submodules
* Update extensions/CiteThisPage from branch 'REL1_43'
  to d1272d1214cd115fa78f70f4b90df30b443e9881
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I12d4e26d3718d8a4b84ebf096f8d46315683d07b
2025-11-04 07:37:08 +00:00
Translation updater bot
e0c0524065 Update git submodules
* Update extensions/Cite from branch 'REL1_43'
  to c7d2f2b3f3a3b3ab1fedc1c0fb84ec1e6476920c
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I35c52a93c295c00053f4e5aff55211fd1dd73cd7
2025-11-04 07:37:05 +00:00
Translation updater bot
8170b21478 Update git submodules
* Update extensions/AbuseFilter from branch 'REL1_43'
  to 352785581d86fd03d52d7aebf0cdbf5b5d82b5b5
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I066539c898d4bd5bfff3da273d0243e9f1514e06
2025-11-04 07:36:15 +00:00
Translation updater bot
241d814f8b
Localisation updates from https://translatewiki.net.
Change-Id: I4f135114a0205b7e5e1e0959fcd35c225d63698e
2025-11-04 06:41:59 +01:00
C. Scott Ananian
0db702cd48 i18n: Remove deprecated behavior switches without underscores in et/sh-latn/vep
These localizations lack the underscore prefix/suffix expected of
behavior switches.  Use of these localizations was deprecated in MW
1.45 and all usage has been added to a tracking category.  With the
help of global search and the tracking category, all preexisting usage
on these wikis has been removed and replaced with aliases which
properly contain a double-underscore prefix and suffix.

Bug: T407289
Change-Id: I7874b78162bee377b5caf6bfdd66a557b83fe463
(cherry picked from commit 3c796ed973050c9744a19163e4ce27b4b4ae9c2c)
2025-11-03 18:12:24 +00:00
C. Scott Ananian
b59b076e50 i18n: all behavior switches should start/end with __ (part 2)
In a previous patch all behavior switch magic words that did not
start/end with __ were deprecated, and new aliases added that *did*
start/end with __.  This previous patch missed two cases, in the
`sv` and `nds-nl` languages, which are fixed in this patch.

Follows-Up: I458e3c981c07394ab81259fadb3d68a0399e7953
Change-Id: I6eb78ae7edd8a2d76878af45f0eb6eac1dcfbef7
(cherry picked from commit a0ee969205fe62793497ec4d39b6675b8a381681)
2025-11-03 18:11:00 +00:00
C. Scott Ananian
504079744b i18n: deprecate double-underscore magic words which don't start/end with __
All "double underscore" behavior switches should actually begin and end
with either a double underscore or a double U+FF3F (a fullwidth
underscore used in Japanese).  Parsoid's tokenizer will not match a
localized behavior switch which does not start with double underscore.

In this patch localized aliases are added which start/end with double
underscore, and a few erroneous localizations were corrected which
had leading spaces or zero-width spaces.  In addition, pages which
use a localized behavior switch which does not start/end with double
underscore are added to a tracking category for manual fix up.

In a future release (I8dd522d605c2b9e5310d169d7c51bcf424089497),
aliases which do not start/end with double underscore will be removed.

Bug: T407289
Change-Id: I458e3c981c07394ab81259fadb3d68a0399e7953
(cherry picked from commit 37772271cd6099327fb57f7c3139206be1ad72c6)
2025-11-03 18:10:10 +00:00
libraryupgrader
10a9e9ace1 Update git submodules
* Update skins/MinervaNeue from branch 'REL1_43'
  to 1631b10d8b27ed2a430b630b25396dd77e4c4382
  - build: Updating validator to 13.15.20
    
    * https://github.com/advisories/GHSA-9965-vmph-33xx
    
    Change-Id: If5432b81c3908442c21f3f2f1d48ec065809483e
2025-10-30 22:16:10 +00:00
libraryupgrader
7d35c8118a Update git submodules
* Update extensions/VisualEditor from branch 'REL1_43'
  to 74f12d460581b2739cfbe004f5f4081dd29af732
  - build: Updating validator to 13.15.20
    
    * https://github.com/advisories/GHSA-9965-vmph-33xx
    
    Change-Id: I40683252a9f2fbfbbbbc69932177c1ade0636adb
2025-10-30 18:50:00 +00:00
libraryupgrader
a32d0f02df Update git submodules
* Update extensions/Math from branch 'REL1_43'
  to d28df59d03f9b709a8e510850fc37ffa15d0787c
  - build: Updating validator to 13.15.20
    
    * https://github.com/advisories/GHSA-9965-vmph-33xx
    
    Change-Id: Iccda9f6f5e7a01c093582abb30e1a7db1b721187
2025-10-30 08:05:18 +00:00
libraryupgrader
8bcf424630 Update git submodules
* Update extensions/Echo from branch 'REL1_43'
  to 3e2bc45182b3ed04a37b8934c5b460d50c5afefd
  - build: Updating validator to 13.15.20
    
    * https://github.com/advisories/GHSA-9965-vmph-33xx
    
    Change-Id: I39a23808e26cbbadcc3bf254c295c573518f74c0
2025-10-30 04:26:11 +00:00
libraryupgrader
faaf38e3b0 Update git submodules
* Update extensions/AbuseFilter from branch 'REL1_43'
  to e77063bb583d638d8920e2edfea9ffaa815c2d15
  - build: Updating validator to 13.15.20
    
    * https://github.com/advisories/GHSA-9965-vmph-33xx
    
    Change-Id: I9cfa98cb038c5372d456c102056c55881b1abb35
2025-10-30 01:11:50 +00:00
Mbergen
9153d6998d Fix the premature loop exit in Parser.cleanUpTocLine
When a TocLine contains elements with no children, the loop would terminate without reaching the end of the line.

Bug: T405064
Change-Id: Ica73c0166a039d9d0479e8d2357bdc610a61b42f
(cherry picked from commit 71c4df259b0fd34abe27bc957d0cebdb36547864)
2025-10-29 19:17:31 +00:00
Brian Wolff
908c2f9c46 Improve CSS checking in SVG filter
Use more in depth CSS parsing to better check for CSS rules
that cause external resources to be loaded.

Backport of 07f3d831def13b718b2155732b3452bec9516231

Bug: T85085
Change-Id: I526a815f8ec8e357abae3dcf5ef4e6c3081ab7c0
2025-10-29 13:17:35 +00:00
Timo Tijhof
498190ea4b ResourceLoader: Update cssjanus/cssjanus to wikimedia/cssjanus
No rel-note since it is the same version as before.

Ref Iebe1ee249d738c956b8 in php-cssjanus.git.
Ref https://packagist.org/packages/cssjanus/cssjanus
Ref https://packagist.org/packages/wikimedia/cssjanus

Depends-On: I5345056a8af729a7b5d15d71dc6ba01b16c4cd49
Change-Id: Ibc378ff282ff710ac6ed8150ccba68a5f164557e
2025-10-29 13:15:29 +00:00
Timo Tijhof
0a85d78758 Update git submodules
* Update vendor from branch 'REL1_43'
  to 5b45d523f0553f58cb57ac8294ec34b9715d7495
  - Replace cssjanus/cssjanus with wikimedia/cssjanus
    
    Ref Ibc378ff282 in mediawiki/core.
    
    Change-Id: I5345056a8af729a7b5d15d71dc6ba01b16c4cd49
2025-10-29 12:45:22 +00:00
C. Scott Ananian
7f75a56adc Forward-compatibility: allow output flags to be serialized in OutputFlags
This will allow a future patch to remove the specific properties for
$mNoGallery, $mNewSection, etc and just use the $mFlags array, which
will DRY out and shrink ParserOutput and its serialization code.

This patch includes forward-compatibility data according to the process
outlined in
https://www.mediawiki.org/wiki/Manual:Parser_cache/Serialization_compatibility

Bug: T292868
Change-Id: I52e0bc9e4ecdc5fc9580d0e13bd0322ffdc9abf1
(cherry picked from commit c13d69bfa0a192491d69c34df57383e2b80e05d0)
2025-10-28 11:20:18 -04:00
Bartosz Dziewoński
71c9afd57a Make the login and signup forms wider
According to Codex Style Guide:
https://doc.wikimedia.org/codex/latest/style-guide/constructing-forms.html#layout
forms "should span the entire parent container of the page".

We need to leave some space for the account benefits column,
so we can't quite do that, but we can make it less cramped.

Allow the benefits column to shrink a little, so that this change
doesn't push it offscreen at common screen resolutions.

Bug: T355853
Bug: T407172
Change-Id: I70bdbd414e2dc871dadc58922b34acb91cd66381
(cherry picked from commit f0cf5e6393663f319f1d7697f4527d9a4635e760)
2025-10-28 14:54:47 +00:00
C. Scott Ananian
f2816a3b29 ParserOutput: Add default values for JSON deserialization
This is a forward-compatibility patch: it will eventually allow us to
slim down the serialized form of the ParserOutput by omitting
properties which are set to their default values.

Change-Id: I52ba7b1560b67347b4c08eb3a2a45ed464b8f4f7
(cherry picked from commit f54f2a98ea18d2b974728e46dd7ccd2ecf0d78fd)
2025-10-28 14:27:32 +00:00
Timo Tijhof
14f02f3e49 Update git submodules
* Update vendor from branch 'REL1_43'
  to 33b2d2576c1c2f9a522f183e4a0dae5db21fc01a
  - build: Switch local image from composer-php74 to composer-php81
    
    In theory we could keep this on an arbitrarily different and older
    PHP version for quite a while (e.g. PHP 7.2 even if we wanted) since
    Composer generally does not execute or validate the code it downloads,
    and the way it resolves the dependency tree and PHP requirement is
    deterministic in the software, regardless of local runtime version.
    
    But for consistency it feels right to use php81 here.
    
    Note that this does NOT change the composer.json#require.php field
    which remains at `php >= 7.4`, and thus this also does not change the
    auto-generated `composer/platform_check.php` file which hardfails
    execution on any PHP <= 7.4 server.
    
    Bug: T328921
    Change-Id: I6b674e74aeaaec2678a06eea99eded2684f75990
    (cherry picked from commit f21952e554147262c749365ae219edaa1e33c7a0)
2025-10-28 11:24:46 +00:00
Translation updater bot
a7e3966643 Update git submodules
* Update skins/Vector from branch 'REL1_43'
  to 961a4867109880058ce9848fe68dbbdd9870b89b
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I7873479e91c3e846a477a4ee98ed4f4d7ab2b97b
2025-10-28 07:36:49 +00:00
Translation updater bot
b34fd1fb60 Update git submodules
* Update skins/Timeless from branch 'REL1_43'
  to f86fbf733f430d932b476213a91f71c116f508bf
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I24faf26767edaaee52305a0ebe965da32a55e189
2025-10-28 07:36:46 +00:00
Translation updater bot
ff63c7f622 Update git submodules
* Update extensions/VisualEditor from branch 'REL1_43'
  to f818f56e5214f9ac16dfe885438d5dad957275fb
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ib5efcb4305272ec89cf856a4b8f652d82af3ed77
2025-10-28 07:35:13 +00:00
Translation updater bot
13f0c760a6 Update git submodules
* Update extensions/WikiEditor from branch 'REL1_43'
  to 3255ee462ec1a8cf9182b332e68a65180fc772d3
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ib5efcb4305272ec89cf856a4b8f652d82af3ed77
2025-10-28 07:35:09 +00:00
Translation updater bot
e2669c5b4c Update git submodules
* Update extensions/TemplateData from branch 'REL1_43'
  to 84301428b3a24b75a8b9ed75122cb70d5d52eaa8
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I7d43be75a5601bc1bb1cbc717c0db51ca333e1fb
2025-10-28 07:34:39 +00:00
Translation updater bot
71a5f7040d Update git submodules
* Update extensions/SyntaxHighlight_GeSHi from branch 'REL1_43'
  to faffea13692ef9cc71a0d22ab5307a2fc72c68f8
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I8beeaf27eaa165c65f944bd9104a9b4aee7009a6
2025-10-28 07:34:38 +00:00
Translation updater bot
38d13dcf28 Update git submodules
* Update extensions/OATHAuth from branch 'REL1_43'
  to 3e9bd001ee24b9ad01a4a52a411a0b9757dd6256
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I4e79d9a7022b66951e0ff6a94c7508d19954358d
2025-10-28 07:34:16 +00:00
Translation updater bot
0a9887652a Update git submodules
* Update extensions/Math from branch 'REL1_43'
  to 798124599a416eab768ddbb9feaa4ea68efdd6e5
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ie24c460d1d127d06dc7c762573da7938545684de
2025-10-28 07:34:13 +00:00
Translation updater bot
b12752e432 Update git submodules
* Update extensions/Linter from branch 'REL1_43'
  to 486b2a2380337bfbc068af62fd653a0b84cbe41d
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I85e1b84d142c58d4ecf1ec1ee38bbade6e3bbbae
2025-10-28 07:34:05 +00:00
Translation updater bot
eb248adb68 Update git submodules
* Update extensions/Echo from branch 'REL1_43'
  to 6dff29405342cd139ede28b8cf184cbdc618541e
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I0254ab4b64f01e2dccd678cd76faefffce50a37b
2025-10-28 07:33:39 +00:00
Translation updater bot
bde9e7a86a Update git submodules
* Update extensions/DiscussionTools from branch 'REL1_43'
  to 943d89d785176b3d8bac8a9e04dca3144d81ef8b
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I8aa9b2c515b147ee788f183579d6e2bea4385426
2025-10-28 07:33:33 +00:00
Translation updater bot
f5da031078 Update git submodules
* Update extensions/CiteThisPage from branch 'REL1_43'
  to bd6677bbb491fa449f01ac754a4484a4e0937025
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I98cbdec577e5d0495a0d6abce2f2201d596a845e
2025-10-28 07:33:17 +00:00
Translation updater bot
7b6b3f728d Update git submodules
* Update extensions/Cite from branch 'REL1_43'
  to 2f98b6dc4f1680defff5137c1914defa01ccefac
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Iee3a5f0fd8396691ef25869131af8d98e88a7c45
2025-10-28 07:33:15 +00:00
Translation updater bot
f7b3253de5 Update git submodules
* Update extensions/CategoryTree from branch 'REL1_43'
  to 0ff717b91a855fcd2f975c49a969897c13ab1df8
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I2e1aee9f0eee92aa88512e19cbf9622e566255a7
2025-10-28 07:33:06 +00:00
Translation updater bot
3a1de54342 Update git submodules
* Update extensions/AbuseFilter from branch 'REL1_43'
  to a79a76303b8d4a74d80f676cd608fcb270cef6e3
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I590869b8b7353b11a840c62f7c3adb4b0b94dd00
2025-10-28 07:32:58 +00:00
Translation updater bot
05b0dd075b
Localisation updates from https://translatewiki.net.
Change-Id: If55c93e50abb6969c50a655fe659aa8ab555bd6e
2025-10-28 06:35:56 +01:00
Umherirrender
42eebc2aee api: Allow ApiResult to override imagerepository key in prop=imageinfo
prop=videoinfo also set this key, using both results in error
Needs a new flag as ApiResult::OVERRIDE override the whole result array
of the given sub key and not only conflicting keys.

Bug: T402438
Change-Id: I17e8e2f35c713e9ed6169255113e888ffdb9ea12
(cherry picked from commit c94b6ced5d653204bb590ba5d767650f74d93be4)
2025-10-25 18:20:34 +00:00
sbassett
953952abc9 Update git submodules
* Update extensions/OATHAuth from branch 'REL1_43'
  to 85e9bd65adb63534b9aa4a6dff7a6dab9fd4c9bb
  - Remove base32 padding characters from TOTP secret key
    
    * In Ic647b5ba8, the TOTP key creation was adjusted to
      use a 26-byte, base32-encoded secret key. This led to
      the introduction of padding characters (=) at the end
      of the key string, which some authenticator apps do not
      support.  This patch introduces a trivial method to
      remove the extra padding characters while preserving
      the creation of a valid TOTP key value.
    
    Bug: T408225
    Bug: T401393
    Change-Id: I1bc8b66d12fc4aa53e8d37802d250552cfd4a772
2025-10-25 12:10:35 +00:00
Translation updater bot
cdfe4c594d Update git submodules
* Update skins/Vector from branch 'REL1_43'
  to bc88b28ddf1dde0ad25bc5ea47f1e896ae91be95
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I27612646eee0abb528668c7dca17ee33bf93375a
2025-10-21 09:08:50 +00:00
Translation updater bot
3d6d784d43 Update git submodules
* Update skins/Timeless from branch 'REL1_43'
  to dec463b0768f7888f89b139baa424ef2f644d839
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I40f0b1de7af990cfb3412e0b47eda6d740a082e1
2025-10-21 09:08:43 +00:00
Translation updater bot
155cef6d0b Update git submodules
* Update skins/MinervaNeue from branch 'REL1_43'
  to 254a0ba418748063847f3416ffa9b4cc7facaa7e
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I5522c291eb9b89c2db1ec6b515cdc7e1d90caa9e
2025-10-21 09:08:41 +00:00
Translation updater bot
41c6982462 Update git submodules
* Update extensions/VisualEditor from branch 'REL1_43'
  to 2612bc0874bbe8e5a55cc034da40cf8a4c49e733
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I9e60d5df32b56c1c722211a268e21c190a394998
2025-10-21 07:52:30 +00:00
Translation updater bot
88b8af6699 Update git submodules
* Update extensions/WikiEditor from branch 'REL1_43'
  to cc7b12a01565cf57815d3eedce1efdd6020edf4d
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I9e60d5df32b56c1c722211a268e21c190a394998
2025-10-21 07:52:14 +00:00
Translation updater bot
3df7751188 Update git submodules
* Update extensions/OATHAuth from branch 'REL1_43'
  to ed7a06f0d1d7d9555c9daac18cc54c9b648d3977
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Idca777ada7d19a8778a46213840c057a4341f93d
2025-10-21 07:51:44 +00:00
Translation updater bot
fc4d2bfbfa Update git submodules
* Update extensions/Scribunto from branch 'REL1_43'
  to 310c6748263a0ab19d077ba332293a3a04ff5dbb
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Id452bf58d45c70f497f3a78c91d60f99547e747d
2025-10-21 07:51:40 +00:00
Translation updater bot
70a44dddf4 Update git submodules
* Update extensions/TitleBlacklist from branch 'REL1_43'
  to b7ff44884d361889e3daaf6dd40007dc4fdcad7a
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I6fd1d670a7db117037cecec51fcccf1030904d68
2025-10-21 07:51:36 +00:00
Translation updater bot
0d63a7e9c7 Update git submodules
* Update extensions/Thanks from branch 'REL1_43'
  to fe1d961af992a4ae5f4a728b5a72351794f65d56
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Id2dd4ff62dbcf87a5f16deda973323c44efa3a0f
2025-10-21 07:51:30 +00:00
Translation updater bot
5628992d54 Update git submodules
* Update extensions/TemplateData from branch 'REL1_43'
  to 9ff16f08f9a733366fb7565da17d09040a648dbb
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I4894b0b6c71f340f014cc5e6ffb72f79cb61ab85
2025-10-21 07:51:30 +00:00
Translation updater bot
8fb0b8695a Update git submodules
* Update extensions/ReplaceText from branch 'REL1_43'
  to cef49ab3ec80dd8174baa4c1a32c1858ffae3864
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I021fa790574f39580957e57c3b2dbe8e80d391ca
2025-10-21 07:51:25 +00:00
Translation updater bot
b054eef8cb Update git submodules
* Update extensions/Nuke from branch 'REL1_43'
  to c8eb3e3aff8026b8d212fc1b5f2dfc37c3a0b98b
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ia794c753f7b0469abc7f6613acc63390de0e230f
2025-10-21 07:51:22 +00:00
Translation updater bot
bca7a310e2 Update git submodules
* Update extensions/Math from branch 'REL1_43'
  to 83e7004b43d72a4c94c3a9a692b5c9e2ece0f5de
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I18c56227c0f33f1dcbe96f99682ab5c67ec3fe33
2025-10-21 07:51:15 +00:00
Translation updater bot
99c503cd5f Update git submodules
* Update extensions/Linter from branch 'REL1_43'
  to 54be10ec80f60f46ee3295feffc94c685a869cee
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I36eacba73c47e93b214296141d8f294c77b10358
2025-10-21 07:51:08 +00:00
Translation updater bot
e8fe45e95f Update git submodules
* Update extensions/DiscussionTools from branch 'REL1_43'
  to 4c31142b3b9e1e835e900a8f8333b4290aca542f
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I1beb55de7b978028c2b7c3dba2496ddece756579
2025-10-21 07:12:37 +00:00
Translation updater bot
94af744844 Update git submodules
* Update extensions/Echo from branch 'REL1_43'
  to c9279d7ba70b5cb482b6ea2edddb7243a5ed2db7
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ie15937e1ce49cd733ba46d983a8c0cc1bde0e8bc
2025-10-21 07:12:35 +00:00
Translation updater bot
b9238dde4b Update git submodules
* Update extensions/ConfirmEdit from branch 'REL1_43'
  to aad335c0969b5487b8f34bcfaa8f99f707b872fd
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I9b81b7b6324ec4da0652c77b74a1308d925cbcf6
2025-10-21 07:12:24 +00:00
Translation updater bot
f1720bda95 Update git submodules
* Update extensions/Cite from branch 'REL1_43'
  to daf2831093d8378184ee85fd2ed00483bffa1e9c
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ic63a1dbcb651bcca6920574c0efcf7c6f552ba2e
2025-10-21 07:12:08 +00:00
Translation updater bot
bd3ee88852 Update git submodules
* Update extensions/AbuseFilter from branch 'REL1_43'
  to 7dd7fefcbb31ae6c3530842a40e6a4638bd54fc0
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I0f9540cdcf7aed7740716be066879373a888a136
2025-10-21 07:11:25 +00:00
Translation updater bot
dfd38e20ee
Localisation updates from https://translatewiki.net.
Change-Id: I0fb1e0ee5e0405f8d9765c2127f15358d1e90345
2025-10-21 07:35:06 +02:00
Translation updater bot
1dd51f203a Update git submodules
* Update skins/MinervaNeue from branch 'REL1_43'
  to 30218160a02a789c1b155d8fed9560b1f1195e7d
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I3a83628dda4ff7e3a95a5ccf3a1815886edcedea
2025-10-14 07:20:27 +00:00
Translation updater bot
3c7fc7690c Update git submodules
* Update skins/Vector from branch 'REL1_43'
  to 5e7863738f126133411a9b37a3393c6a9b74d615
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I31bcb848ae5b3ce6056f6f4d87a7bed4cd2157cd
2025-10-14 07:20:25 +00:00
Translation updater bot
bd7339ff50 Update git submodules
* Update skins/Timeless from branch 'REL1_43'
  to c041b68c339fc1de27dcc437b9a923357474fec7
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I3a83628dda4ff7e3a95a5ccf3a1815886edcedea
2025-10-14 07:20:25 +00:00
Translation updater bot
6366e8e218 Update git submodules
* Update extensions/VisualEditor from branch 'REL1_43'
  to 71c2969e32dd2d7e5beda63726ad3551e9a3bd83
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Icccf31fc99f4e997f5716ca4f1f1d8a1b82feab6
2025-10-14 07:19:11 +00:00
Translation updater bot
4ab3affada Update git submodules
* Update extensions/WikiEditor from branch 'REL1_43'
  to fa9835f176c00c83e314053cfd10ee9d6950902d
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Id8869b47763afd21f706b250ddcaba1296ae5132
2025-10-14 07:19:01 +00:00
Translation updater bot
598c92a17a Update git submodules
* Update extensions/TitleBlacklist from branch 'REL1_43'
  to d7aa46bf0af880c98526bf1ab623d5b1ff29ec28
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ib6aeb7a98da6a57986fbb14fb901b37e3fb6ffff
2025-10-14 07:18:41 +00:00
Translation updater bot
07f723741b Update git submodules
* Update extensions/Thanks from branch 'REL1_43'
  to 322717030c3af08867b1ec5d43255b6d5818aa04
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I0f3ac7cb495dfde3a1df52243d61649c23e31e1c
2025-10-14 07:18:40 +00:00
Translation updater bot
a7866dd88c Update git submodules
* Update extensions/TemplateData from branch 'REL1_43'
  to e25ded1ddd1812ec0bc657bc35706cadf21c9954
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ieaf52e3816f47a25f001d1683fc3272ae46ba9dd
2025-10-14 07:18:32 +00:00
Translation updater bot
10c8af1efe Update git submodules
* Update extensions/SpamBlacklist from branch 'REL1_43'
  to d235088a0436b5804f858d4be46b14f4a9ba649e
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Iecabe42945a550db0e382b565481f65f86c01a4a
2025-10-14 07:18:23 +00:00
Translation updater bot
d01a0f4a42 Update git submodules
* Update extensions/OATHAuth from branch 'REL1_43'
  to 4b932a2838ec4f1411331954e534aff015c61a39
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I1721922c6379bdaaef6c61c3cb6fd131ba1de003
2025-10-14 07:18:07 +00:00
Translation updater bot
f560b5130b Update git submodules
* Update extensions/DiscussionTools from branch 'REL1_43'
  to 44e8def7ac58aaba6bc4dfcb9e8a63f07dd2745c
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I00b4c9bb5cb7481ff46f13ee3412784923be2898
2025-10-14 07:17:26 +00:00
Translation updater bot
0b5f12fa76 Update git submodules
* Update extensions/Echo from branch 'REL1_43'
  to 28f335a9f21bfb9eab4745607f4bd20a93e08fd5
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ibfa2b561ed55b350bc52b14d3116a3e0dac7f0fc
2025-10-14 07:17:26 +00:00
Translation updater bot
e05e490612 Update git submodules
* Update extensions/ConfirmEdit from branch 'REL1_43'
  to cf5029dedcbc78c009c721c95aaaeb1ba67acaa7
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ifc81bf8e8f215969da4c11076123f358dda40554
2025-10-14 07:17:15 +00:00
Translation updater bot
9f5df44cc1 Update git submodules
* Update extensions/Cite from branch 'REL1_43'
  to fe8c6380627e9c69e8f744e554c6299225c0e678
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ia73d53368d1153102621cba8d9763a95430d3f2c
2025-10-14 07:17:02 +00:00
Translation updater bot
56571bca48 Update git submodules
* Update extensions/CategoryTree from branch 'REL1_43'
  to 57e489715e48f2180d3b399708525dcdcae4fb00
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I90d45252e27a59644920774ed8f8a0ca8d650543
2025-10-14 07:16:58 +00:00
Translation updater bot
8b402bf998 Update git submodules
* Update extensions/AbuseFilter from branch 'REL1_43'
  to 442baabd79ef96935b213287e0251606594946a1
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I6faebaafe86a27a38012f8de05acdef91c8db37e
2025-10-14 07:16:50 +00:00
Translation updater bot
fdd6ff8029
Localisation updates from https://translatewiki.net.
Change-Id: I4215415c011964e8da5a6d89d9e68469721132aa
2025-10-14 07:35:53 +02:00
Func
fc5f2119b0 RemexCompatFormatter: Don't encode HTML entities in raw-text elements
Before commit 5d317c2, this encoding happens in the parser before
calling the ParserAfterTidy hook, at this stage, the input usually
don't contain any raw-text elements, all good;

After commit 5d317c2 but before the core is actively using the
RemexCompatFormatter for OutputTransform, the bug can only be triggered
by extensions. But for now, the transform can happen on every page
with a ToC.

The issue and the fix is similar to T255007 and commit c44a395, which
5d317c2 follows-up to, so I am a bit confused why this stays broken.

Bug: T406391
Change-Id: I41959bf5ee243bdcfba571eb8f121fb571d960db
(cherry picked from commit e928409b4f7a81a8ee02d563c18829d5524e0fa6)
2025-10-09 12:24:14 -04:00
Sam Reed
b249367697 UserGroupManager: Use MainConfigNames::PrivilegedGroups rather than string literal
Usages were migrated in 7b791474a5,
but 7a21b9a032 added a new one

Follows-Up: I6536ef2909caeed047447e8b6a25831d6f00d827
Change-Id: I7360ea3d79e509b602b3e3c572e3a4c3eb8877ff
(cherry picked from commit e72b45b6cc0314a3591a7f3462018aad40d8096e)
2025-10-09 13:50:19 +00:00
Translation updater bot
89034ed158 Update git submodules
* Update skins/Vector from branch 'REL1_43'
  to abff63a12777ddc43037de1b1df7e5a2f506c23c
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I67a420df7180f5523dab3d9d676c4de48c7d634e
2025-10-07 06:43:29 +00:00
Translation updater bot
ea243d8373 Update git submodules
* Update skins/Timeless from branch 'REL1_43'
  to 09c355c4531fe018f45b8161a5ac20a7bf8ce3f2
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I4d11f27f39ae147b0a4e76254de482277af7c7ce
2025-10-07 06:43:27 +00:00
Translation updater bot
72da917f89 Update git submodules
* Update skins/MinervaNeue from branch 'REL1_43'
  to 4b5570e6b9a56a4ec3c8c940602027ada5faed8f
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I372fb4d81c1d004655a53cf025a58843ae2d2d65
2025-10-07 06:43:26 +00:00
Translation updater bot
3288fc6d71 Update git submodules
* Update extensions/VisualEditor from branch 'REL1_43'
  to c0a4f2367acbb346273206e456c92e8f0f0a133c
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Icc99dca4af984a4ab0414adc42b289b8b5c073d4
2025-10-07 06:41:56 +00:00
Translation updater bot
d78fc2756d Update git submodules
* Update extensions/WikiEditor from branch 'REL1_43'
  to 114830b9351f3eac3dfc7d7a47d5c781bef85805
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I8d143481efdfa3d2bb957a32156226fda29384c6
2025-10-07 06:41:49 +00:00
Translation updater bot
961bd53378 Update git submodules
* Update extensions/Thanks from branch 'REL1_43'
  to a9519c39a352843d21523a815a1213d1c9b96c4f
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I07b59ddbe1176229c7769db47e60e04daa0a1732
2025-10-07 06:41:26 +00:00
Translation updater bot
e7829f10dc Update git submodules
* Update extensions/TemplateData from branch 'REL1_43'
  to f5402d7604e0cb2266f9aa28dcf53a4510cd4940
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I54f0a8e77ee82135c73d30b0495c111abb2217bc
2025-10-07 06:41:21 +00:00
Translation updater bot
a3df4f49cb Update git submodules
* Update extensions/OATHAuth from branch 'REL1_43'
  to e3b4c178dca2cdee8930fee23a7c04f032a3831c
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I250c4d3acb1783fe4ffb5cf165387631f7025ac9
2025-10-07 06:40:59 +00:00
Translation updater bot
643f81575d Update git submodules
* Update extensions/Nuke from branch 'REL1_43'
  to f3b2580fc56273a0d869f57e5506bd8dd13eaac6
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I297a30559f34a75a996a746c0e28396dde38855f
2025-10-07 06:40:52 +00:00
Translation updater bot
51630d8c0b Update git submodules
* Update extensions/Math from branch 'REL1_43'
  to 490f3997f63c15f30fdce0c2ea20a0585a618230
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I1ddc18f49eff9ba83912dc0733fcb66f4bf0db3d
2025-10-07 06:40:44 +00:00
Translation updater bot
77b1218b79 Update git submodules
* Update extensions/InputBox from branch 'REL1_43'
  to daddb65011e475dfbf3bd7b379056d93d4c87f89
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I6f5d14111f391df2db791dd840b1c44e921d6d7f
2025-10-07 06:40:40 +00:00
Translation updater bot
6f6617775f Update git submodules
* Update extensions/Gadgets from branch 'REL1_43'
  to a2a34286eb5882e69a8bc99022fad864bce27807
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Id23956fe5ae73cd891006b514ce8dac1ff0ced8f
2025-10-07 06:40:23 +00:00
Translation updater bot
9501757454 Update git submodules
* Update extensions/DiscussionTools from branch 'REL1_43'
  to 7d219325abe90ea1a41d6e42812f873b8725a960
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I2b736906784816311832425168653a59c480a5d6
2025-10-07 06:40:19 +00:00
Translation updater bot
a9ca7d6402 Update git submodules
* Update extensions/Echo from branch 'REL1_43'
  to 8edc16dc8ffc74b370124710fc912813cd5f4030
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I20dd04716614c0b2880ab8a0a6a14c6900041b7a
2025-10-07 06:40:17 +00:00
Translation updater bot
d863288031 Update git submodules
* Update extensions/Cite from branch 'REL1_43'
  to 2afd79cd200024eb68370031e4a3e1505964d32a
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Idb24f0c66f4ef640f3f6f9384520cbb44d7a855c
2025-10-07 06:40:00 +00:00
Translation updater bot
158359ab24 Update git submodules
* Update extensions/AbuseFilter from branch 'REL1_43'
  to 3f0366cdbbbf0f5c1691f8b07e7b54a2b7613ace
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I33dc5181ba52675a54913baf231733170f46c201
2025-10-07 06:39:33 +00:00
Translation updater bot
e1b9bb63f2
Localisation updates from https://translatewiki.net.
Change-Id: I79b13b07747b9e7f28af709e0adab7e2ff571dad
2025-10-07 07:33:48 +02:00
Máté Szabó
acb403ccfd DeduplicateStyles: Only transform possible style nodes
Why:

- DeduplicateStyles runs as a default post-cache output transformation
  for every backend pageview. It tokenizes the article HTML via Remex to
  deduplicate style nodes within.
- This is expensive for large pages. On the Barack Obama page, the
  transform takes 350+ ms on a parser cache hit.
- Some other transforms, like HandleSectionLinks, already use regexes to
  only run Remex-driven transforms on relevant elements to avoid a
  potentially expensive tokenization of the whole page.

What:

- Use a regular expression to limit this transform so that it only
  tokenizes potential <style> nodes. This takes ~2ms to execute on a
  large page[1], compared to ~166ms currently.
- Restrict this optimization to legacy parser output transformations,
  since the naïve regex used might otherwise match encoded style tags
  within data-parsoid attribute values, as described in
  I32d3d1772243c3819e1e1486351d16871b6e21c4.
  Add a test for this.

[1] https://en.m.wikipedia.org/wiki/Democratic_Party_(United_States)?action=render

Bug: T394059
Change-Id: I33ebcc2da7685b4b6dafdad3ed3ef2a9edea9a00
(cherry picked from commit 02f69d5dc99a964981c57b597eedffa1f253a14c)
2025-10-03 23:19:17 +00:00
SomeRandomDeveloper
0699f46299 Revert "SECURITY: Escape rawElement $content"
This reverts commit 596c2615de.

Reason for revert: This has already been fixed in
I7fe42df7b9a3fd97eaf89515b7c1afb5ae3e688c. This second patch does not
address the issue properly and causes strings to be double escaped that
should only be escaped once.

Full reasoning:
* The parameter is now marked as `@param-taint $buttonLabel exec_html`
  since the fix for T402313
* All callers outside of HTMLButtonField escape the label now
* There is another method call in HTMLButtonField, which passes the
  `buttonLabel` property to the function. This property is assigned
  in the following places:
** L63: Parsed message
** L67: String literal with a unicode character
** L69: Escaped string
** L72: Intentionally raw HTML string
** L126: `$this->getDefault()`, which will be escaped again in that line
   after this patch is reverted


Bug: T394396
Change-Id: Ifc982e93c3cf2b6658cb8943eb717cb7a2aea7f5
2025-10-03 22:08:24 +00:00
Reedy
f5e3b15f3c Start 1.43.6
Change-Id: I2793e756e5dff211493fee3be56b545b700a4693
2025-10-03 17:54:59 +01:00
Reedy
b2a11b6991 Prep 1.43.5
Change-Id: I4fc99d8739b39ce402c753cde3253e4ad694b278
2025-10-03 17:54:56 +01:00
mszwarc
86f09be37a Update git submodules
* Update extensions/Thanks from branch 'REL1_43'
  to 7b1006569a9b8b228fbf4306162dd731f30b8209
  - SECURITY: Exclude deleted entries when counting thanks
    
    CVE-2025-61654
    
    Why:
    - `ThanksQueryHelper` counts all thanks, even those that user is not
      authorized to see.
    
    What:
    - Count only those thanks, which are visible to everybody
      (`log_deleted` = 0).
      - May be later extended to take into account the permissions of the
        current user.
    
    Bug: T397497
    Change-Id: Idbc1b5a288ffaa7074eedcbac066358a8ec649dc
    (cherry picked from commit ceea84f682ac52fe521b02733fb718add296efde)
2025-10-03 15:45:41 +00:00
SomeRandomDeveloper
54c85c7713 SECURITY: Escape system messages in mw.language.listToText
CVE-2025-11261

It should be possible to use the result of this method as HTML
without introducing i18n XSSs.
The PHP-equivalent Language::listToText also escapes the messages.

This fixes a stored i18n XSS in CheckUser.

Bug: T406322
Change-Id: Ieb809b043dec288e92356d8f6492d22340c8c3f6
(cherry picked from commit d951fa4ff07a96907b023e4f7e5dd7c630a78fc1)
2025-10-03 14:33:06 +00:00
Reedy
4c4b22af95 Update git submodules
* Update extensions/ConfirmEdit from branch 'REL1_43'
  to 5acd36799ee4177c5eea52751f1b7a0e2140f858
  - Update code for voice and tone reasons
    
    * Reduces use of whitelist
    * Deprecates and provides new $wg to replace $wgCaptchaWhitelistIP and $wgCaptchaWhitelist
    
    Bug: T277936
    Change-Id: I9c4a572321bb06e5a1d4208a295e21b73e75b787
2025-10-02 23:53:14 +00:00
David Lynch
fb0ccdc19a Update git submodules
* Update extensions/DiscussionTools from branch 'REL1_43'
  to c6a33d6564b75ad18fc35a7e09d02832d989a30f
  - SECURITY: In API check user read permissions before showing PageInfo
    
    CVE-2025-61652
    
    Bug: T397580
    Change-Id: If39b4732b616b89bb58b9be6f8dcab103edd61ce
    (cherry picked from commit 94ba9d3d12d8160a505c620f9291b374d964927c)
2025-10-02 23:51:57 +00:00
Antoine Musso
49cb886bd2 Update git submodules
* Update extensions/AbuseFilter from branch 'REL1_43'
  to e0c1a9ab0dedcf652632fb7fb95d05d751eac3f5
  - Load CodeEditor resources conditionally
    
    On CI, we would like to remove the recursive injection of extensions
    dependencies.  When AbuseFilter is a dependency, we are required to add
    CodeEditor and WikiEditor to fullfil the requirement that all
    dependencies are defined (ResourcesTest::testValidDependencies).
    
    This makes it so that the `ext.abuseFilter.ace` resource loader module
    is only registered when CodeEditor is enabled.
    
    Bug: T389998
    Change-Id: Ib295c354c90901c43a7b654fa39bb60e94bfc546
    (cherry picked from commit f299b9d8042c7b53eb50346cb879b89eed745dfa)
2025-10-02 22:23:31 +00:00
Ed Sanders
43711ddaee Update git submodules
* Update extensions/VisualEditor from branch 'REL1_43'
  to f76a066f451ef6bc295d397ed428b6a4c93a14ab
  - Load TemplateData message conditionally
    
    Bug: T404790
    Change-Id: I85706b7c9d4700d70c8486b138fe0741cd0a6d48
    (cherry picked from commit 9c7b3b9df0c5addb71cef7075ef9bc8b272a2b18)
2025-10-02 22:17:49 +00:00
Reedy
da1d904c9f Start 1.43.5
Change-Id: I64f7731b5208c57a3e5dd61722b4d1584ee5e105
2025-10-02 22:21:45 +01:00
Reedy
c4b6b0912d Prep 1.43.4
Change-Id: Ia2a8388841898954080a595fbcd19a922fc3f102
2025-10-02 22:21:45 +01:00
Reedy
2c506be727 Update git submodules
* Update extensions/VisualEditor from branch 'REL1_43'
  to 0c17d239a6f337eb57a8934895b87f498e2221ea
  - Update lib/ve to HEAD of REL1_43
    
    Change-Id: Idb23c94c446a88b48209cfaea44d4c2545635ca1
2025-10-02 21:21:26 +00:00
SomeRandomDeveloper
75745977fa Update git submodules
* Update extensions/VisualEditor from branch 'REL1_43'
  to 19567501cb05fdcfe547b9c1a0a3d82ca5a309ad
  - SECURITY: Properly escape and parse system messages
    
    CVE-2025-61655
    
    * Parse lastmodifiedat in PHP and return via API to support
      tags that are not supported by jQueryMsg
    * Escape parentheses message and manually insert the parameter
    
    This addresses two stored i18n XSS vulnerabilities.
    
    Bug: T395858
    Change-Id: Id0c62956bf5ae6e0d952cbd1eddfc845d2cdc9a6
2025-10-02 20:46:05 +00:00
Reedy
60bfc70e21 Update git submodules
* Update extensions/ConfirmEdit from branch 'REL1_43'
  to d92c701ac1f50eb1624e9b061b096ff4c7169afd
  - SECURITY: ApiFancyCaptchaReload: Reuse badcaptcha rate limit
    
    CVE-2025-61635
    
    * Set a default badcaptcha rate limit in extension.json
    * Mark the API as internal
    
    Bug: T355073
    Change-Id: I713e587e18879cbc6756882b62e021625e899eb1
2025-10-02 20:43:09 +00:00
Justin Zhang
bccd38d768 Update git submodules
* Update extensions/TextExtracts from branch 'REL1_43'
  to 55355a15514691ca7b88ad43fd90eedff3a2c4b1
  - SECURITY: Add authorizeRead check for extracts endpoint
    
    CVE-2025-61653
    
    Why:
    
    - A check for appropriate read permissions should be added
      to the extracts action API endpoint to improve security.
    
    What:
    
    - This change loops through titles and performs a permission
      check via Authority::authorizeRead().  If the user does not
      have appropriate permissions, an error is thrown and any
      relevant titles are unset.
    
    Bug: T397577
    Change-Id: I126f7fcda864cf51d005214c7f74fcff76c791c3
2025-10-02 20:25:54 +00:00
SomeRandomDeveloper
45ebd1ba63 Update git submodules
* Update skins/Vector from branch 'REL1_43'
  to c49fab7557ab0f2478e1053a54e47dfd0e9ec6df
  - SECURITY: Insert sticky header labels as text instead of HTML
    
    CVE-2025-61657
    
    Assigning to.innerHTML to from.textContent essentially unescapes
    any characters inside the labels.
    This fixes a stored XSS vulnerability through system messages.
    
    Bug: T398636
    Change-Id: Ib78c3113a3d7b195bf348e8a52f29058eaf9a59f
2025-10-02 20:25:49 +00:00
Dreamy Jazz
49907788ab SECURITY: Use ManualLogEntry::getDeleted in ::getRecentChange
CVE-2025-61639

Why:
* ManualLogEntry::getRecentChange creates the RecentChange object
  for the ManualLogEntry instance.
** This does not currently include the deleted flags set in the
   ManualLogEntry
** Without this, the RecentChange that is created will not be
   marked as deleted and published as public.
* Therefore, this means that any code which hides a log entry
  from the creation of the entry will cause a unintentionally
  public recent change entry.
** The AbuseFilter extension attempts to suppress the log entry
   for the block on it's creation, which therefore hits this
   security bug.

What:
* Update RecentChange::newLogEntry to accept a $deleted field
  which is set by default as 0 which is used as the value of
  rc_deleted.
* Update ManualLogEntry::getRecentChange to pass the value of
  ManualLogEntry::getDeleted to RecentChange::newLogEntry.
* Test that this fix worked.

Bug: T280413
Change-Id: I681a49ac7d7b22ffe259b976ad5315490dda467b
2025-10-02 19:38:49 +00:00
Dillon Hardy
2a0451f75d SECURITY: Prevent leaking hidden usernames in Watchlist/RecentChanges
CVE-2025-61646

If an individual editor makes consecutive revisions on a single page,
and only some are marked as hidden username, the non-hidden ones will
reveal the (username hidden) true identity.

Enable the "Group changes by page in recent changes and watchlist" and
"Use non-JavaScript interface" preferences to reproduce the issue. See
the referenced Phabricator tasks for more details.

The solution here is to separate hidden and visible editors from the
grouping on the frontend side, using existing helper functions.

Bug: T398706
Change-Id: I1408fe7712ffef3ba76294d8483c7b7624a0d11c
2025-10-02 19:38:49 +00:00
Dreamy Jazz
f7c717b09a SECURITY: Don't send suppressed recent changes to RCFeeds
CVE-2025-61643

Why:
* Some RecentChange objects being processed by
  RecentChangeRCFeedNotifier::notifyRCFeeds can be already
  deleted / suppressed
** This can happen for log entries which are deleted or suppressed
   when they are created such as described by T280413
* RecentChanges feeds are often not equipped to handle appropriate
  redaction of deleted or suppressed recent change entries
** Therefore, sending them suppressed recentchanges entries will
   likely publicly expose the suppressed information
* As a short-term fix we can stop sending any defined RCFeed
  instances RecentChange objects which are suppressed
** We may want to consider making RCFeeds capable of suppressing
   information before publishing the data, but that would need a
   more considered approach.

What:
* Update RecentChangeRCFeedNotifier::notifyRCFeeds to return early
  if the rc_deleted attribute on the provided RecentChange object
  isn't zero (0 means not deleted).
* Add a PHPUnit test to check for this

Bug: T403757
Change-Id: Ic5e553bab8e82e7faee323a46ed6704043c5163b
2025-10-02 19:38:49 +00:00
Roan Kattouw
71ebf1a1cf SECURITY: Escape submit button label for Codex-based HTMLForms
CVE-2025-61642

HTMLButtonField::buildCodexComponent() expects raw HTML for its button
label parameter, and this makes sense in the context of that class. But
it was also being used to build the submit button, where we were passing
in a plain text button label.

Escape the button label before passing it in, and more clearly document
that this parameter expects raw HTML.

Bug: T402313
Change-Id: I7fe42df7b9a3fd97eaf89515b7c1afb5ae3e688c
2025-10-02 19:36:28 +00:00
Amir Sarabadani
199aab790a SECURITY: api: Disable maxsize in QueryAllPages in miser mode
CVE-2025-61641

This triggers slow queries and is a DDoS vector

Bug: T298690
Change-Id: Id80f166633a5085378c687551bd54056bc723c09
2025-10-02 19:21:42 +00:00
SomeRandomDeveloper
d2d60515fb SECURITY: Parse messages instead of inserting them as HTML
CVE-2025-61640

This fixes a stored i18n XSS vulnerability in
Special:RecentChangesLinked.

Bug: T402075
Change-Id: I94d89e3f14920122cfd2f949850027122d1e2b6b
2025-10-02 19:21:42 +00:00
C. Scott Ananian
5f21cc528e SECURITY: Sanitize data- attributes
CVE-2025-61638

Previously, if you managed to get data- attributes with e.g spaces or
slashes in the name into validateAttributes(), then the rest of the
attribute name would not be validated and get concatenated into HTML
that would eventually be parsed as separate attributes (or even tag
contents and new markup, if you had a > in the name). I don’t think this
was possible via regular <p> parsing, as decodeTagAttributes() would
decode the attributes differently in that case, but it was possible via
various wikitext constructs, including {{#tag:}}.

Tighten the regex to throw out such invalid attributes, and add a few
tests in this direction. More refactoring, and especially more tests,
can happen later, once this chaneg is public and we can benefit from CI.

Bug: T401099
Change-Id: Id095a3278083dbedba083d5aa3c1cbaa379a682f
Co-Authored-By: Lucas Werkmeister <lucas.werkmeister@wikimedia.de>
2025-10-02 19:21:42 +00:00
SomeRandomDeveloper
37cc73d931 SECURITY: Escape three system messages used by live preview
CVE-2025-61637

This addresses three stored XSS vulnerabilities that allowed
injecting scripts into the DOM by editing the 'preview',
'editlink' and 'viewsourcelink' system messages.

Bug: T394856
Change-Id: I8e5a234d647ce5559a052f86d1b2ad61812764b9
2025-10-02 19:21:42 +00:00
Dayllan Maza
596c2615de SECURITY: Escape rawElement $content
CVE-2025-61636

Bug: T394396
Change-Id: I1ed54e4f063ec10d412c0db95b1bfed4a084b1d4
2025-10-02 19:18:18 +00:00
bpirkle
7c233a1670 SECURITY: REST: Set cache-control value of max-age=60 for redirects
CVE-2025-61634

Indirect redirect loops can cause a series of 307 redirects
that overwhelm the servers. Caching the redirect allows
this to resolve.

Bug: T387478
Change-Id: Ibfde4e5ece3d58a1f573c37b46b568a5847fca01
2025-10-02 11:12:19 +01:00
Taavi Väänänen
b5a171c33c COPYING: Do not reference old FSF postal address
As Debian's Lintian tool points out, the FSF has actually moved offices
and this address is no longer valid.

All updates are directly copy-pasted from
https://www.gnu.org/licenses/old-licenses/gpl-2.0.txt

Bug: T400642
Change-Id: Idb9af3119641b614d810843730fb73aebd30318c
(cherry picked from commit 8b215b44a03712b260fb71a4934fda2f89b458ae)
2025-10-02 09:32:10 +00:00
Reedy
0494d077f7 RELEASE-NOTES-1.43: Update
Change-Id: I6137566b18b768d9b424c9a44801cea030e4fe37
2025-09-30 19:54:45 +00:00
Translation updater bot
118fddb3f2 Update git submodules
* Update skins/MinervaNeue from branch 'REL1_43'
  to f9c39a05ed0cb795330e9225ed56b85a5821a69d
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I2b8c84a69e41b257c9e0b31ed6a19b36d5522e2e
2025-09-30 06:49:52 +00:00
Translation updater bot
0416eb57f8 Update git submodules
* Update skins/Vector from branch 'REL1_43'
  to 2c348ec4b81c0d2bb13520e2e0a2013604ff06f2
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I4bfe0275ced60421a60de37b6dab7f6a985beaea
2025-09-30 06:49:51 +00:00
Translation updater bot
31c89836a0 Update git submodules
* Update skins/MonoBook from branch 'REL1_43'
  to 91a719b94ec03964eff71ff1ba9cfb4cae4a84df
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Id19aa9b699b3f0480588913d06c63bcd2de5e2ea
2025-09-30 06:49:49 +00:00
Translation updater bot
5d7238a363 Update git submodules
* Update extensions/VisualEditor from branch 'REL1_43'
  to 79f3eeb4931194e61caf25a3b6d5a0448653f2d6
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I808fc1ca5f2aa4429e3d99a6ef362090d8864d27
2025-09-30 06:48:10 +00:00
Translation updater bot
d0da819481 Update git submodules
* Update extensions/WikiEditor from branch 'REL1_43'
  to f1aaaed8f14d1e6a3aa01cebed27f5aca8eb21c5
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I808fc1ca5f2aa4429e3d99a6ef362090d8864d27
2025-09-30 06:48:01 +00:00
Translation updater bot
bd01517731 Update git submodules
* Update extensions/Thanks from branch 'REL1_43'
  to 8e23f487b4db9f45e53861ce6bdd9f3a7aa4a344
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Iceca1404ae33f55ac1231276e1c620a56fc6b962
2025-09-30 06:47:33 +00:00
Translation updater bot
4d92b3efac Update git submodules
* Update extensions/TemplateData from branch 'REL1_43'
  to 3e260da9cd287dc4b827aabdf5c2a46f83aafbc4
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I176411c9a26432a17f5a8b924ed852264e29dd9d
2025-09-30 06:47:32 +00:00
Translation updater bot
c42b828ec6 Update git submodules
* Update extensions/SpamBlacklist from branch 'REL1_43'
  to b6c3567c2991d342426ccc488f5eadadc2645ec3
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I82d5f2d4791d3c474c557dcd2befcf8f56a80865
2025-09-30 06:47:27 +00:00
Translation updater bot
f4e506615a Update git submodules
* Update extensions/Scribunto from branch 'REL1_43'
  to ddc54a3fca760823bd06ea0f0ebf045bf48a6ba8
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Id303f0893696fa5df174ae08973c5abef0296e59
2025-09-30 06:47:26 +00:00
Translation updater bot
de7b2eead2 Update git submodules
* Update extensions/OATHAuth from branch 'REL1_43'
  to a0efb41affd25c2f14e47ae1755307ee90e35b1e
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ibb9d11fdf29b04f843eff9a61664dfff5bf3633d
2025-09-30 06:47:04 +00:00
Translation updater bot
a2c64e15e7 Update git submodules
* Update extensions/Nuke from branch 'REL1_43'
  to 79b168a74cdc379bd6099efb3a510d3d286305fb
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I4b98110b6e9bd29a9eacc66cc4e65b8127742d24
2025-09-30 06:46:59 +00:00
Translation updater bot
77df11ec2c Update git submodules
* Update extensions/Math from branch 'REL1_43'
  to 9bdf88a7a971d5b30b50c17a88f592320780f107
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ic04f84810ca71410ca480fb9c16880b2d67a9085
2025-09-30 06:46:52 +00:00
Translation updater bot
128e4ed6c6 Update git submodules
* Update extensions/InputBox from branch 'REL1_43'
  to 0f9f87177b79490019650ae0e6965397d08ad299
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: If91fedcac6475514972c5508bf43934fbd4d9cae
2025-09-30 06:46:40 +00:00
Translation updater bot
b530a1131c Update git submodules
* Update extensions/ConfirmEdit from branch 'REL1_43'
  to 54908a917b43cee8f3f473ad97f5d5b6758b4861
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I40be83cd67657a901944ed432cd84f3c046088d9
2025-09-30 06:46:19 +00:00
Translation updater bot
5a9258e5c4 Update git submodules
* Update extensions/DiscussionTools from branch 'REL1_43'
  to 3f25bcc823c0fa09a8d604fb436daa06ddb244df
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ia98dc81c3ea460ab88339d9a22d8e7b19656a46a
2025-09-30 06:46:11 +00:00
Translation updater bot
3a04197639 Update git submodules
* Update extensions/Echo from branch 'REL1_43'
  to fb8fe7bf4096a40e7a000d9a25264ab4d101bdb3
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I419cfc9dcbe24416c384260668beff75b3563d0c
2025-09-30 06:46:10 +00:00
Translation updater bot
5ee481dbb7 Update git submodules
* Update extensions/CiteThisPage from branch 'REL1_43'
  to 8db01cb5b59cd647ddc178127bc0c365e609dbc6
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ib2ba0e6671cb5ddce444c97b9d9ee842e881d998
2025-09-30 06:45:57 +00:00
Translation updater bot
6e27d24827 Update git submodules
* Update extensions/Cite from branch 'REL1_43'
  to 99f2c99c9d8a27cedfadc1d3e3ff71d9c73e0076
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Iee5b3446b8eb91e4ded2f1ea9e3d7dac66d817ed
2025-09-30 06:45:54 +00:00
Translation updater bot
1dd413a469 Update git submodules
* Update extensions/AbuseFilter from branch 'REL1_43'
  to 309c87a224ff278d57d4cb25420fec3bba8abe7a
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I9c22244bc450c78e5509fe1f223692b601dbbc98
2025-09-30 06:45:33 +00:00
Translation updater bot
9a98b28801
Localisation updates from https://translatewiki.net.
Change-Id: I144226431099aa89f3ae3bf3961cf7838f033388
2025-09-30 07:35:33 +02:00
Ammarpad
5015ea97ef Update git submodules
* Update extensions/DiscussionTools from branch 'REL1_43'
  to 9176fadd2b9abafff7dd6ec892f12dbfbf7c8b3b
  - ApiDiscussionToolsPageInfo: Show nice error for deleted revisions
    
    This is similar fix as b8a28d6cfc53e41aa04abe855818213f95df322d.
    
    Bug: T380351
    Change-Id: I1b03a00c5627e1fa9e48aee9e2ed3d8b1ea332f7
    (cherry picked from commit 6e17c85409a618303937382ab74850d16b60d26a)
2025-09-29 23:41:03 +00:00
Bartosz Dziewoński
0ae36261f8 Update git submodules
* Update extensions/DiscussionTools from branch 'REL1_43'
  to 8e770dce8ac8302f418a44ac50a7442fcacbce41
  - Remove cache compat code for content placeholders
    
    Follow-up to I563219f3298a8740e158d130492bf3d2897784d7.
    
    Bug: T396248
    Change-Id: I126203ab1d3ec8c1719cbb5460a887e4d0c2cc6d
    (cherry picked from commit 03939934677f167e34484c01ec4c7255c85a7de8)
    (cherry picked from commit afaa6d6369eb911fabd8d23496e5ffdcc079b1b3)
2025-09-29 23:05:26 +00:00
Ed Sanders
142b93787c Update git submodules
* Update extensions/DiscussionTools from branch 'REL1_43'
  to 7f68a99593ff4f10457d0aea9a5723f39c1264c6
  - Support placeholders mangled by MF's HtmlFormatter
    
    Bug: T396695
    Change-Id: Ie12e90639e13218b77c7d01d50196ff0c474a4c7
    (cherry picked from commit 2bce20e8e60a8bcd2eccc6cc4bff2ed150021a83)
    (cherry picked from commit a13737b884150e28aee65d04a91a2125126ed4cd)
2025-09-29 23:01:56 +00:00
Ed Sanders
a365492815 Update git submodules
* Update extensions/DiscussionTools from branch 'REL1_43'
  to 802e034f11376918636074ac16b0fdaa3f92068e
  - Remove placeholders when features disabled
    
    We should always be removing unused placeholders, but
    now that they are custom elements, it is more important
    as they can affect CSS selectors.
    
    Bug: T397011
    Change-Id: I7c337149aceeb237a836439456dc8e9b826b3799
    (cherry picked from commit b93d0d64b0647bc6055856bfe9d65283e48231f3)
    (cherry picked from commit a4686b050bc7342970f8757acfc9fbb468c2685e)
2025-09-29 22:58:42 +00:00
Ed Sanders
42945d5088 Update git submodules
* Update extensions/DiscussionTools from branch 'REL1_43'
  to 330e614a1506a63cae6af6fdd9338bb040d6000a
  - Post-process timestamp links whenever DT is available
    
    This matches the logic in ParserHooks which adds the
    timestamp link placeholders.
    
    Change-Id: Ia3116eb2d75f6034f131a53093fbf44bceb0d9d5
    (cherry picked from commit 2cb7b2f527d5a59cb3343a28b00f9ad74267808b)
    (cherry picked from commit f874b2145c2c7f44f1d914a5a4d34f80537a31d2)
2025-09-29 22:58:34 +00:00
Alexander Vorwerk
807513767a Update git submodules
* Update extensions/SecureLinkFixer from branch 'REL1_43'
  to d7ffecb943c6f43c992f29bce3977be6d1298b03
  - Updating domains.php from Mozilla
    
    Change-Id: I7966190849dec262e75906d4e1deb107125ee64a
2025-09-29 22:38:45 +00:00
Ed Sanders
0fee83ec30 Update git submodules
* Update extensions/DiscussionTools from branch 'REL1_43'
  to 7737d63e81f8fb5c9ca4accd288e9cc075374536
  - Use custom elements for content placeholders, with HtmlHelper::modifyElement
    
    Instead of comment nodes and complex regexes.
    
    Bug: T396248
    Change-Id: I563219f3298a8740e158d130492bf3d2897784d7
    (cherry picked from commit 37856941cffb646067c3df1a7ef639ffe65a475c)
2025-09-29 22:38:45 +00:00
Alexander Vorwerk
5bc79fb647 Regenerate patch-drop-page_restrictions-pr_user.sql for SQLite
Bug: T400505
Change-Id: Iff77877103e3a45d3b190f9129791d9a8de7e7ae
2025-09-29 22:19:19 +00:00
Bartosz Dziewoński
1bf9db0779 Re-apply "Use Remex for DeduplicateStyles transform"
This reverts commit 7f63d5250e,
re-applying commit 82da9cf14b.
It can be re-applied safely after T354361 was fixed.

Most of the incidental changes from the original patch are
no longer needed, as they were made unnecessary by other work,
or were applied in I4cb2f29cf890af90f295624c586d9e1eb1939b95.

Change-Id: I1ff9a7c94244bffffe5574c0b99379ed1121a86d
(cherry picked from commit 09703c2c774a65dd9ee57ec83154aa1eab5a9d03)
2025-09-29 22:01:15 +00:00
C. Scott Ananian
a6739e066e Use Remex/HtmlHelper to implement Parser::replaceTableOfContents
This is more robust and secure than the regular expression previously
used to extract the <meta> tag.

We also improve HtmlHelper slightly be adding the ability to replace
an element with an 'outerHTML' string.

Because our output is being run through Remex, there is a slightly
larger degree of HTML normalization in the output than previously,
which is visible in some small tweaks to test case outputs.

Bug: T381617
Depends-On: I2712e0fa9272106e8cd686980f847ee7f6385b6f
Change-Id: I4cb2f29cf890af90f295624c586d9e1eb1939b95
(cherry picked from commit 7ebd8034b54495f28f4c5583d4fa55071634b593)
2025-09-29 22:01:08 +00:00
Arlo Breault
1f51ebac15 OutputTransform: Fix double IDs on headings
Based on Ifeaaba1d0215e6f67f889a09c02879cc9079aa19

Bug: T366083
Co-Authored-by: Bartosz Dziewoński <dziewonski@fastmail.fm>
Change-Id: I2712e0fa9272106e8cd686980f847ee7f6385b6f
(cherry picked from commit 5757066096a0eac7f722e63aa3722e068915d33a)
2025-09-29 21:11:58 +00:00
Bartosz Dziewoński
a52cd4462c Update git submodules
* Update extensions/DiscussionTools from branch 'REL1_43'
  to 51f9e400a357159938cc83d62392dbdb447f5eed
  - CommentFormatter: Omit unused parameter for action=dtunsubscribe
    
    Change-Id: I109d41fa22a0fc7d4fb670b2d0afe702c4dbccef
    (cherry picked from commit 868be64d9a2731c5e1933097751685a1641d510b)
2025-09-29 20:08:38 +00:00
Ed Sanders
ab9412a7fa Update git submodules
* Update extensions/DiscussionTools from branch 'REL1_43'
  to 6229dc31e9222aaa70f6d6b98189b3c90f251a9a
  - CommentFormatter: Remove code supporting legacy HTML output
    
    Change-Id: I9ffbf8425f622d3045de794b039f8e2e72015fb1
    (cherry picked from commit 6bc40e769578d24642d33bb8bf5b50f3455887be)
2025-09-29 19:58:14 +00:00
Ed Sanders
f94e0d9c71 Update git submodules
* Update extensions/DiscussionTools from branch 'REL1_43'
  to 3af0166f131a8147c05c1045df3edfbc51690172
  - Add signature range markers to the DOM
    
    Without these, the client side code is unable to
    extract comment message bodies. In theory there can
    be multiple signatures in one comment, but in practice
    we only care about the last one.
    
    Change-Id: I515a2878eb5aef88d05d8b62462e91500907a73a
    (cherry picked from commit 7fb4369ae8c283caa2a41a27f809b091124c0b4b)
2025-09-29 19:51:59 +00:00
Derk-Jan Hartman
702c6a814c Metadata: ignore LocationCreated, similar to LocationShown
Bug: T394968
Change-Id: I413160a056625b2a4f21c69ffbbced5b42c67bb9
(cherry picked from commit f616017c7b718157096af3dfbc101692258fcae1)
2025-09-29 16:47:32 +00:00
Reedy
d0a06b88af Upgrading wikimedia/parsoid (v0.20.3 => v0.20.4)
Depends-On: I72f3f684dc3581d1260e9fea4a9e8a224008b6b3
Change-Id: I52a637de78dfbeb265ce3b0693db678a9fcd9db6
2025-09-29 16:47:11 +00:00
Reedy
84a13300b3 Update git submodules
* Update vendor from branch 'REL1_43'
  to d9b7761127561cb4c504a86925c2c2d04088b3d7
  - Upgrading wikimedia/parsoid (v0.20.3 => v0.20.4)
    
    Change-Id: I72f3f684dc3581d1260e9fea4a9e8a224008b6b3
2025-09-29 16:26:13 +00:00
Gergő Tisza
80d0436871 Update git submodules
* Update extensions/OATHAuth from branch 'REL1_43'
  to 3f192070ab197d2a90ec000b1522b23a2f80f965
  - Add OATHUserRepository::removeAllOfType()
    
    Change-Id: I2a73f58c722e8372bf263a5a8f27fe46c6e9effc
2025-09-23 19:35:01 +00:00
Gergő Tisza
76fd9e42a6 Update git submodules
* Update extensions/OATHAuth from branch 'REL1_43'
  to cf039f8e5a199b9fd2a093ef3a35b7c7aca76221
  - Fix multi-key handling
    
    Follow up on the multiple-authenticators work by replacing
    the user's 2FA module (of which there could only be one) with
    the user's 2FA keys in various places.
    
    Functional changes:
    * Add OATHUser::getKeysForModule() and a shortcut for the TOTP
      module (for typehint friendliness)
    * Filter modules for TOTP only in various places:
    ** ApiOATHValidate (which could maybe be more generic in the
       longer term, but would need some sort of support flag - it
       will definitely not work with WebAuthn).
    ** Lots of places that did the same filtering manually.
    * Do not throw in various places when the user has multiple kinds
      of keys:
    ** OATHUser::addKey()
    ** OATHUserRepository::loadKeysFromDatabase()
    * Keep throwing in OATHUserRepository::createKey() (which is what
      gates the use of multiple authenticators currently, and we want
      to preserve that until further UX improvements) but use an error
      page rather than an error.
    
    Code cleanup:
    * Replace OATHUser::setKeys() (only used in a single place, to
      remove a key) with removeKey().
    * Hard-deprecate OATHUser::getModule() and remove its uses.
    * Remove OATHUser::setModule(). Instead, use the first key in
      getModule().
    
    WebAuthn part of the change: Ib9a686171da67b334e80524629df406d10903391
    
    Bug: T242031
    Change-Id: I70241b9cfc036ea6439bf30ed724c1377a78d5c0
    (cherry picked from commit 511127a8edea3c6ac390fb8ff1269d6e07a2f845)
2025-09-23 19:34:15 +00:00
Taavi Väänänen
a0380a1b1c Update git submodules
* Update extensions/OATHAuth from branch 'REL1_43'
  to a8c75338a5abe48a727fd498da7b2e0ffe688dbd
  - Mark OATHUser::getModule() as deprecated
    
    Bug: T242031
    Change-Id: Iff8c459f391938848bc80ac288f0c41e3e627abc
2025-09-23 19:33:32 +00:00
Taavi Väänänen
2b009e9786 Update git submodules
* Update extensions/OATHAuth from branch 'REL1_43'
  to c5191316484de480ed151190be24feec81877819
  - OATHManage: Drop use of OATHUser::getModule()
    
    Bug: T242031
    Change-Id: Idb71e383e18f9fc7948aed12e9bd32ce511f4aa7
2025-09-23 19:13:47 +00:00
Taavi Väänänen
f3a98cd8e5 Update git submodules
* Update extensions/OATHAuth from branch 'REL1_43'
  to b3b5c9e75482ef46937b4948246acbb39fac8e5c
  - Don't share OATHAuth devices for all non-attached users
    
    * Do not load keys for users where the central ID keys is 0.
    * Throw an error instead of allowing the use of createKey() for users
      without a central ID.
    * Mark persist() as deprecated. The only remaining use of that will not
      save a key for a user that does not already have them, so no need to
      check for the ID there.
    * Use the cached central ID value instead of always looking it up.
    * Update tests to use the local central ID provider. I consider the
      reason why this is needed to be a CentralAuth bug, but this is easier
      than fixing CentralAuth.
    
    Bug: T379442
    Bug: T379439
    Change-Id: I1a1fff62208ccc580273843f0f479ab337703823
2025-09-23 18:32:33 +00:00
Taavi Väänänen
f8ed50a498 Update git submodules
* Update extensions/OATHAuth from branch 'REL1_43'
  to 4035ebce6361c19025074eee14d5a6cd156f0670
  - OATHUser: Use UserIdentity where applicable
    
    Depends-on: I562d6347f34691f1717d92b476618108af3de956
    Change-Id: If0147e03ab7b7f43e6a261b673350317193389c1
2025-09-23 18:32:30 +00:00
jly
093194fde2 Update git submodules
* Update extensions/OATHAuth from branch 'REL1_43'
  to 575646a7f223c1310fe4aceaa2063339ef2634d7
  - Rename Special:OATHAuth to Special:AccountSecurity for en and zh
    
    Bug: T401771
    Change-Id: If9cfc192944e32b5ab968ed160603bd43314a723
2025-09-23 15:13:15 +00:00
Bilin Tsui
ebd44263d3 Update git submodules
* Update extensions/OATHAuth from branch 'REL1_43'
  to 044d3fdc8c8930d823a255eb1106493884fe0ebd
  - OATHAuth: Set Chinese primary special page alias to the English primary
    
    Bug: T399285
    Change-Id: Ifcdc8c2736c83194f516cdc555868479ce9893eb
2025-09-23 15:13:13 +00:00
Taavi Väänänen
6a43442430 Update git submodules
* Update extensions/OATHAuth from branch 'REL1_43'
  to 2d129e97d3f74862fb73ef2f3e25f587ffc0c655
  - OATHManager: Look up user details in execute() instead of constructor
    
    Change-Id: I5db5d7e49553c30f4a76c01d39955821c6f82df6
2025-09-23 13:38:12 +00:00
Taavi Väänänen
8ed3602608 Update git submodules
* Update extensions/OATHAuth from branch 'REL1_43'
  to 913e1d4085fad285ab627dd9261ddff97f0509b8
  - ApiOATHValidate: Remove use of getModule()
    
    Change-Id: I5fee274e792f087aedf30259069203d8e1f24d10
2025-09-23 12:05:18 +00:00
Taavi Väänänen
5251077227 Update git submodules
* Update extensions/OATHAuth from branch 'REL1_43'
  to 751a8830096a69a5c6bd8f19aa454f5ba571ae6e
  - ApiOATHValidate: Inject services
    
    Change-Id: I0718e804ed255c4a174804f1576b46f83a0f3401
2025-09-23 11:39:42 +00:00
Taavi Väänänen
edb7760e3b Update git submodules
* Update extensions/OATHAuth from branch 'REL1_43'
  to aa3bd6bafa5c355517e01ef9b36479690a1e1691
  - Backlink keys back to a module
    
    Adds a new API function to get the module that a particular key is
    registered for. This will allow replacing a bunch of User::getModule()
    calls with per-key equivalents, which is required so that a single user
    can have multiple key types enabled.
    
    Bug: T242031
    Depends-On: I6dffa329c923aab1bef59b4c2808a2ad15a6cb19
    Change-Id: Iae064c660bb04fee42df0892a5b53bdd8a7457ad
2025-09-23 11:25:37 +00:00
Taavi Väänänen
486cbc1f7b Update git submodules
* Update extensions/OATHAuth from branch 'REL1_43'
  to 6823c915324478b377177366c9cc035d341f8aa1
  - Allow injecting services to Modules
    
    And as a bonus tweak OATHModuleRegistry error handling.
    
    Change-Id: I4e3ca0092115e22ab7e7703e1682d68fbcc06af4
2025-09-23 11:24:53 +00:00
Translation updater bot
e3c1bee005 Update git submodules
* Update skins/MinervaNeue from branch 'REL1_43'
  to d85b666a8d7e9f3604a45ebca07694f616388286
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ib4e0a7bbec537f26b08a4b82a99f456537247109
2025-09-23 06:50:48 +00:00
Translation updater bot
d251c37938 Update git submodules
* Update skins/Vector from branch 'REL1_43'
  to e1106da2830f08b2b1dff4abf22f1209568f44bf
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I3f4985fc2423adb69efaa41703c9d9df275ad3ca
2025-09-23 06:50:45 +00:00
Translation updater bot
8546b29ca1 Update git submodules
* Update extensions/VisualEditor from branch 'REL1_43'
  to 6791d900ccbca8e86f33cb50ad717908f245dde2
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ie19414472397d29ced9844ef36e17d617b349b5d
2025-09-23 06:49:32 +00:00
Translation updater bot
c8519d68fa Update git submodules
* Update extensions/WikiEditor from branch 'REL1_43'
  to 797d2308f3859747477061a21fe6ad079086b9ac
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I328fd81900735bb6d905c0b8042424cf2b699faf
2025-09-23 06:49:28 +00:00
Translation updater bot
79419a44c9 Update git submodules
* Update extensions/Thanks from branch 'REL1_43'
  to 76da6580d69a76f08b3b792f70cf5e6dfa9d0266
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I93a6422470b86ae95947f1c0606344409de9e06e
2025-09-23 06:49:05 +00:00
Translation updater bot
e10f2f5d2b Update git submodules
* Update extensions/Scribunto from branch 'REL1_43'
  to 9ecb7d2137664b7034b21c364a11b7be8c919598
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I7f785ee91ebb77197879f024cf19adbf0b2e7c34
2025-09-23 06:49:04 +00:00
Translation updater bot
965201217a Update git submodules
* Update extensions/OATHAuth from branch 'REL1_43'
  to ad3c7084074dce5a5725e5e454aceb4a2adf1e08
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I07c1720f7e8d36cf341c6baf27ebb6becf1b3c6b
2025-09-23 06:48:39 +00:00
Translation updater bot
1df97c8aa0 Update git submodules
* Update extensions/Linter from branch 'REL1_43'
  to 5cf4aa3b35535eaf7716d2e8c1df5866f036c08e
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ic6879439e95d20d432d77f7d707d682d0ffa1fb7
2025-09-23 06:48:34 +00:00
Translation updater bot
6027648cce Update git submodules
* Update extensions/LoginNotify from branch 'REL1_43'
  to 78d82f1c47581f417cb9603b61064dfac25042c0
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I78a85bba97969c2202228cb6af57bea763aee57a
2025-09-23 06:48:31 +00:00
Translation updater bot
dc10775314 Update git submodules
* Update extensions/InputBox from branch 'REL1_43'
  to 1f17a7f553e2db192177587b938323c6ff61ca06
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I60e612674c919726279e0d911ff2df1976960517
2025-09-23 06:48:30 +00:00
Translation updater bot
758bf057ec Update git submodules
* Update extensions/Gadgets from branch 'REL1_43'
  to d40e72fbc4421f4e872dcff5a8b30cbf1aeaf5c8
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I3d263126573e8d59073b253c1a2c50e5bc08fe0d
2025-09-23 06:48:11 +00:00
Translation updater bot
c380eb4aa2 Update git submodules
* Update extensions/Echo from branch 'REL1_43'
  to fa663a91674df5611ad636a52bd5c474a1b91da3
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I7204e7a260069dd6e9ce88f2978f94dcd5d49df7
2025-09-23 06:48:02 +00:00
Translation updater bot
675b34db23 Update git submodules
* Update extensions/DiscussionTools from branch 'REL1_43'
  to afcf393cf51decd21f521c0b21ddddf86a90ac57
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Icbb33683669eac996f83ac6b41400578672f7218
2025-09-23 06:48:01 +00:00
Translation updater bot
4447050f18 Update git submodules
* Update extensions/ConfirmEdit from branch 'REL1_43'
  to 9b1fb3940f31049dadaa2af9c8f0178d485cfc1e
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I7f2f8dbc5912f74946ebb710f1aad62a293e366c
2025-09-23 06:47:38 +00:00
Translation updater bot
cdb79270f8 Update git submodules
* Update extensions/CodeEditor from branch 'REL1_43'
  to 97bb077f5362c323fd2990b9674acbb32ca9940e
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I8c6fc1cd357dfec47df423781573ba49e9babc2f
2025-09-23 06:47:34 +00:00
Translation updater bot
1a392bc55c Update git submodules
* Update extensions/CiteThisPage from branch 'REL1_43'
  to 67deb0d45747ccb790d6a8bb0dfedb4f9242a92a
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I16d4bdd55907bacdda9189ee18e1e380b09f8286
2025-09-23 06:47:30 +00:00
Translation updater bot
ce58d8964b Update git submodules
* Update extensions/Cite from branch 'REL1_43'
  to 82c4c7cead69a0e7cd856453ad44fbdc33c0283f
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ifabd57de1d1e9f96e94899901de3a0474aa3f46a
2025-09-23 06:47:29 +00:00
Translation updater bot
57c3139dc0 Update git submodules
* Update extensions/CategoryTree from branch 'REL1_43'
  to 54404edb0ec52e4095c3b66775b3fe24e737eda3
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I1127b835083927efc9da7c9633c546ef1876faef
2025-09-23 06:47:23 +00:00
Translation updater bot
a64e399367 Update git submodules
* Update extensions/AbuseFilter from branch 'REL1_43'
  to 6a8897924d8eae87b84b9b3da9d47f57849000fb
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ie1e32f54bbbac1c464c0cfabe0fde38c3207baff
2025-09-23 06:47:02 +00:00
Translation updater bot
1edbae3e15
Localisation updates from https://translatewiki.net.
Change-Id: Ibe346447933f8cf9cd70e8473214bca694797fef
2025-09-23 07:35:01 +02:00
Reedy
520e15cd94 RELEASE-NOTES-1.43: Update
Change-Id: I029190bc36c8a75f9def52e23b23f8b5c824d13d
2025-09-22 13:53:39 +00:00
Timo Tijhof
2029b5fd53 Update git submodules
* Update extensions/Echo from branch 'REL1_43'
  to 4ee6bc43c7a8311d773053c4ab7ffe545d4dbcad
  - tests: Remove unused "ext.echo.mobile" dependency from unit test
    
    This prevents the Echo unit tests from working in CI when an
    extension depends on Echo but not MobileFrontend. Normally, we'd
    fix this by skipping relevant tests, but in this case there are no
    relevant tests.
    
    Follows-up I2f923e509d (T342907) which removed the
    test_NotificationBadge.js file, but left behind this unused
    "ext.echo.mobile" dependency.
    
    Follows-up Ie4a87f3b80 (T299780), which fixed a similar issue before:
    
    > The test for `ext.echo.mobile` in particular though was never
    > executed in CI specifically because:
    > > Undefined module: 'mobile.startup'
    
    Bug: T389998
    Change-Id: I6360a6e1d0d599611718a1e171159f52949d1a56
    (cherry picked from commit dd8b29beddef3f6077f97443b15ed18e7718ab5f)
2025-09-17 13:43:10 +00:00
Translation updater bot
a4ed0d1fca Localisation updates from https://translatewiki.net.
Change-Id: I0375777c20ee002afcf444d1892cd85e49530303
2025-09-17 05:43:58 +00:00
Antoine Musso
acaa3a63a7 tests: add skins to PHPUnit "extensions:unit" test suite
When running tests, there is no need to differentiate between extensions
and skins. When generating coverage, CI uses extensions:unit and
skins:unit, they only differ by the paths they filter.

This change extensions:unit to no more filter path, it would then
discover tests under $IP/skins/.  In CI, this will let us switch skins
to use the same job used by extensions therefore simplifying the stack.

Bug: T395470
Bug: T402398
Change-Id: Ifaeb8c2e278acca89a92187ac39a6c0e1eb503f9
(cherry picked from commit 515e35d5b0b3e66e63f8209447aa3888b18a442f)
2025-09-17 01:03:38 +00:00
Dreamy Jazz
f749c4e9eb Skip 'ext.pageviewinfo' module in ResourcesTest to avoid CI failure
Why:
* The release branches of MediaWiki have their PHPUnit tests fail
  in WMF CI because the 'ext.pageviewinfo' module from PageViewInfo
  fails to be validated due to the missing Graph extension
  dependency
* To unblock CI on the release branches, we should just skip any
  tests on this module.
** This is hacky, but there isn't a way for an extension to tell
   ResourcesTest that it's module should be skipped for tests

What:
* Update ResourcesTest::getAllModules to skip tests on the
  'ext.pageviewinfo' module

Bug: T404729
Change-Id: I34d7a1b4769811968e61b3d022cff95e37e7a987
2025-09-16 15:13:58 +00:00
Translation updater bot
f8429ea137 Update git submodules
* Update skins/Vector from branch 'REL1_43'
  to 897b393f719522b8a26edbf65bfb9f69c12c377f
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I19af0c0bdb341611ec226dce8e73ae6dd8cb2a75
2025-09-16 06:51:08 +00:00
Translation updater bot
cba963d528 Update git submodules
* Update skins/MinervaNeue from branch 'REL1_43'
  to 2d1ab02e18feb0ecd36b6e93167b54bd327d750f
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I24958bc2ab1dd5275fee660ee8ee179c3bd9ab36
2025-09-16 06:51:07 +00:00
Translation updater bot
0f4576819e Update git submodules
* Update extensions/VisualEditor from branch 'REL1_43'
  to 12df20285d232207beb0fc900cf25f87b72ec783
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: If10fd09950ac516c1a0dc49569b4e89f21c7bb1c
2025-09-16 06:49:24 +00:00
Translation updater bot
0a86b70293 Update git submodules
* Update extensions/WikiEditor from branch 'REL1_43'
  to 7048111b64854139b57123a7c77e1cad65cfec15
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I349d6bf7d89542822c4a3992874ff508beb34b8d
2025-09-16 06:49:12 +00:00
Translation updater bot
fcc2618136 Update git submodules
* Update extensions/Thanks from branch 'REL1_43'
  to 01bd784430053843a4e73a0ed97a33e3b0c57c4c
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I2cc0d0c2f7f3c0e3972f92a6983b7b716fbacd94
2025-09-16 06:48:52 +00:00
Translation updater bot
a4feac5a2a Update git submodules
* Update extensions/OATHAuth from branch 'REL1_43'
  to c444263d054ece78c499505822750f655f15c422
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ie43439c53b6fd748d90e4714f6a728df16bcaab2
2025-09-16 06:48:29 +00:00
Translation updater bot
37e065577b Update git submodules
* Update extensions/Linter from branch 'REL1_43'
  to 5157239d23ea60c905879a28a63932aca777ab1b
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I486ac9e8d2df138ec210d6a3fb9cf3f95739df46
2025-09-16 06:48:17 +00:00
Translation updater bot
7cdcbd93f4 Update git submodules
* Update extensions/ImageMap from branch 'REL1_43'
  to b484437d9fdd868ac1e58097c5aa2f92753696e4
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I92a5364db5e002ebdcc22929598c11c2f74b7a09
2025-09-16 06:48:11 +00:00
Translation updater bot
324c31509a Update git submodules
* Update extensions/Gadgets from branch 'REL1_43'
  to d6e780f599d19955c6a486a694af4a4e4009dcc2
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Iba67e26fbd0a9364bae54810f79f3830ce79d910
2025-09-16 06:48:11 +00:00
Translation updater bot
69bf0d8852 Update git submodules
* Update extensions/Echo from branch 'REL1_43'
  to a2e94cbc212c1ac0755d5cc8e0832935d095919f
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I57e091e05c09ef6bd70f7e5f2646dbeb46f4aa98
2025-09-16 06:47:50 +00:00
Translation updater bot
e35d854447 Update git submodules
* Update extensions/DiscussionTools from branch 'REL1_43'
  to 4733d326f244ad43f789afedc8f0ca7a7b0b5fd4
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I6968a35f2afc2c6c34c76b42731624fb63b8f6e1
2025-09-16 06:47:45 +00:00
Translation updater bot
bb9cf733ad Update git submodules
* Update extensions/ConfirmEdit from branch 'REL1_43'
  to 506bcd6857a453122ab17b9429cf15fe42b9bd06
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I2127fbe9dcc156366563ec8ccb40922f06951047
2025-09-16 06:47:39 +00:00
Translation updater bot
f9a6d0889b Update git submodules
* Update extensions/Cite from branch 'REL1_43'
  to c27569ce0cd1be8d276d8cf98265d0e2b38055ca
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: If80ed34c9541d0467356b93f40cf628f5a7cc807
2025-09-16 06:47:23 +00:00
Translation updater bot
a7a6bb927c Update git submodules
* Update extensions/CategoryTree from branch 'REL1_43'
  to 6cf99576501f81dab7eeedc0ef3561b4a999e1b6
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I66348560f9438efae05ee0ad720a4a7c9f001140
2025-09-16 06:47:18 +00:00
Translation updater bot
4584440867 Update git submodules
* Update extensions/AbuseFilter from branch 'REL1_43'
  to 1a464f922f28b686280545ea113de7c20e1654fd
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ib5ceb6e8d9362d7743a2d781e72f40916e858151
2025-09-16 06:47:02 +00:00
Func
6677a9ce4b DeletedContribsPager: Use the UserIdentity object instead of the raw target string
Fixed the query for imported actors and some other potential edge cases.

Unsetting the 'target' field in SpecialDeletedContributions alone should
be sufficient, but I would rather like to keep the behaviour the same
with ContribsPager, which is used by more users and using
`$this->targetUser->getName()` is known to be ok so far.

Also, renamed some variables to match the parent class method signature
to avoid confusion.

Bug: T372444
Bug: T404230
Change-Id: I318ec7f30174087f988536f5196ff81e99241c9b
(cherry picked from commit dda0d4dfcd712b976e542cd688a3ab1c45051e7d)
2025-09-14 09:47:56 +08:00
C. Scott Ananian
600f5a4010 Forward-compat data for SelserContext w/ JSON-encoded Content
As per the procedure outlined at
https://www.mediawiki.org/wiki/Manual:Parser_cache/Serialization_compatibility
this patch adds the serialization data for SelserContext emitted
after I0cc1fc1b7403674467d85618b38a3b5a4718b66e is merged, demonstrating
forward-compatibility in the case of rollback.

Depends-On: I544625136088164561b9169a63aed7450cce82f5
Change-Id: Iee05eff6c4094dea4fa0a5462b40a3c1fbfcb501
(cherry-picked from commit 36783b1a9cd38ded876683e0d4a82be34475a2f0)
2025-09-10 14:08:31 -04:00
C. Scott Ananian
e9539efe2c Use JsonCodec to serialize SelserContext
This cleans up a FIXME left over from
I9e6b924d62ccc3312f5c70989477da1e2f21c86b.

SimpleParsoidOutputStashTest was temporary changed from a unit test to
an integration test, since the serialization/deserialization mechanism
for Content relies on ContentHandlerFactory in a way which is
difficult to unit test.  This will be restored in
I0cc1fc1b7403674467d85618b38a3b5a4718b66e once native JSON
serialization for Content is landed.

Follows-Up: I9e6b924d62ccc3312f5c70989477da1e2f21c86b
Change-Id: If985e99f9ca9596d0fe40f0a5ef2cdb72286627d
(cherry picked from commit 2ebf7e12df28f9861bb204ff4134871089a1c771)
2025-09-10 14:08:31 -04:00
C. Scott Ananian
3b9cb6bd21 Forward-compatibility serialization data for SelserContext
According to the procedure outlined at
https://www.mediawiki.org/wiki/Manual:Parser_cache/Serialization_compatibility
this patch adds the serialization data for SelserContext emitted
after If985e99f9ca9596d0fe40f0a5ef2cdb72286627d is merged, and demonstrates
forward compatibility in the case of rollback.

Change-Id: Ie80238944df9e35062ef4dce203934d12ea0914a
(cherry picked from commit e3096ef07742a70ddf591a1547aac2e00795edd3)
2025-09-10 17:24:10 +00:00
C. Scott Ananian
7b307d726d SimpleParsoidOutputStash: add serialization test cases
The '1.44' test data is the current serialization output.

The '1.44_native' test data is the output after
I9e6b924d62ccc3312f5c70989477da1e2f21c86b which uses native PageBundle
serialization.  This is to establish forward-compatibility using the
procedure described at
https://www.mediawiki.org/wiki/Manual:Parser_cache/Serialization_compatibility

Change-Id: I8d53ff3e9c600cce16a0fc07f3665a91e5d8036b
(cherry picked from commit 9f6ee7ef03b2c3657aff60e81c4a0c17599cdc46)
2025-09-09 14:26:59 +00:00
Paweł Świszcz
d60147af25 Update git submodules
* Update extensions/ParserFunctions from branch 'REL1_43'
  to 313bd538255f7a4c11d199cda5694519764bdc61
  - fix: TypeError: Unsupported operand types: int + string (T403241) for $inPos = "- 1"
    
    Bug: T403241
    Change-Id: Icd4ee10930c6643ec5128de3204dcdbc0c608c8a
    (cherry picked from commit 3a1e45e2c63bd785247aae093e3f251eb2ce6aac)
2025-09-09 11:55:46 +00:00
Translation updater bot
df82eb15b7 Update git submodules
* Update skins/Vector from branch 'REL1_43'
  to ac833943611f7a3a234f37a0c615af3a0281c5f1
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ibe794599dd3492fc159ea27d8b08b9c08598fddd
2025-09-09 06:25:08 +00:00
Translation updater bot
d5eb23392a Update git submodules
* Update extensions/VisualEditor from branch 'REL1_43'
  to d1710097735359e570a85fb34b0c4f581c80e0b2
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I2f2d53159a9e011da2a0ba8c5b7a3f4efb29e332
2025-09-09 06:23:53 +00:00
Translation updater bot
3190d8bc60 Update git submodules
* Update extensions/TemplateData from branch 'REL1_43'
  to 0d69064814cce7f6dfd6e0dae6ce06dc80d69717
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ie47bf07fed9ade2b2de7490487a99322fa863c13
2025-09-09 06:23:20 +00:00
Translation updater bot
930e23bb33 Update git submodules
* Update extensions/ReplaceText from branch 'REL1_43'
  to c3006d2803afa6118abe615e68e56f74b1996398
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I4db68ecedea40bb4a98e1401fbbe3d0a9ecb59de
2025-09-09 06:23:02 +00:00
Translation updater bot
907156a180 Update git submodules
* Update extensions/PdfHandler from branch 'REL1_43'
  to 545011573a7494a51e82e2f945e4db25b2287538
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I3ac4bff60bf5530bd300696b908553a98caef22b
2025-09-09 06:22:39 +00:00
Translation updater bot
61e5f33227 Update git submodules
* Update extensions/OATHAuth from branch 'REL1_43'
  to 74acad587110367aaba00cb854c677b53cb4f7c9
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: If383f9ada7c200437eeea17d49b8b12a401f1316
2025-09-09 06:22:38 +00:00
Translation updater bot
de58b7b6ae Update git submodules
* Update extensions/Nuke from branch 'REL1_43'
  to e38d832d8519cd5ed2c68ad9166f6fbae1de7459
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I4183999b0581142db04eb249939495e1d5f47c6c
2025-09-09 06:22:36 +00:00
Translation updater bot
96fd2d15e9 Update git submodules
* Update extensions/LoginNotify from branch 'REL1_43'
  to 92e7f6f5cc1f1f12fe40f313c157e801d6042735
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I8366372a885a515dc3d0265105440aa6d45f016c
2025-09-09 06:22:13 +00:00
Translation updater bot
4da9727210 Update git submodules
* Update extensions/Linter from branch 'REL1_43'
  to 3c50742f279f0ff0f031ea5e8d14e872f96fc45f
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I5da0067d6f4972f42e992f64859742b8f8b50ef1
2025-09-09 06:22:11 +00:00
Translation updater bot
c72ca2dee8 Update git submodules
* Update extensions/ImageMap from branch 'REL1_43'
  to f9ef41979b9656d61fb44c9c6b2959e648ee2d5c
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I58ae2f64dc60d8952737e068457425e09e256e64
2025-09-09 06:22:02 +00:00
Translation updater bot
971bf57932 Update git submodules
* Update extensions/Gadgets from branch 'REL1_43'
  to 530530fe494b15201f2887f944cd25973ae0373d
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I789eca1cb403683f9f22a85330fca2cb9f9b2ac6
2025-09-09 06:21:53 +00:00
Translation updater bot
95cf9c3e22 Update git submodules
* Update extensions/DiscussionTools from branch 'REL1_43'
  to 74bac9af422e8b4b68b0b8e953bcff0af284289f
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: If8114f5971f25f45878c437e722a11fc7d265404
2025-09-09 06:21:27 +00:00
Translation updater bot
665125ff82 Update git submodules
* Update extensions/Echo from branch 'REL1_43'
  to 82d8637b893e30b56561a48505784221f0b73cc3
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ic67b6b69bc1cba4ef4384d7fe886a68f5fee538f
2025-09-09 06:21:25 +00:00
Translation updater bot
db19e0dc07 Update git submodules
* Update extensions/ConfirmEdit from branch 'REL1_43'
  to d57add26410d9eba34db3c2966157e39feb51680
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I3ea0745118fb91aa749193fbefe38f7bc9712c14
2025-09-09 06:21:13 +00:00
Translation updater bot
8cbd47f3e0 Update git submodules
* Update extensions/AbuseFilter from branch 'REL1_43'
  to 4b7d6e4ca2557996d4f58b6a4afe29bcc5316212
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ib216a42cd0d531aecac2a66ebb38129a6b290cde
2025-09-09 06:20:20 +00:00
Translation updater bot
04a84a5c44
Localisation updates from https://translatewiki.net.
Change-Id: Ifdbee20a025a7d39c54b965c312d6a0c7d52faa3
2025-09-09 07:32:43 +02:00
Func
2373e95db7 maintenance: Fix SQL range for moveToExternal
Follow-up to commit fea5c2f, which changed from using `BETWEEN` to
expression builder and broke this.

Change-Id: If2686bb547420fa2f12b41adcff69db5611e6428
2025-09-08 20:41:33 +00:00
C. Scott Ananian
df9756b9a1 Make Content JsonCodecable
By default this uses the existing ContentHandler::serializeContent() and
::unserializeContent() methods.  But in cases where existing PHP
serialization preserved fields that ::serializeContent() did not,
provide an additional ContentHandler::serializeContentToJsonArray()
and ContentHandler::deserializeContentFromJsonArray() methods which
can be used.  Use these in WikitextContentHandler to preserve the
PST flags.

Added test cases and a ContentSerializationTestTrait to make it
easy to ensure forward- and backward-compatibility in accord with

https://www.mediawiki.org/wiki/Manual:Parser_cache/Serialization_compatibility

The new JsonCodecable codec will be used to improve PageEditStashContent
serialization, which no longer has to PHP-serialize its Content object.
New test case added demonstrating compatibility.

Bug: T264389
Bug: T161647
Change-Id: I544625136088164561b9169a63aed7450cce82f5
(cherry picked from commit 21576d6c1893079777a1a51d0f81c4941c58e376)
2025-09-05 16:12:09 -04:00
Kosta Harlan
71fea78777 Update git submodules
* Update extensions/ConfirmEdit from branch 'REL1_43'
  to 7f55833333be8161756f1be86127b2bb51fb56dd
  - Hooks: Add missing action in onEditFilterMergedContent
    
    Why:
    
    - We need to specify that the action is `edit` so that per-action
      Captcha class configuration can function properly
    
    What:
    
    - Specify `CaptchaTriggers::EDIT` when obtaining SimpleCaptcha in the
      onEditFilterMergedContent hook
    
    Follows-Up: Idc47bdae8007da938f31e1c0f33e9be4813f41d7
    Change-Id: Idc160daf4506528d96c1e9101d74f4edbeebf58d
    (cherry picked from commit e6caa3a857bf0432e81db8f0a041cc99759fc874)
2025-09-04 17:17:27 +00:00
Translation updater bot
f07bc66188 Update git submodules
* Update skins/Vector from branch 'REL1_43'
  to 8e27b31f72496028495eccf319471e9785237817
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I8a8fda7ea3def1edc73ebd5397a5f441864fc10d
2025-09-02 06:48:58 +00:00
Translation updater bot
302965c61e Update git submodules
* Update extensions/VisualEditor from branch 'REL1_43'
  to b345fb329d2a56e24410c97e858d4dbbda9bec84
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I25c98e2d1b0903a252048fea9e5266d0743f07db
2025-09-02 06:47:23 +00:00
Translation updater bot
6db219933a Update git submodules
* Update extensions/WikiEditor from branch 'REL1_43'
  to c1c842fe11fb75579ae361365d880bdab1eb0f55
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Iaba96f67d5ec2b390a144f6197f3462c03691fcb
2025-09-02 06:47:20 +00:00
Translation updater bot
e4a78b0338 Update git submodules
* Update extensions/Thanks from branch 'REL1_43'
  to b3cf1b830c4aef8e0eee71ccdaba14c0dd356c72
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ie5dfb3aa4f20c57e81bd0a8427d50e260e131130
2025-09-02 06:46:43 +00:00
Translation updater bot
054e275ec9 Update git submodules
* Update extensions/TemplateData from branch 'REL1_43'
  to 987c0095d25cc6fdfa1fe682a840c04f007e63e8
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ic379e2d9b36b9850825e32f741fd4bf180ccf8a3
2025-09-02 06:46:39 +00:00
Translation updater bot
c823e2c678 Update git submodules
* Update extensions/Scribunto from branch 'REL1_43'
  to 82edf090d2aea8627a537a24fa7b42ce7bfadb18
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I7161256536c536525e2c0408de400590cf423110
2025-09-02 06:46:35 +00:00
Translation updater bot
e8c9d98e50 Update git submodules
* Update extensions/PdfHandler from branch 'REL1_43'
  to db0ace7a9e1111744ad0db8b7313d26907b22c2f
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ia060c0f29e596193b8ae83779685b843dbfbcacd
2025-09-02 06:46:11 +00:00
Translation updater bot
92d9fcd190 Update git submodules
* Update extensions/ParserFunctions from branch 'REL1_43'
  to 4d965b122c5e1a784faa9472f163c35d2036bd93
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ibbb4ce68911d6d0147a8e3b8dcbd0928948e033c
2025-09-02 06:46:10 +00:00
Translation updater bot
7e298fe4a6 Update git submodules
* Update extensions/OATHAuth from branch 'REL1_43'
  to 280ce0a1e08f4b3d136ca6e07e172f8c25f092dc
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I2992dda217da01f7c2a0d5f4185209bec1344551
2025-09-02 06:45:55 +00:00
Translation updater bot
ea0bae5047 Update git submodules
* Update extensions/MultimediaViewer from branch 'REL1_43'
  to be2198b192405c2d82e300f845ee835f6113f343
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I0b78daa49915af85d13f8c93e6140d13957f6141
2025-09-02 06:45:49 +00:00
Translation updater bot
bffd25696e Update git submodules
* Update extensions/Math from branch 'REL1_43'
  to b54a723a85650dd429d141f5ecc86268b1859d88
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ib80129bb408ea508e9f2a672ef98fd40f2680fc1
2025-09-02 06:45:46 +00:00
Translation updater bot
04e6585d54 Update git submodules
* Update extensions/Linter from branch 'REL1_43'
  to d55e47b2ab0d730f4b0791e63d5998d62575c3a1
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ia245e4b2ab72d93e27899da1a5601cbd8351f8ce
2025-09-02 06:45:38 +00:00
Translation updater bot
7684a111b9 Update git submodules
* Update extensions/InputBox from branch 'REL1_43'
  to a43bb065ed2bf264bd40dc98c44f4bf379be5e2e
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Icd6012b731ee53c80c91439eb9bc5fc4c94bb6ca
2025-09-02 06:45:35 +00:00
Translation updater bot
dc11118e78 Update git submodules
* Update extensions/Gadgets from branch 'REL1_43'
  to 050919d3e49c485c356f60b3e6866105c31d40e7
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I3bd0e3688adeddb027c2c046ae325071b455bfe6
2025-09-02 06:45:17 +00:00
Translation updater bot
a0fd3c2b4b Update git submodules
* Update extensions/Echo from branch 'REL1_43'
  to 9aba8882f1c481dd81b60e592fc9607681ebde4b
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ie341d0de29f5187d7dae20545e218c5eb2d16d65
2025-09-02 06:44:55 +00:00
Translation updater bot
6cc9ab10b3 Update git submodules
* Update extensions/DiscussionTools from branch 'REL1_43'
  to c89643c94e9c0a86e4f89d9bc8f54736931386cc
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ic300d9ccdd098059d98e3031bb0e4b22ba33c5c5
2025-09-02 06:44:52 +00:00
Translation updater bot
215f7c050e Update git submodules
* Update extensions/ConfirmEdit from branch 'REL1_43'
  to b6f02db4ae3fb6c485462698b6fdf7a77a0117a1
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I2600907360958f693c5986d4f3d29b669b0e2066
2025-09-02 06:44:29 +00:00
Translation updater bot
f28d250df6 Update git submodules
* Update extensions/CodeEditor from branch 'REL1_43'
  to d61a7f29d005045eb0fc911557eb87405b804bee
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Id695849347e52cd6ed06e6cc2294d8f0fac7b5f5
2025-09-02 06:44:07 +00:00
Translation updater bot
148ee713c5 Update git submodules
* Update extensions/Cite from branch 'REL1_43'
  to 6091e73aa19ef9b519691aafac995e8c15810db9
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I465e5f87901e03d07650b33b2c1f92b573665226
2025-09-02 06:44:04 +00:00
Translation updater bot
952c11a394 Update git submodules
* Update extensions/CiteThisPage from branch 'REL1_43'
  to e7afcb6ed73b7c732e214f92efb7585caafb7a05
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I907b2353802b36d579891564496145f07330db3c
2025-09-02 06:44:02 +00:00
Translation updater bot
8b54ff646d Update git submodules
* Update extensions/CategoryTree from branch 'REL1_43'
  to c75894779780ddac7761e3a27be4b0d791920363
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I2c9c1210b29d9a499cde67a84c2076d9398ce552
2025-09-02 06:43:53 +00:00
Translation updater bot
51ee493a3f Update git submodules
* Update extensions/AbuseFilter from branch 'REL1_43'
  to 1bde32f531680cc563942eff3d43f3b1afc00a24
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I8af0ac242f83da2c25b83a75b3ef1b3dcf10c574
2025-09-02 06:43:30 +00:00
Translation updater bot
42211712ca
Localisation updates from https://translatewiki.net.
Change-Id: I31332ce8403db8e8fdaa95e15bd28999986f60cc
2025-09-02 07:33:06 +02:00
SecureLinkFixer updater bot
0cc52a9e18 Update git submodules
* Update extensions/SecureLinkFixer from branch 'REL1_43'
  to 6717f94de07fbdb295a0f801866d3c2d7c3ca461
  - Updating domains.php from Mozilla
    
    Change-Id: Iea35429e7cf6f2d71aeaea8870d44052ed9a910b
2025-08-28 17:43:52 +00:00
Reedy
ab53d152b8 Update git submodules
* Update extensions/SecureLinkFixer from branch 'REL1_43'
  to 8a4b1c3076cb9ed3b2370667cec0ece49026074b
  - ListFetcher: Update repo used for nsSTSPreloadList.inc
    
    https://github.com/mozilla/gecko-dev became readonly 2025-07-09
    
    Manually update domains.php to align with commit from the same date (2024-10-17):
    9fa53b45aa
    
    Bug: T403183
    Change-Id: I08c8d814eace89d6f9a20a6453d2b34167a5bf6e
    (cherry picked from commit a09f85ccb5365794d90898cd40ed73317314490e)
2025-08-28 16:35:28 +00:00
parvchannel
09c0986c8d Update git submodules
* Update skins/Vector from branch 'REL1_43'
  to 97da0309d941d51f440df1eeb2f5c244f4f46734
  - set the default url to an empty string
    
    Depends-On: I7ae299eb5d174dd0ed3169e4f3a81a71bd191d45
    Bug: T385811
    Change-Id: I4cb39780357e7cc3a253cb7d58e78e490239b31f
    (cherry picked from commit b3415e7a126106dd7445e4602a7971ea2bae5eec)
2025-08-28 15:58:55 +00:00
alex4401
849577a9b8 WebPHandler: Read all of the VP8L canvas height
In WebP lossless chunks (identified by VP8L), width-minus-1 and height-minus-1 of the canvas are sequentially encoded as 14-bit integers. (spec: https://developers.google.com/speed/webp/docs/webp_lossless_bitstream_specification#3_riff_header)

WebPHandler, when decoding the canvas height, has been skipping two most-significant bits. This results in bogus values being read from larger losslessly-encoded files.

Change-Id: Ib5b26f36a15fa65e7990da2ebd94157faccc70c2
(cherry picked from commit 442b73cebbea6db7b7fc945189d5776602fabc8a)
2025-08-26 12:21:30 +00:00
Maryum Styles
c2566f2164 Update git submodules
* Update extensions/OATHAuth from branch 'REL1_43'
  to dc8666dc4bc3c42a7b224848c0d287c9b47e06e4
  - Use standard reauth on Special:OATHManage
    
    Now that the ReauthenticateTime has been set to
    3600 seconds, Special:OATHManage no longer needs to
    set a special time for reauthentication and can
    use the default time
    
    Bug: T402094
    Change-Id: I9522ce2e78db8dc9b5904d8c099bbf78e0f5f5d7
    (cherry picked from commit dc706281f263f420127c40f5de91ddd95007089f)
2025-08-26 12:06:56 +00:00
Translation updater bot
60eb91629b Update git submodules
* Update skins/Vector from branch 'REL1_43'
  to f895e348f5556e029a079831c663ec1e48e35bcc
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ib366aacdeed81d6d718f04b2630bc04f593f20a8
2025-08-26 06:54:06 +00:00
Translation updater bot
22ef9239ff Update git submodules
* Update skins/MinervaNeue from branch 'REL1_43'
  to 4a210fb017f71b4f99c5e7673a0cad4c43fc251c
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ib94f0417bdc33633d1b76b551da4bd648563bafc
2025-08-26 06:54:02 +00:00
Translation updater bot
51ad0f1103 Update git submodules
* Update extensions/VisualEditor from branch 'REL1_43'
  to 4f7d75f25efeb7115bdf188f7b864cb469901159
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I424ca11c3b2fa657983c4e2eddea14e49496191e
2025-08-26 06:52:00 +00:00
Translation updater bot
bed60782d6 Update git submodules
* Update extensions/WikiEditor from branch 'REL1_43'
  to 920d611ffc548af317b3bf6ec2041d96fa0a35fd
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Id47aa8af03dfb86f1790162f32db323544bbb38b
2025-08-26 06:51:53 +00:00
Translation updater bot
c0d4520d52 Update git submodules
* Update extensions/Thanks from branch 'REL1_43'
  to 2b83a718030d8c9002f368372128109c50df2b19
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Idec11188db45e7b9285162048cf7b84673c2b58c
2025-08-26 06:51:28 +00:00
Translation updater bot
216014bc9b Update git submodules
* Update extensions/TitleBlacklist from branch 'REL1_43'
  to f06c65d4c320456addc83f45e91647fb11ee7381
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I19edb68db48e1afb0dc786291fe7f904b8fb31b9
2025-08-26 06:51:21 +00:00
Translation updater bot
fa3d7e88e6 Update git submodules
* Update extensions/TemplateData from branch 'REL1_43'
  to 0ab24d333aa04a8d4d072354ed09aa86aa565d4f
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I53c32b7c3b4e2b614aac444e45a563456e0a8612
2025-08-26 06:51:06 +00:00
Translation updater bot
f3f26e0203 Update git submodules
* Update extensions/SpamBlacklist from branch 'REL1_43'
  to 30bf4393901cd44397031b802ed60ed22002fb16
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I251c6e15c136d907a0baf6da4bbec447a4858f87
2025-08-26 06:51:01 +00:00
Translation updater bot
5782991598 Update git submodules
* Update extensions/Scribunto from branch 'REL1_43'
  to fa16cdf711b97465bec563d42389cafd423de658
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I2bf0117588b7dc885b68c5067f6f7f56878a9c5f
2025-08-26 06:50:57 +00:00
Translation updater bot
99ec509c38 Update git submodules
* Update extensions/ReplaceText from branch 'REL1_43'
  to 97bd5a869cbde2fb044ff9c2aee6a23686a21fe7
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I1db73bfbaea9bf7fac6291be8548ce237980fbc7
2025-08-26 06:50:57 +00:00
Translation updater bot
9ee4d8821a Update git submodules
* Update extensions/OATHAuth from branch 'REL1_43'
  to a76b11b53d62514916c25d687d04bf7a03f65825
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I7e7bca642c25fa69306621b186cb299ee16ac078
2025-08-26 06:50:36 +00:00
Translation updater bot
d8a8c3618f Update git submodules
* Update extensions/Nuke from branch 'REL1_43'
  to e85e75c76bbf77e5a9152fdf78e28ff0ac6ca219
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Icfa69d2e4f041a761b7329590c786cb8402e36cb
2025-08-26 06:50:36 +00:00
Translation updater bot
0c373933ad Update git submodules
* Update extensions/MultimediaViewer from branch 'REL1_43'
  to 06db7e5865dfbaf6d82184026083ccbf2c966ac5
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I6bb90248df9365239dbe446fa234543fbe111175
2025-08-26 06:50:19 +00:00
Translation updater bot
48abbb712a Update git submodules
* Update extensions/Linter from branch 'REL1_43'
  to 606265ab8d0037e1685b557e62fab9b3d44f4608
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I68a94523274d028ad4b02cd65c45365bc293a82c
2025-08-26 06:49:55 +00:00
Translation updater bot
80e326855e Update git submodules
* Update extensions/ImageMap from branch 'REL1_43'
  to 59fed34310fd2a8e750a732effd8d5d9550b6ccc
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Id25a4d4578ff08ea5ca79b6478b6dcd985a8c901
2025-08-26 06:49:47 +00:00
Translation updater bot
a770e8fc87 Update git submodules
* Update extensions/Gadgets from branch 'REL1_43'
  to 883c4c603ebae3ed2e90834b7217667c7775fc41
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Id451da233527614b5fd8594376e9c377a2142a31
2025-08-26 06:49:22 +00:00
Translation updater bot
084b1ef801 Update git submodules
* Update extensions/Echo from branch 'REL1_43'
  to 50de6b386c6cc9476049fc88e1fbdd19b2e455f6
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I26f062986423e24ebb1bcf4b532d503a56315f7d
2025-08-26 06:49:02 +00:00
Translation updater bot
445a9225e0 Update git submodules
* Update extensions/DiscussionTools from branch 'REL1_43'
  to 71fcae8d4d3121cf2479af6e5f476016137434c6
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ibba98a6062eacd7591777df828a0c3ffcc0904df
2025-08-26 06:48:55 +00:00
Translation updater bot
079b4acb12 Update git submodules
* Update extensions/ConfirmEdit from branch 'REL1_43'
  to 1cd34a0377f9bf5d8ffc646fc54ca292caecd6e6
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: If5387eb340d26cd10dd68966e4fc862b1e615560
2025-08-26 06:48:45 +00:00
Translation updater bot
840a0b6171 Update git submodules
* Update extensions/Cite from branch 'REL1_43'
  to e38afcb1b11f25be43836161b13c42d2b8daa9c0
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I8b5bc59bcb954145a816a05cb8009dec8f75ac51
2025-08-26 06:48:32 +00:00
Translation updater bot
1a4d12cb48 Update git submodules
* Update extensions/CategoryTree from branch 'REL1_43'
  to 9a0e7fe99833d86cf5e00db05e97fdce4d14b347
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ieefb72bcf4e63afbbcd86780a3638a082303d626
2025-08-26 06:48:15 +00:00
Translation updater bot
7f20062f19 Update git submodules
* Update extensions/AbuseFilter from branch 'REL1_43'
  to c5eaaa1cd7542f23f82ab89369e7bbd09e658a55
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I5f66b3c60211df7129d399d310f731c459f141af
2025-08-26 06:47:57 +00:00
Translation updater bot
8d33975633
Localisation updates from https://translatewiki.net.
Change-Id: I50214ec04a18b67939e68303369e850212f1a9f5
2025-08-26 07:34:13 +02:00
Maryum Styles
cd53ff0a84 Update git submodules
* Update extensions/OATHAuth from branch 'REL1_43'
  to f54dda23a9a95fc4fcf4d054834812c972714a80
  - Remove ReauthenticateTime override
    
    Removing ReauthenticateTime override to
    use the new 3600 default set in MW core
    in Ic9a4585afcfe72f795868cbf7d5281a809e6a7c5
    
    Bug: T402094
    Change-Id: I1bf5e51701e6aded41d3c5a7f10b192a6c8f1f43
    (cherry picked from commit 066baab3f5b72564ec03455d11e9155b8ced25cf)
2025-08-25 22:22:11 +00:00
Winston Sung
c0fc59ef20 Update git submodules
* Update extensions/PageImages from branch 'REL1_43'
  to 1ff9e184614925aa2fe46d6dbd87522145283585
  - Make $wgPageImagesNamespaces default to $wgContentNamespaces
    
    Make PageImagesNamespaces default to ContentNamespaces instead of only NS_MAIN.
    
    Use false as "default" based on 34f9eb92e0/includes/MainConfigSchema.php
    
    Bug: T393346
    Change-Id: Icd13a85cacdf68daf00a046e3dfdd60094ca213b
    (cherry picked from commit 26e829b66ef01e94f4b9580c6680435341190baa)
2025-08-22 15:18:04 +00:00
Maryum Styles
97bd678013 config: Change Reauthenticate Time Default
Update the default Reauthenticate time to 3600
moving from 1 minute timeout to 1 hour to improve
user experience

Bug: T402037
Change-Id: Ic9a4585afcfe72f795868cbf7d5281a809e6a7c5
(cherry picked from commit fa04ae9ab260082b859876bee7b162b8c833c85b)
2025-08-20 21:56:57 +00:00
Dreamy Jazz
05631d4fe4 Don't use RequestContext in CommentParserFactory construction
Why:
* ServiceWiring.php is documented to say that "Services MUST NOT
  vary their behaviour on the global state, especially not ...
  RequestContext ... or ... "current" user"
** However, the constructor of the CommentParserFactory calls
   `RequestContext::getMain()->getLanguage()` which is in
   violation of this rule by both using the RequestContext
   and being controlled by the state of the "current" user.
* This has caused issues with premature access to the session
  user as demonstrated in T397900.
** Specifically, the call to ::getLanguage will load the request
   user's preferences and then as part of this checks if the
   user is named (which will load the User object).
* Instead of using the incorrect method of getting the user's
  language, it should instead be fetched in
  CommentParserFactory::create.
** This will also allow the Language associated with the main
   request to change without leaving the service with an
   outdated and stale version of the user's Language object.

What:
* Update CommentParserFactory to call `RequestContext::getMain()
  ->getLanguage()` in the ::create method instead of getting it
  from the constructor.
* Remove the call to `RequestContext::getMain()->getLanguage()`
  in ServiceWiring.php as no longer needed.
* Update the unit test to instead be an integration test due to
  ::create now calling code which uses the service container.

Bug: T397900
Change-Id: I36c9d8650eb5040f94626fa50f90b8026d3c3fe9
(cherry picked from commit 536f41bce51ca67733c4879d17992ee0b0db1de8)
2025-08-19 13:01:22 +00:00
Translation updater bot
258a26bb6f Localisation updates from https://translatewiki.net.
Change-Id: I60360bbb9022fc839d9e048d2cefcddabaea3428
2025-08-19 10:42:25 +00:00
Dreamy Jazz
82e3c1d008 Update git submodules
* Update extensions/AbuseFilter from branch 'REL1_43'
  to f16f3d042e37223141df777b7f22ade857cd3c80
  - Protected variables logging: Only compute protected variable values
    
    Why:
    * To log when a user views the value of a protected variable,
      the AbuseFilter code needs to determine if the value of those
      protected variables are not null and the variable is set.
    ** To do this we need to compute all protected variable values
       even if the values are lazily loaded.
    ** However, the code that does this also loads all other lazily
       loaded variables.
    * Loading all the lazily loaded variables causes expensive
      variables to be loaded even if they are not used.
    ** This causes noticeable issues when testing filter conditions
       against a set of recent actions.
    * Instead of computing all lazily loaded variables, the code only
      needs to compute lazily protected variables.
    ** In some cases we can also not load any variable values, because
       the code was only looking for the list of defined variables
       and not their values.
    
    What:
    * Update CheckMatch, SpecialAbuseLog, AbuseFIlterViewExamine,
      and AbuseFilterViewTestBatch to not compute all lazily loaded
      variables via VariablesManager::dumpAllVars:
    ** In cases where it is possible, the ::dumpAllVars call is replaced
       with a calls to VariableHolder to get the variables.
    ** In all other cases update the second argument to ::dumpAllVars
       from `true` to the list of all protected variables.
    
    Bug: T400673
    Change-Id: I7136c61f4e4574de8ffde21076df1c6645a36f81
    (cherry picked from commit 7d948eead42241aa6495bf2d0c3fc9b3c42aea72)
2025-08-19 08:56:18 +00:00
Translation updater bot
2a96bd5d3b Update git submodules
* Update skins/MinervaNeue from branch 'REL1_43'
  to 8733e6bf633cbd2885fa6f6939e1c33910afa501
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I41f55538f80a11ce54804aaf7b46b060b79e0a34
2025-08-19 06:42:53 +00:00
Translation updater bot
fe1e4de7f6 Update git submodules
* Update skins/Vector from branch 'REL1_43'
  to 8258e3d519fefc2c36629ac15922c6a8a96ba1f0
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Icc39ca5e3cb377aaf1b074a41967da19213338c1
2025-08-19 06:42:51 +00:00
Translation updater bot
7fc11b1c43 Update git submodules
* Update extensions/TemplateData from branch 'REL1_43'
  to ea4424ec99eff40d71149d04da65ca86376ac075
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Iebab15d3e6af1528589ab6dca393eb3dcc0503a2
2025-08-19 06:41:34 +00:00
Translation updater bot
bf776114ce Update git submodules
* Update extensions/VisualEditor from branch 'REL1_43'
  to 00fc695507fd01767be8ed91154fd2474c816b9b
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I40cafdac96d191eb018621f9a988d504c7671e8c
2025-08-19 06:41:20 +00:00
Translation updater bot
11c4ad4558 Update git submodules
* Update extensions/WikiEditor from branch 'REL1_43'
  to 6c5e81ad24aaaef6546229c4ef3f2988c1aa2f37
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: If6049d29f370b7bb1de5ef0b2a77c8098a49e931
2025-08-19 06:41:10 +00:00
Translation updater bot
2d4326c7c7 Update git submodules
* Update extensions/SyntaxHighlight_GeSHi from branch 'REL1_43'
  to 08a01c78dc284f02ece3c5f909857769664d0176
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I369de5f5329037f3007adf6f36a16350b2d1692e
2025-08-19 06:40:49 +00:00
Translation updater bot
176f31ff45 Update git submodules
* Update extensions/Scribunto from branch 'REL1_43'
  to ea571ce91012ee211c02adfcb7fe7232565ee2e9
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ifc597c5085c3cbead7aa2ef0d240a9b8ae1e7fdd
2025-08-19 06:40:28 +00:00
Translation updater bot
0e926b76f5 Update git submodules
* Update extensions/ParserFunctions from branch 'REL1_43'
  to f5aaf52e31bc79d5104d4186fdf79b5a90fdd00a
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Idfcbc038dfd4de1dcea33e25c86e1533c9fbb5e6
2025-08-19 06:40:14 +00:00
Translation updater bot
655dde092f Update git submodules
* Update extensions/Nuke from branch 'REL1_43'
  to fc8661532e4f9c54c8f97c41e34b90c98e04614e
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I7f6507188400f36053beef75c38f925a9414aacb
2025-08-19 06:40:07 +00:00
Translation updater bot
f1451af5c4 Update git submodules
* Update extensions/OATHAuth from branch 'REL1_43'
  to 07812f4994641de8fdbaaf284356c2c7793f0df5
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ib143d2789b2fc4808b51febbb2e27766eb4d2b2a
2025-08-19 06:40:07 +00:00
Translation updater bot
775676b47a Update git submodules
* Update extensions/Math from branch 'REL1_43'
  to 3d0e697cde146880f429ed46fe0fe5a1fa8cce45
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: If768b49ccc790472ceb3620945dc62bc82128d23
2025-08-19 06:39:55 +00:00
Translation updater bot
ea85a32b67 Update git submodules
* Update extensions/InputBox from branch 'REL1_43'
  to 1b0f0e91afed194a9f9479c61c142e669d17acdc
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ibc315d69cabc7244022cef610f032acbaa618743
2025-08-19 06:39:47 +00:00
Translation updater bot
f3a5dc8373 Update git submodules
* Update extensions/DiscussionTools from branch 'REL1_43'
  to 185036b0ab5150b4706c73ae583a6a1611d7c4a9
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I0a66b92cdebd59ce03b88cba0ff5b4f9dc12bf18
2025-08-19 06:39:05 +00:00
Translation updater bot
b1b1b0d81d Update git submodules
* Update extensions/Echo from branch 'REL1_43'
  to c1b049e6e36d9cedd2f0b771b00131e722a55586
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I0a66b92cdebd59ce03b88cba0ff5b4f9dc12bf18
2025-08-19 06:39:00 +00:00
Translation updater bot
66745b2916 Update git submodules
* Update extensions/CodeEditor from branch 'REL1_43'
  to c7c4a0f8c31203139635d8fe7ed836e8bf62096b
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ifb23df690981bda70adf504f149ce954e5d3942f
2025-08-19 06:38:48 +00:00
Translation updater bot
7f9ccd264c Update git submodules
* Update extensions/ConfirmEdit from branch 'REL1_43'
  to 845db6e7f68b11c96e347397f732837a3579a4f0
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I70a480c0d69ea60a6bd4e2e598958d74bf2986b6
2025-08-19 06:38:46 +00:00
Translation updater bot
66fef284b6 Update git submodules
* Update extensions/Cite from branch 'REL1_43'
  to 9f098f6fd88476d28e43b39c6cd237f759c4b406
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ie57039c07cf9954a0006a60261f544316bfdd3e7
2025-08-19 06:38:41 +00:00
Translation updater bot
bd3cc2d8af Update git submodules
* Update extensions/CategoryTree from branch 'REL1_43'
  to 3194c7ae4d41972c45f07bdb2150864431c418ed
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I8535848e96de9f8b157e6140e4e1db06929f3fb3
2025-08-19 06:38:22 +00:00
Translation updater bot
a45f9e3270 Update git submodules
* Update extensions/AbuseFilter from branch 'REL1_43'
  to b77316f3518d94e4836d167542d3f416f9094601
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I4c65dc26eeae26c190843d86a01167c6bd53ffe2
2025-08-19 06:37:57 +00:00
Gergő Tisza
9bd9289c6c filerepo: Improve identification of ForeignAPIRepo requests
These requests are usually sent to a wiki operated by a different
organization so UA etiquette is important.
* Add the site's URL (the URL of the main page, more specifically)
  as a contact address.
* Add the site's URL as a referer as well.

Considered but not done:
* Use $wgEmergencyContact as the contact part of the UA. It's not
  guaranteed to be set correctly, while the main page URL always
  exists and will usually be enough to pinpoint the wiki (except
  maybe in some intranet scenarios).
* Include information about the user making the request. Would
  be a privacy risk + probably useless due to caching.
* Include information about the page the request is for. Would
  require lots of refactoring (making the patch harder to
  backport) or relying on the context title (which might be
  fragile), and in any case probably unreliable due to caching,
  and doesn't seem very relevant to the operator of the foreign
  site.

Bug: T400881
Change-Id: I968fac6ee0ebbc5a2bd3244f57851eb64125c93d
2025-08-18 21:02:23 +00:00
Ștefan Talpalaru
82648f1d67 rdbms: Fix read-only detection for MariaDB 12
Running "SELECT @@GLOBAL.read_only" on MariaDB 12.0.2 returns "OFF"
instead of "0", which appears as "true" when cast to boolean in PHP. We
fix that by adding a specific check.

Discord thread where the bug is discussed:
https://discord.com/channels/178359708581625856/1404036592527741049

JIRA ticket in MariaDB: https://jira.mariadb.org/browse/MDEV-37429

Bug: T401570
Change-Id: Ifb04e8b7d04403b6f3dd8517c20c9c0070bd57ac
(cherry picked from commit 54d2416fbcb3a7d0e2a197ca58a755134bd18866)
2025-08-13 14:08:37 +00:00
Translation updater bot
67487848a3 Localisation updates from https://translatewiki.net.
Change-Id: I45db3046481a015c06a973df0e039dc85f9735ca
2025-08-12 10:08:28 +00:00
Translation updater bot
cedf8b95c4 Update git submodules
* Update skins/Vector from branch 'REL1_43'
  to c193424bc8894fa80964c47deb6bfe990d5f7dc6
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ic9a07a46d989a98a23ed8f096033267ada9bf873
2025-08-12 06:57:19 +00:00
Translation updater bot
1d6addd8cb Update git submodules
* Update skins/MonoBook from branch 'REL1_43'
  to c23ebf1470dfbae311c2b5b1df0b68cc612692c3
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Iec38c68efea56a87ce5835fe2682caac7b99b46a
2025-08-12 06:57:16 +00:00
Translation updater bot
d4b777535d Update git submodules
* Update skins/MinervaNeue from branch 'REL1_43'
  to 1a30ba7bcd342534b8de9c3105212fca5f9fbc93
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Iec38c68efea56a87ce5835fe2682caac7b99b46a
2025-08-12 06:57:15 +00:00
Translation updater bot
8169c59e3f Update git submodules
* Update extensions/VisualEditor from branch 'REL1_43'
  to 483821613a584fc78e4a9abffebce53d9905b564
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I73fb417d5f7f14e90c8d7a1081d7cc982cc9d9f1
2025-08-12 06:55:21 +00:00
Translation updater bot
312cb0d7f5 Update git submodules
* Update extensions/WikiEditor from branch 'REL1_43'
  to 668a9ae0d567d28ab82533f63e9107d89e289421
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ibd99d922aa275f6882ea88705c2a411f03cc7905
2025-08-12 06:55:11 +00:00
Translation updater bot
35fc776476 Update git submodules
* Update extensions/TitleBlacklist from branch 'REL1_43'
  to f4860fe5efbf5fab7260dc2af1490ca9ecbe2aeb
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I46c410f4332864f03c506f05abbb64376527ee02
2025-08-12 06:54:50 +00:00
Translation updater bot
465c02b948 Update git submodules
* Update extensions/Thanks from branch 'REL1_43'
  to b2baee710a3e7d2b9b28b78cade4077348537a2e
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ib3cc2ac8bf0c109f5dff6c74d28f553fdfa8611a
2025-08-12 06:54:46 +00:00
Translation updater bot
6874bed334 Update git submodules
* Update extensions/TextExtracts from branch 'REL1_43'
  to 273dcfbace0a1b018876adaf4294a541972dc5cd
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I65a20a2def398fad69dfab6c3694a0b7f5426898
2025-08-12 06:54:44 +00:00
Translation updater bot
2ddce53d36 Update git submodules
* Update extensions/TemplateData from branch 'REL1_43'
  to edb9922eebbb743fbcafee80e0e03a05f38e3e87
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ia7bafadfe4277d0abc185153ec3d3df3ce5d8596
2025-08-12 06:54:37 +00:00
Translation updater bot
6540cb86de Update git submodules
* Update extensions/SpamBlacklist from branch 'REL1_43'
  to b293eb55c6a0a2ac73759741ede7acc5bc5dad1b
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I88aaf1b4056c1ff2b11242e70b6ab8ca589118b4
2025-08-12 06:54:27 +00:00
Translation updater bot
c5c48988e9 Update git submodules
* Update extensions/PageImages from branch 'REL1_43'
  to 36794241028ff2cdb43476d453516bb486923391
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I8a34e8702c66cd926e8e728a05eb7a3eaa6b8476
2025-08-12 06:53:49 +00:00
Translation updater bot
b4d4f170f1 Update git submodules
* Update extensions/Nuke from branch 'REL1_43'
  to 5b372fccf7581e6f9d88f1407ce29307e5593f0d
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: If9327498288aabb96ac18becebd9ec38e80a0985
2025-08-12 06:53:44 +00:00
Translation updater bot
989bcc589d Update git submodules
* Update extensions/MultimediaViewer from branch 'REL1_43'
  to fa281f47e698dccb53243d33f045c597ed64d859
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ide820d64b8cc690837e0f28782e2df33a32a9c22
2025-08-12 06:53:36 +00:00
Translation updater bot
66180c8636 Update git submodules
* Update extensions/Math from branch 'REL1_43'
  to bc019b90ce63820660fc2eca7c3fe2499b694b05
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I1294f32370d3a577c46cf59f2640d49c8e9dc8fe
2025-08-12 06:53:26 +00:00
Translation updater bot
93ec038bc9 Update git submodules
* Update extensions/Linter from branch 'REL1_43'
  to 82a282ffa2a98d25d79e7486c9139d82ab2eb7a7
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I3ae55ea74d723962ca1e32938388a90bfdaaafcc
2025-08-12 06:53:15 +00:00
Translation updater bot
09564e939a Update git submodules
* Update extensions/LoginNotify from branch 'REL1_43'
  to 6ead73513e28511b296ae55f08ca785457eba89e
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I3ae55ea74d723962ca1e32938388a90bfdaaafcc
2025-08-12 06:53:14 +00:00
Translation updater bot
56fede8c75 Update git submodules
* Update extensions/ImageMap from branch 'REL1_43'
  to 757a82efee9be763aa053651658a188ba3c00aa1
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I591bbc01f5f9a2e1b1052bf2a22f8cb1dbade79c
2025-08-12 06:53:07 +00:00
Translation updater bot
1bc49fbaa8 Update git submodules
* Update extensions/Gadgets from branch 'REL1_43'
  to 622e41b45e5beca3d8884d23ec165294af1a24b2
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Icd01c578c7472ec759cd84659160c7f88321b946
2025-08-12 06:52:52 +00:00
Translation updater bot
ea7db44e68 Update git submodules
* Update extensions/Echo from branch 'REL1_43'
  to ca7be2cf530b895c306d0530b9d1df79c7ed3660
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I372d0f8514ebfe0d0bc990b70680f7f5c9617f2e
2025-08-12 06:52:14 +00:00
Translation updater bot
e00f13bfe7 Update git submodules
* Update extensions/DiscussionTools from branch 'REL1_43'
  to 5f59dc1c68462afa5beb6673d04047d4633230f1
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I48944ca863a7cc67300fef4bcd2d4cfb82b53e87
2025-08-12 06:52:12 +00:00
Translation updater bot
4da1b03c53 Update git submodules
* Update extensions/ConfirmEdit from branch 'REL1_43'
  to 16cd01f1191ba75a36647a11e2c37413110db5d3
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I4c8dcca0496849673a8abfe894b7ac2e8f4d8aad
2025-08-12 06:51:57 +00:00
Translation updater bot
b908dbf42f Update git submodules
* Update extensions/CodeEditor from branch 'REL1_43'
  to 0ca5fa45f54d4ca75af1fb1a43defcee8b0ff304
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ic0ca86dcfb7b26b1d01c22e7d7266c4e6e882a36
2025-08-12 06:51:43 +00:00
Translation updater bot
04a55fe560 Update git submodules
* Update extensions/CiteThisPage from branch 'REL1_43'
  to bb1d9e36549a4eca7144c97ff330da29b9de2138
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ic1be9d95a37cb4bf1a8ce0a486317c4edf7784ec
2025-08-12 06:51:42 +00:00
Translation updater bot
bfc01a47b6 Update git submodules
* Update extensions/CategoryTree from branch 'REL1_43'
  to a3ef6648eae994b79c7eb468140b01b83314439e
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I055844035b00f2b2a7c0ad9295ae3f9345eb55d9
2025-08-12 06:51:30 +00:00
Translation updater bot
720af24505 Update git submodules
* Update extensions/Cite from branch 'REL1_43'
  to 94035f6b6efa7a7c81a63ee2dbca7b280c58aff6
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ic1be9d95a37cb4bf1a8ce0a486317c4edf7784ec
2025-08-12 06:51:29 +00:00
Translation updater bot
2bceb80f5a Update git submodules
* Update extensions/AbuseFilter from branch 'REL1_43'
  to 9d8147a7c167a32f28204c1e7beb9dcf94d00225
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ic04a4739f8a942f6b89992f0c6f39ef8952e6785
2025-08-12 06:50:47 +00:00
libraryupgrader
61a5dc7ac1 Update git submodules
* Update extensions/Cite from branch 'REL1_43'
  to 502eaaf5f3ab7e190df27248c517506620c7896b
  - build: Updating tmp to 0.2.5
    
    * https://github.com/advisories/GHSA-52f5-9888-hmc6
    
    Change-Id: Iff5ae46b2d7270cfd66c0860aa2bc80e13bd5914
2025-08-10 02:44:57 +00:00
physikerwelt
9f0fa59779 Update git submodules
* Update extensions/Math from branch 'REL1_43'
  to 195d9a9ac7924ec9159ee65f547930d8425774dc
  - Remove unused util functions
    
    Change-Id: I85dd8ee0aea7b07e5dbc926a276ac5c2524578ca
    (cherry picked from commit f8897088e25c97e5387431e1b3ccc3a61c02dc10)
2025-08-07 02:29:36 +00:00
Umherirrender
9653fc56ad maintenance: Fix paging in findMissingFiles.php
When there are more files as the batch size,
the script loops as the where condition is not changed.

Bug: T401088
Change-Id: Ic52ea24de0bd68db9e7d84e2f1b1067b20c2836d
(cherry picked from commit 9a162bff8add74a1b797cf0769b8601d440cc231)
2025-08-06 19:10:54 +00:00
Erik Bernhardson
ebfb86b721 Update git submodules
* Update extensions/Math from branch 'REL1_43'
  to 5d3ae4779bbf37958b52416807e1bc25eacec2b8
  - tests: Re-enable and fix ParserIntegrationTests
    
    MediaWiki's PHPUnit runner requires files to be named `*Test.php`.
    As this file had the plural 'Tests' it was not being run.
    Rename the file, so that it will be picked up.
    
    See Ia2e4ccb3c for confirmation this was not being run in CI.
    
    Change-Id: Ia2a665ece48e1684a7e5be1c2b40d4e7e52ee624
    (cherry picked from commit 6821391a9e0fe9b09c22e0c1b7d03d389232c44f)
2025-08-06 02:13:10 +00:00
Isabelle Hurbain-Palatin
0f1c77b451 Update git submodules
* Update extensions/Math from branch 'REL1_43'
  to c286b92b1c0aee38d2bb08b9fe469115572b1f07
  - Replace uses of deprecated ParserOutput::getText()
    
    Bug: T293512
    Change-Id: I966b0bcac5b5a9ae09f8243dd1fcee2e7c731515
2025-08-06 01:12:10 +00:00
Translation updater bot
f50c13015a Update git submodules
* Update skins/Vector from branch 'REL1_43'
  to a27f0a634e55ac04a35d78caabab40092cd18814
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Iff78e5953646780b9b334af95cea59c12fca6d16
2025-08-05 06:39:02 +00:00
Translation updater bot
133cd2486d Update git submodules
* Update skins/MinervaNeue from branch 'REL1_43'
  to 5b4f42a3a8f6a5ba91e987a0e3b5559f7e60fdc6
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I064ff830a70d14984f3cf7163018b71c8fa6dbbb
2025-08-05 06:39:01 +00:00
Translation updater bot
a58e71b539 Update git submodules
* Update skins/Timeless from branch 'REL1_43'
  to bce7b5ac3286ef04cea139a38433ab697177abcd
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I948e5ef6da3258f3d865733d2c75e771a0027868
2025-08-05 06:39:00 +00:00
Translation updater bot
85519dae05 Update git submodules
* Update extensions/VisualEditor from branch 'REL1_43'
  to f724f2d1e74dbd8f2c949e2f9fabde1f96419353
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ic994616888a495f519460864fc6822fc619fd727
2025-08-05 06:37:25 +00:00
Translation updater bot
761c01ab95 Update git submodules
* Update extensions/WikiEditor from branch 'REL1_43'
  to ed85f3e1e8b68cb52ca5b006bbba04f7f03d6fee
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ib02825d178cdc7ead3ddbbd7736563108e198b7f
2025-08-05 06:37:15 +00:00
Translation updater bot
86ed5de031 Update git submodules
* Update extensions/Thanks from branch 'REL1_43'
  to 264f1b764b9e746728fe88cf19b17139d5cc0bfe
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I4d527e293e38ce4ac07fccee9c6ea7f43420ac70
2025-08-05 06:36:55 +00:00
Translation updater bot
71925f56bc Update git submodules
* Update extensions/TemplateData from branch 'REL1_43'
  to 9598305826f891b77c04aa6d0625626b556245a3
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I5b67be8ef604a074240b850147fc1cdbb13779bf
2025-08-05 06:36:54 +00:00
Translation updater bot
45c7e1ce7f Update git submodules
* Update extensions/Scribunto from branch 'REL1_43'
  to d3e2f152cf35156d2456bb4a68ed1f440aefbdc2
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ie5287eeb973e3c0aef394ba0bbb20c293bf03906
2025-08-05 06:36:46 +00:00
Translation updater bot
e0db2cd724 Update git submodules
* Update extensions/OATHAuth from branch 'REL1_43'
  to 935d00490d33f512aab7ce7758f4bf610ae5c7f5
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I4faf221f94c0e4c43445f5cb4d61f290a1da24ba
2025-08-05 06:36:33 +00:00
Translation updater bot
f400070ce9 Update git submodules
* Update extensions/MultimediaViewer from branch 'REL1_43'
  to ab607da2f3a67fc14c00191f9f3c18f6b7faf2db
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I1af84cf5ba37d1506af2e09d5247298ea0300973
2025-08-05 06:36:32 +00:00
Translation updater bot
b528781bbc Update git submodules
* Update extensions/Math from branch 'REL1_43'
  to db5ed89bf64485ae1bb4a4c51377c70978bc5eca
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ic9df2cbc7b5bd9cdc86f24aa5c84167de0ea1568
2025-08-05 06:36:24 +00:00
Translation updater bot
936996e9f9 Update git submodules
* Update extensions/InputBox from branch 'REL1_43'
  to 4409fd6b992dd6d6ae36ebd5a8e61b8f3c8137da
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I0157fe1cfd05192071c0442cb7d156641ba35ddf
2025-08-05 06:36:10 +00:00
Translation updater bot
c3c9059ad2 Update git submodules
* Update extensions/Gadgets from branch 'REL1_43'
  to f5d36ad75548d2b49d3a075126164e27794728da
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I5ec85f90e0ab32962f178cf6273225853b014dc8
2025-08-05 06:36:03 +00:00
Translation updater bot
c92ce837f7 Update git submodules
* Update extensions/DiscussionTools from branch 'REL1_43'
  to 7f4a790269fd8a72bceee394cad48d6e82faea20
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I8d6d484e9dbabba9a91d5623d5752d4342c58b6f
2025-08-05 06:35:43 +00:00
Translation updater bot
8f08ce7df6 Update git submodules
* Update extensions/Echo from branch 'REL1_43'
  to d579fa91c0750c1ad5b5fd3ba6de4ac2faad1202
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Id0d04ac7212bf224779e5546cd8aa02888c99ea5
2025-08-05 06:35:41 +00:00
Translation updater bot
0d2c06c60f Update git submodules
* Update extensions/ConfirmEdit from branch 'REL1_43'
  to cf19bc6a5d2a4e973604d17bca45018c3718c59e
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ia826960b098193612babdc21056d56af4c5f30ce
2025-08-05 06:35:34 +00:00
Translation updater bot
4fd19b69e8 Update git submodules
* Update extensions/CiteThisPage from branch 'REL1_43'
  to a7d76948d26a5d54d87cdeb0d1c99d1eca5cee26
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I7aaaf3964d82a4e1bfda7cbf9928c94331a58c91
2025-08-05 06:35:24 +00:00
Translation updater bot
d39905a5a4 Update git submodules
* Update extensions/Cite from branch 'REL1_43'
  to 7af8aaaf8a6714c58182da0d91164b0639363f14
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I086ac61bda5105a12052f3111b802dd4b832e350
2025-08-05 06:35:22 +00:00
Translation updater bot
fdeff782ce Update git submodules
* Update extensions/CategoryTree from branch 'REL1_43'
  to 7b47feb098e78f32b5e6e862a65181780adc26f8
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I275736c025b558626dd02b671522ae340ce36826
2025-08-05 06:35:18 +00:00
Translation updater bot
26902642f8 Update git submodules
* Update extensions/AbuseFilter from branch 'REL1_43'
  to bb1819024a8e469bba4ae9447ef6c38f5c9b4bb6
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ie4cdbb75177e418bacf634a55b406f8a34e7b6fd
2025-08-05 06:35:05 +00:00
Translation updater bot
fead491a1c
Localisation updates from https://translatewiki.net.
Change-Id: Iddb0038efbd5c7b52fbdfa654fb6f4fc2e032e18
2025-08-05 07:32:56 +02:00
physikerwelt
67e62322ea Update git submodules
* Update extensions/Math from branch 'REL1_43'
  to 182d50eca5cf1fc31d65d41f4f1127c1b8608633
  - Move OperatorDictionary to texutil
    
    Change-Id: Ib6dd53e814b9f7329056400d689a005d68f81323
    (cherry picked from commit 9fe55dbb6f6e244325ff030170c10479d6709261)
2025-08-04 02:36:41 +00:00
a smart kitten
ffa868bcf1 PostgresUpdater: Fix typo in sites_group index renaming; re-attempt to drop most of the dropped sites indexes
Why:
 - From MediaWiki 1.36 to MediaWiki 1.44 (inclusive),
   `PostgresUpdater.php` contains a typo in the instruction to rename
   the `sites_group` index to `site_group`.
 - This typo means that - on Postgres wikis - the MediaWiki update
   script will not currently rename this index as intended, as the index
   which the updater is told to rename (i.e., containing the typo)
   doesn't exist.
 - From MediaWiki 1.42 onwards, this typo indirectly causes `update.php`
   on Postgres wikis to throw an error on its first run:
    - From MW 1.42 onwards, the update script included an instruction to
      drop multiple indexes on the `sites` table, including this index
      that was previously intended to be renamed.
    - However, as this typo meant that the `sites_group` index was never
      renamed on Postgres wikis, the database is unable to find the
      renamed index in order to drop it; and consequently throws an
      error (reported on Phabricator as T374042).
 - This only affects the first run of `update.php` due to the fact
   that - when deciding whether to apply the patch containing _all_ of
   the index-drops for the `sites` table - the `dropIndex` instruction
   only checks for the existence of the `site_type` index (and, if the
   `site_type` index doesn't exist, the patch as a whole isn't applied).
   However, as - within `patch-sites-drop_indexes.sql` - the statement
   to drop the `site_type` index is located _before_ the instruction to
   drop the `site_group` index, the `site_type` index will have been
   dropped on the first run of `update.php`.
 - This also means that - on any future runs of `update.php` - the
   indexes listed after (and including) `site_group` in that SQL file
   will currently remain un-dropped.

What:
 - Fix the typo in the PostgresUpdater index renaming instruction:
     `'sites_group, '`   ->   `'sites_group'`
 - Update PostgresUpdater to individually re-attempt to drop the indexes
   listed after & including `site_group` in
   `patch-sites-drop_indexes.sql`, to ensure that they're dropped on
   Postgres wikis that have already (1) upgraded to MW 1.42+, & (2) ran
   `update.php`.
   (These could theoretically have all been combined within one extra
   SQL patch, rather than one for each index; but I thought it might be
   best for the updater to check for the existence of each of these
   indexes individually before it attempts to drop each one.)

Follows-up 9907b56c9b, 616744db1d

Bug: T374042
Change-Id: Ie6ffa92153e64ca653f726a35a5a6b5d95d093f5
2025-08-03 11:40:46 +01:00
Derk-Jan Hartman
4a391d63d0 ImagePage: Remove PNG previews line for native SVG rendering
Bug: T393028
Change-Id: I15f3dd10f4f30c78ac8dfce0fd6c1eb1a3df4c8d
(cherry picked from commit 21d884ce7d950aaeab990c3069575f435e2911d3)
2025-07-31 21:51:22 +00:00
Umherirrender
7508435ecc maintenance: Fix sql for touched-only option of refreshLinks script
The convert from raw sql to expression in 81c6df6a46
has a error for the touched condition.
Switch the conditions and use RawSQLExpression to use the raw sql.

Follow-Up: Ieb229d8088cb1ff3f03e44f7ac99eb612f48bc7b
Change-Id: I8fbe0ec44d1a43795a3e4c94f910e09878eebde6
(cherry picked from commit f11b59de58bcb241fa337bbcdd276d25bc94e462)
2025-07-31 14:06:42 +00:00
Aditya Kumar
f4e70dc71e Show user a human readable message when $wgLocaltimezone is set to an invalid timezone
Reason for backport:

This can also be a Debian 13 support issue, some MW installations may
have had `$wgLocaltimezone` set to deprecated values[1] like `PRC`
by the installer or manually.
After they upgrade to Debian 13, the `tzdata` package no longer
provides these timezones, and the `tzdata-legacy` package is not to be
installed by default.

[1]: https://www.php.net/manual/en/timezones.others.php

Bug: T380423
Change-Id: Ie2001796442ee6ba973fdb4b7b1dc7312f802e8d
(cherry picked from commit 45dc435d897d7716ddc8215cb841b07f1c7a2f9c)
2025-07-30 13:08:49 +00:00
Bilin Tsui
bc5dad6ace
i18n: Add Special:MyLanguage to mediawiki.org links
Change-Id: I61eb034973c0d0610a4b1c26c8b25dbfaafc2187
(cherry picked from commit 51d9f481f0ebe4ddabffbc4d110c091756bfd3e2)
2025-07-29 23:48:59 +08:00
Translation updater bot
05e2a0b9d8 Update git submodules
* Update skins/Vector from branch 'REL1_43'
  to 5c2db5ad672761fb395b3c9a53a89a6d1dfc2bfc
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I6ffb332874fc7c60fcf2a00c6ee2de5d0ba30ac7
2025-07-29 07:01:46 +00:00
Translation updater bot
420449017f Update git submodules
* Update skins/MinervaNeue from branch 'REL1_43'
  to fc7a61607d83cd13635611542aa4941c5b26783e
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Iccabcb135a45fd9cefa2de1331ffbaf8a12c3b03
2025-07-29 07:01:45 +00:00
Translation updater bot
4cc9cf872f Update git submodules
* Update extensions/VisualEditor from branch 'REL1_43'
  to 17e4b901bf43e843253f1d64ae6192786a749c56
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ia5c6222876a30901ec002faf16391d891c7be4d4
2025-07-29 07:00:14 +00:00
Translation updater bot
4ce17d1d30 Update git submodules
* Update extensions/WikiEditor from branch 'REL1_43'
  to 95155114c5e950fc53183ad8e8dab7d3596500d9
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I27916227815aa44be6bb1282b4f5017f651c21bc
2025-07-29 07:00:02 +00:00
Translation updater bot
476ffdb193 Update git submodules
* Update extensions/Thanks from branch 'REL1_43'
  to 727c027b8bb8b11def3c3c1d63fc04c2d4594935
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I9150fb2eb829fd065379d437c6dcc5672d82d833
2025-07-29 06:59:40 +00:00
Translation updater bot
ce3586bfc6 Update git submodules
* Update extensions/TemplateData from branch 'REL1_43'
  to 5a4184b03c8771721c7642e9951043828edf63d0
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I088de2c9783294b7e22112121bd0581957ed04cc
2025-07-29 06:59:37 +00:00
Translation updater bot
a546a21bd6 Update git submodules
* Update extensions/Scribunto from branch 'REL1_43'
  to 49735b9b0eb98bb9a3580ff4a8814c58d0fc6a07
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I90d2ce9e836f1ad380ddb6061a3bd4f79cd994a5
2025-07-29 06:59:29 +00:00
Translation updater bot
bffc660e5a Update git submodules
* Update extensions/PdfHandler from branch 'REL1_43'
  to 431c8f9ea566481a2c43336e5fa70912fa40b1bf
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I1249ba6014777e50149a0afa4bceea35e2a772d2
2025-07-29 06:59:04 +00:00
Translation updater bot
1094b6af30 Update git submodules
* Update extensions/ParserFunctions from branch 'REL1_43'
  to 84e4ff9b7f1a4c9cf457c6956d13663411bdda56
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I3e9759892e71be9eadedd52ef153c03070c167e6
2025-07-29 06:59:02 +00:00
Translation updater bot
0244c85b46 Update git submodules
* Update extensions/Nuke from branch 'REL1_43'
  to e4e217058426c71cf07e01f0ee1cc8442fbfe4ec
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I7eeb12e519244f197902c4b5f8e67cdec468c838
2025-07-29 06:58:54 +00:00
Translation updater bot
8b08420e2d Update git submodules
* Update extensions/Linter from branch 'REL1_43'
  to 0748f3d82008b0848c327395fe871fdeaf70264c
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Id93e6b842a5680e1a605df6d5e5b256eec962603
2025-07-29 06:58:37 +00:00
Translation updater bot
953763b268 Update git submodules
* Update extensions/LoginNotify from branch 'REL1_43'
  to afe5d60a3bdd3642b4b8d47f8c341b7a5042c5e9
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ic16b2c24a92f1cbb7de68f45a0aeaba1006d0191
2025-07-29 06:58:37 +00:00
Translation updater bot
377b29daf5 Update git submodules
* Update extensions/ImageMap from branch 'REL1_43'
  to 034a89c710696b04f509e9c4b2ae9fc291986e9f
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I974a889c39c067c45e343d56f3bc837037a151fe
2025-07-29 06:58:17 +00:00
Translation updater bot
6f1e87e168 Update git submodules
* Update extensions/Gadgets from branch 'REL1_43'
  to d215343d742c354cf9f01f0838ae7e8448b7c041
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I318b1b1db07805064563c81ad12b8cf531968c70
2025-07-29 06:58:08 +00:00
Translation updater bot
3bfceb502b Update git submodules
* Update extensions/Echo from branch 'REL1_43'
  to ef46451b9be6af9e7a2411d044fe43aebed80564
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I078c5e0d15d501599e98132d0bf3804025a21569
2025-07-29 06:57:57 +00:00
Translation updater bot
8d28a2544c Update git submodules
* Update extensions/DiscussionTools from branch 'REL1_43'
  to 0375aeaa06a84d83b2ed4b30dbc0c8d359ece4df
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Iab3bb8de5dcc4cc8775a68646528e4222e409c89
2025-07-29 06:57:56 +00:00
Translation updater bot
3a86666686 Update git submodules
* Update extensions/ConfirmEdit from branch 'REL1_43'
  to 1ef1d3917d7c8cc8a1b5ff25bcbdf63f12d2a3eb
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I2a99c152adb896ebc33a8bcf6b1b4480cdf6f969
2025-07-29 06:57:43 +00:00
Translation updater bot
a207e12de3 Update git submodules
* Update extensions/Cite from branch 'REL1_43'
  to 8747d08faeed5adc5d28a5a1df6bbec071ba97d5
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ifebfba06422119abd9324403b449c5088bf92898
2025-07-29 06:57:29 +00:00
Translation updater bot
1bcd76b70a Update git submodules
* Update extensions/CategoryTree from branch 'REL1_43'
  to 9f0287bf0eeb04bab2be3737c0dcd52c0fc57c72
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ia9a2d0232a2d8859abd6a8781282f9ff43af8291
2025-07-29 06:57:20 +00:00
Translation updater bot
beecbd08e4 Update git submodules
* Update extensions/AbuseFilter from branch 'REL1_43'
  to 6f1895690a192c5b96acaed9f427c6a25c76ec11
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ie5b55129fc1f145c1576c0670138e81721fa4f4f
2025-07-29 06:56:59 +00:00
Translation updater bot
b41ba4a682
Localisation updates from https://translatewiki.net.
Change-Id: Ib561627c8c9dad04228e41c80c8b12c16b18ad4e
2025-07-29 07:33:35 +02:00
Derk-Jan Hartman
91fedb08bc Exif: Handle malformed gps tags
- Handle GPS tags with decimal rational number instead of array of dms
  rationals
- Mod the decimal values
- Increase validation on GPS tag format

Bug: T386208
Change-Id: Ief823af317bbb01b4a05e34b1d189ce1deaa1f33
(cherry picked from commit 55ffc43a596c0547986322ffe679d37daa921be7)
2025-07-28 16:19:44 +00:00
Umherirrender
bce244403c media: Remove pass-by-ref in Exif::exifGPStoNumber
Use coalesce operator to check if the array key exists

Change-Id: Icf24e208a487bafe3d1983536870aac19cfc4b5e
(cherry picked from commit f0ad539b4e613216639b04386f56d6bb1b656d14)
2025-07-28 16:19:19 +00:00
C. Scott Ananian
30ae82e2b2 ParserOutput: Prepare to allow JsonCodec serialization of TOCData
In a future patch (Ia690f10ccbf4f60f9febca98915155c2df58f0d4) we will
use native JsonCodec serialization of the TOCData object.  But first
we will add forward-compatibility code to deserialize TOCData, so that
if we need to rollback the future release we won't break the parser
cache.

New serialization test cases added, as per
https://www.mediawiki.org/wiki/Manual:Parser_cache/Serialization_compatibility

Bug: T327439
Change-Id: I4652b2709afd33ff5e469e36960391e993bc7bae
(cherry picked from commit bf61f6bc0eaf5013167e4b80860b0a610559c661)
2025-07-26 01:18:35 +00:00
Bartosz Dziewoński
2f9383b270 diff: Avoid Phan warning with some Wikidiff2 versions
Something changed in WMF CI config that causes this warning to be
emitted, perhaps T397429#11035011.

Change-Id: Ib477c1812c48a96b252a4f687e09f1ca5c30c2f3
(cherry picked from commit 4b5fc06c5e34b0a9332c9228ac3c28fd0f750c6c)
2025-07-25 17:18:53 +00:00
libraryupgrader
1469f52ab0 Update git submodules
* Update skins/Vector from branch 'REL1_43'
  to c567186c471aa48195c15b4e483064da45882973
  - build: Updating form-data to 3.0.4, 4.0.4
    
    * https://github.com/advisories/GHSA-fjxv-7rqg-78g4
    
    Change-Id: I5585daecb79c034073b74c06849029d85c150347
2025-07-24 23:12:44 +00:00
libraryupgrader
15cf8b36c5 Update git submodules
* Update extensions/Cite from branch 'REL1_43'
  to 488acf77519fc9f1af79640e78dbb6edc04a8387
  - build: Updating npm dependencies
    
    * @cypress/request: 3.0.1 → 3.0.8
      * https://github.com/advisories/GHSA-fjxv-7rqg-78g4
    * form-data: 2.3.3 → 4.0.4
      * https://github.com/advisories/GHSA-fjxv-7rqg-78g4
    
    Change-Id: Id4470b2b758a720637737a86a86ddc90cdc04aa7
2025-07-24 03:09:01 +00:00
Translation updater bot
5b35f5a130 Localisation updates from https://translatewiki.net.
Change-Id: I4e5046afcfdae3bd1be13e478fddae50d49fa747
2025-07-24 02:19:27 +00:00
Umherirrender
e85535f90c Update git submodules
* Update extensions/AbuseFilter from branch 'REL1_43'
  to 23e5a2a8caba8bcd975e2f1ae0f40f18c389c718
  - Provide default for missing request values on Special:AbuseFilter/new
    
    Missing request value can only happen when the form is submitted in an
    non-normal way; we should ensure it does not log warnings in that case.
    
    Bug: T396591
    Change-Id: I101d5d8ed1bca134a6d1cd4da6ca4768374f484c
    (cherry picked from commit b9e34ed31a5a221a5dd758b95eac3c857228747c)
2025-07-23 18:00:37 +00:00
Siddharth VP
5b202040ec Update git submodules
* Update extensions/SyntaxHighlight_GeSHi from branch 'REL1_43'
  to d8afdf64f373ada44c832a143169158d9ad691b3
  - Update pygments/AUTHORS file
    
    In create_pygmentize_bundle script, fetch the AUTHORS file from the
    GitHub repo and update our local copy.
    
    Change-Id: Ifbb84fcfb956fa2e3f4312e7b3b059c474322f82
    (cherry picked from commit 696f5ef27a360017ead545a994b63f300f5ce021)
2025-07-23 14:24:12 +00:00
Dreamy Jazz
9d39b05391 Update git submodules
* Update extensions/AbuseFilter from branch 'REL1_43'
  to bc7e84a07c991ebd9251fb7d0cfb5829af50cbaf
  - SECURITY: Check protected variable access in CheckMatch API
    
    Why:
    * The AbuseFilter 'abusefiltercheckmatch' API allows users to
      check if abuse_filter_log rows or recentchange rows match against
      a provided pattern.
    * This currently does not check if the pattern attempts to match
      against protected variables that may be present in the variables
      generated for either the RecentChange or abuse_filter_log row.
    ** This allows users to trial-and-error work out the value of
       protected variables when they do not have access to the
       variables.
    * This should not be possible and proper access restrictions for
      protected variables should be applied.
    ** This includes logging when a caller is matching against
       protected variable values to avoid trial-and-error matching
       allowing an authorised user to see the value without creating
       a log entry.
    
    What:
    * Update CheckMatch::execute to:
    ** Reject attempts to match using a pattern that contains
       protected variables that the user cannot see the value of.
    ** Reject attempts to match against abuse_filter_log rows that have
       protected variable values that the user cannot see to be
       consistent with Special:AbuseLog access restrictions.
    ** Log when the provided pattern uses protected variables that
       have a value in the variable dump.
    * Add tests to verify this fix works.
    
    Bug: T397196
    Change-Id: I5f02572b94760141f6f57873409469318f441e18
2025-07-23 13:52:08 +00:00
Bryan Davis
8188c1cbfd Update git submodules
* Update extensions/SyntaxHighlight_GeSHi from branch 'REL1_43'
  to ccf8bf6ef56c8acc5beed3a55f463acd3f16eeb0
  - Update Pygments to 2.19.2
    
    Bump embedded Pygments version from 2.18.0 to 2.19.2. Changes
    <https://github.com/pygments/pygments/compare/2.18.0...2.19.2>.
    
    New lexers: codeql, debian.sources, gleam, googlesql, hare, json5,
    maple, numba_ir, numbair, pddl, pyi, ql, rego, tablegen, td, tsx, vue,
    zetasql.
    
    Includes upstream contributions from Taavi and Diskdance.
    
    Bug: T383018
    Change-Id: I2430784ee62b348f902bdeeb55b04536a963ad98
    (cherry picked from commit 936d4b68cd563b79fce27b65780ae20f36ea7ecf)
2025-07-23 13:46:38 +00:00
Bryan Davis
208b6fff38 Update git submodules
* Update extensions/SyntaxHighlight_GeSHi from branch 'REL1_43'
  to bbbc805d9805c76be2a5a88467f6473a4ad85402
  - Update Pygments to 2.18.0
    
    Bump embedded Pygments version from 2.17.2 to 2.18.0. Changes
    <https://github.com/pygments/pygments/compare/2.17.2...2.18.0>.
    
    New lexers: Janet, Lean 4, Luau, MOjo, org-mode, Promela, Soong
    / Android.bp, Tact, Typst.
    
    Bug: T364249
    Change-Id: I3e0961fd25f55e99bf76debaa004d9895475baad
    (cherry picked from commit 8710b947ae7345308c298a7d38269dfef6031047)
2025-07-23 11:26:45 +00:00
Redjard
88c6cfbc8d Fix attachLatest --regenerate-all creating invalid SQL command
Change-Id: Iabb55be7b7c55dad072b53147570ae71ed382081
(cherry picked from commit 6f708bf0746fb43fbce8d32368bdb0519a64ed9b)
2025-07-23 11:06:39 +00:00
C. Scott Ananian
0809cc355f ParserCacheSerializationTestCases: distinguish empty ToC from missing ToC
Add a new test case for the "empty ToC" case, to complement the
existing serialization test cases for "missing ToC" and "non-empty
ToC".

Change-Id: I8e2ff94f871546232cbf099f98bfcce559de76f2
(cherry picked from commit cb2173c57276142adc466f7494016e2faf15b758)
2025-07-23 01:31:23 +00:00
C. Scott Ananian
5b7a803a5d ParserCacheSerializationTestCases: back port ParserOutput changes from 1.45
Add parser cache data from 1.45, according to the process in

https://www.mediawiki.org/wiki/Manual:Parser_cache/Serialization_compatibility

and synchronizing with I04e715acc721d20c5fbd586ed44cef219f56cf4f.

Change-Id: I55cdbf821f5d9930822a633a6b767f0528e74a5d
2025-07-23 01:25:37 +00:00
Translation updater bot
7516a1197a Update git submodules
* Update skins/Vector from branch 'REL1_43'
  to 5f0b824950827049a4fef1b30300fb47f0146547
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I8857751edb1f26a8fa4d8efc416a3b301ead1b16
2025-07-22 06:48:03 +00:00
Translation updater bot
4b3c480601 Update git submodules
* Update skins/MinervaNeue from branch 'REL1_43'
  to 15be00877bcaa6454fef62f41cec84075f92e14b
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I7082bde397bc470df6851db797a2e18d9c2d4c66
2025-07-22 06:47:59 +00:00
Translation updater bot
9e324a5344 Update git submodules
* Update skins/MonoBook from branch 'REL1_43'
  to d1e391f5d5bca71a347074587e3b2bffe43109b3
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I373c99025e8ff707f47a47cec325f5d945de88a4
2025-07-22 06:47:58 +00:00
Translation updater bot
b73c5c39ec Update git submodules
* Update extensions/VisualEditor from branch 'REL1_43'
  to bf5a93f1d42f6bf6dd644819bcb7138e8c26c147
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I95a318a1e35e29a56b677adcb9d1eb4525856a37
2025-07-22 06:46:40 +00:00
Translation updater bot
b6c6fabf77 Update git submodules
* Update extensions/WikiEditor from branch 'REL1_43'
  to 14128bb4148e03f1b15c8d8a2345d4344f155b9a
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I95a318a1e35e29a56b677adcb9d1eb4525856a37
2025-07-22 06:46:35 +00:00
Translation updater bot
496fa324c1 Update git submodules
* Update extensions/Thanks from branch 'REL1_43'
  to 75ea5628f951044bfe25d9985abdec59f035d1f3
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I6549effe94b0132baa9bce2bd1717a3de18ef0d8
2025-07-22 06:46:15 +00:00
Translation updater bot
6064bbd52c Update git submodules
* Update extensions/TextExtracts from branch 'REL1_43'
  to d883c3ee1b4559d135e81c9c3b063692f9d54b35
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I888942b85883774788329e089bded87fe405b7d6
2025-07-22 06:46:11 +00:00
Translation updater bot
d78ada4a8a Update git submodules
* Update extensions/TemplateData from branch 'REL1_43'
  to b966fe7c94c580a5f03df1f386962551653f333e
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I4db9f8c43a3dfec526425b746b88f7a768d154dc
2025-07-22 06:46:10 +00:00
Translation updater bot
f469a977aa Update git submodules
* Update extensions/OATHAuth from branch 'REL1_43'
  to 41afa24a708a23b01c92dcaddb6ff4e5e0734062
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I9e607b12c7696c58a63ba53bb434a6c9b30749bb
2025-07-22 06:45:43 +00:00
Translation updater bot
06d8cbe441 Update git submodules
* Update extensions/Linter from branch 'REL1_43'
  to ec0d3eee06f2dee4bf9d3acf8d8a57f9e30926ce
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I6e864130c46bc0b040b4c347631550382d81c6a0
2025-07-22 06:45:32 +00:00
Translation updater bot
540c6a5556 Update git submodules
* Update extensions/LoginNotify from branch 'REL1_43'
  to d2eef1af8ccebaed70c9380bd5bb0ae887497c92
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: If3f0d03440be1dca39e98173d93ee45538ab6d28
2025-07-22 06:45:31 +00:00
Translation updater bot
ff778cc6df Update git submodules
* Update extensions/Gadgets from branch 'REL1_43'
  to db0822f698daa2f3370c4ee584a3857ccefec678
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Idb6554b06c196cea7d2e29e920cde5e56a503f34
2025-07-22 06:45:09 +00:00
Translation updater bot
1a4b705168 Update git submodules
* Update extensions/Echo from branch 'REL1_43'
  to e4bbcabf722acf7b95cee86aca1bb77f7c651e54
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I1e0d9407994a08a952afd86234b2d68499c6eb2f
2025-07-22 06:44:50 +00:00
Translation updater bot
156e972d4c Update git submodules
* Update extensions/DiscussionTools from branch 'REL1_43'
  to aa8bda4e5f7432d97a2c2766b57b387d4bba99f6
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I8b3946392f992910391ca66cf429ce9aa413d833
2025-07-22 06:44:49 +00:00
Translation updater bot
bb9ef12f14 Update git submodules
* Update extensions/ConfirmEdit from branch 'REL1_43'
  to 7b18b336e31b7b72a12887bc2418550499459d26
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ia2c07fd85d782412c500a76e0f7b2a9155742bbe
2025-07-22 06:44:47 +00:00
Translation updater bot
606f293cd7 Update git submodules
* Update extensions/Cite from branch 'REL1_43'
  to 52ddd6e6bd0181f0eebc7a73bbcb8726f98324ca
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ibcb4dd7be14c6e910b181f3d831acfaf8baffc9b
2025-07-22 06:44:37 +00:00
Translation updater bot
e9fae6b959 Update git submodules
* Update extensions/CodeEditor from branch 'REL1_43'
  to 13378812a800b628bc3cc278f385d866986d4476
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I7606641b703abfbe25967e4be0fe957bbe078a4f
2025-07-22 06:44:35 +00:00
Translation updater bot
e03e33a83f Update git submodules
* Update extensions/CategoryTree from branch 'REL1_43'
  to 78617a33c0598367cc7d83865c458f5f1b7bcb21
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I1b1f1cdf9cdb59c13fe613d2cbe524232e5c4360
2025-07-22 06:44:22 +00:00
Translation updater bot
f1fb0f0f25 Update git submodules
* Update extensions/AbuseFilter from branch 'REL1_43'
  to a8dbd6b44e929cd52d738de6623251f140c814fb
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I46bf92a193c9e534ed54e76f6d82f2b31a419d64
2025-07-22 06:44:07 +00:00
alex4401
6ecb7a4272 rdbms: Fix GTID style detection for MySQL servers
WHAT:
- Return the GTID style from `MySQLPrimaryPos::parseGTID`, which already identifies the style during parse.
- Rely on `parseGTID`'s detection in `MySQLPrimaryPos::init`.

WHY:
- When GTID-based replication is enabled and MySQL is used for the database, MediaWiki misidentifies the engine as MariaDB.
- This causes position waits to fail with "No active GTIDs in $1 share a domain with those in $1".
- This is a regression caused by I232274feb12c0ce4826be2c46a35315b425f6673:
  - Before that change, parseGTID returned the domain ID as an integer for MariaDB and as a string for MySQL.
  - The `init` method used this fact (`is_int`) when determining the GTID style.
  - After the change, parseGTID always returns the domain ID as a string.
  - The check in `init` was incorrectly updated to expect a string for MariaDB, but did not account for MySQL's source ID also being a string.

Change-Id: I4951e7967a45bae10d26b06ee236a55279fa8fb9
(cherry picked from commit 54154c87c084543fd659f24ae6b4c276184259cc)
2025-07-18 20:46:50 +00:00
TehKittyCat
8728f29a32 PermissionManager: Fix missingPermissionError() not returning early when $short is true.
This regression was introduced in I6670a58fe1.

Bug: T399793
Co-Authored-By: Jonathan Lee <cookmeplox@weirdgloop.org>
Change-Id: I26b61e2a08b51aaca5d2740dcaf20b509be380eb
(cherry picked from commit fa05279424e0688a7b34f1186050dca1e2ec5f4b)
2025-07-18 20:07:08 +00:00
C. Scott Ananian
330ef61cbe Parser::extractBody: Use possessive matcher and once-only subpattern
We were getting PREG_BACKTRACK_LIMIT_ERROR in production from certain
inputs to Parser::extractBody().  Use possessive matchers and a
once-only subpattern to ensure that we don't backtrack unnecessarily
once a <body> tag is found.

Bug: T399064
Follows-Up: I59abad3a58ccd6edc6517b13a56d8253ba0e0928
Change-Id: If6860ca268236cf428d574f6bb21c2070f5aa6a3
(cherry picked from commit 2c56237235a5603a1757982f02d3e542bdafaf06)
2025-07-17 12:56:52 +00:00
Arend Pieter
e7fa1c246c Parser: Handle regex failure in extractBody method
Add a check for regex failure in the extractBody method and throw
a RuntimeException with the error details if preg_replace returns null.

Bug: T388729
Change-Id: I59abad3a58ccd6edc6517b13a56d8253ba0e0928
(cherry picked from commit 3b297d37dd368d1d66f7afd78851bbb7a47cab0b)
2025-07-17 12:56:27 +00:00
Derk-Jan Hartman
21ec3daaa7 Update git submodules
* Update extensions/OATHAuth from branch 'REL1_43'
  to 2afe8fcbe02084540406685c4c7f66be5e95bb23
  - Add white border around QR code to fix dark mode
    
    A white border surrounding the qr code helps code scanners to detect
    the edges of the code in dark mode.
    
    Bug: T392657
    Change-Id: I638fe365b88e0fb1d8d455b3cf6a4341ded96e18
    (cherry picked from commit 927a7e82dfde80de85624ac93fb1fe2232180c02)
2025-07-16 16:15:02 +00:00
apaskulin
9b503d1e52 docs: Add link to CORS setting for REST API
Bug: T391180
Change-Id: Iba11859a36b519feeb460d8ce6c315678011cdb3
(cherry picked from commit d84d8222734dafb31cda1c5dc13032bf67362180)
2025-07-16 11:53:21 +00:00
Timo Tijhof
bdf3614252 mime: Add mime types for *.less
This enables serving Less static files from /w/static.php at WMF,
which un-breaks the VisualEditor demo. In WMF production, static files
are routed through /w/static.php which for safety reasons denied
serving of files not of a known mime type.

Ref https://github.com/less/less.js/blob/v3.13.1/packages/less/src/less-browser/file-manager.js#L31
Ref https://en.wikipedia.org/w/extensions/VisualEditor/lib/ve/demos/ve/desktop.html

Bug: T399672
Change-Id: Ibb44af73c375cb0cb1588b3aca9607ba9ad187f0
(cherry picked from commit 8e29c316b073c8efc3c57cd45ee73e908e85722d)
2025-07-16 10:58:47 +00:00
Wendy Quarshie
87b34ec850 REST: JSON schema definitions for additional response bodies
Bug: T376603
Depends-On: I4193b9be4516717c7ce423131370a7d0b6ea8962
Change-Id: Ic2d9471ad446eb5f9d5e7072f1ef93f7196a20f8
2025-07-15 11:40:08 +01:00
Wendy Quarshie
c192133daf Define and store MediaWiki REST API ‘page’ endpoint responses as JSON schemas
Bug: T375530
Change-Id: I4193b9be4516717c7ce423131370a7d0b6ea8962
2025-07-15 11:39:54 +01:00
Translation updater bot
14b1f8b88f Update git submodules
* Update skins/Vector from branch 'REL1_43'
  to d09fef55333cb0cbb5963c945bf2dc878f3b35ca
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ib9ea39eec487028c46fce5553b11edb6602245e6
2025-07-15 06:56:37 +00:00
Translation updater bot
03a3c78cfe Update git submodules
* Update skins/Timeless from branch 'REL1_43'
  to 6e31b31e9c2c60aaee0cc14ec6feff2f2983a2ea
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ib2f78e050c3206368c4ade2353d8bbffc8375412
2025-07-15 06:56:35 +00:00
Translation updater bot
5358ebd860 Update git submodules
* Update skins/MonoBook from branch 'REL1_43'
  to 6dd91c65d66ab40b948cf8200eeeebd8987fbc64
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I1bf02465fcabdcf624eb4e503206eede75882a8e
2025-07-15 06:56:34 +00:00
Translation updater bot
310c44a864 Update git submodules
* Update skins/MinervaNeue from branch 'REL1_43'
  to 5cb33c9e6b628f90b69eb0e18edb54912f7e5e4b
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I04d613c845c1c548d85b591dbb87e13f965b9bf4
2025-07-15 06:56:34 +00:00
Translation updater bot
c9e3fc29f0 Update git submodules
* Update extensions/VisualEditor from branch 'REL1_43'
  to 34cf5345add0fa8d353e76334a8a948772e77f2b
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ie6efc7c16f2698887818e3072122b4c103eb98dc
2025-07-15 06:54:53 +00:00
Translation updater bot
373368f43b Update git submodules
* Update extensions/WikiEditor from branch 'REL1_43'
  to 847d10db226f6fde298bc813361aac8b8b66559f
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I98856daf303152143c9e2c4ce29a34538cd6af2d
2025-07-15 06:54:49 +00:00
Translation updater bot
81f5ff6dcd Update git submodules
* Update extensions/Thanks from branch 'REL1_43'
  to d67714f5c37b1123b5e9d450bbcc3ca4321c6639
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I381a630df56abb73fede49458ae070c2be9c50cd
2025-07-15 06:54:22 +00:00
Translation updater bot
cea94be653 Update git submodules
* Update extensions/TextExtracts from branch 'REL1_43'
  to 12339f9929b7a182733858321e1e8f7e9555143d
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I5d71d874bcad52bea712a8c09b7c5497e61c30c6
2025-07-15 06:54:20 +00:00
Translation updater bot
98ef15615c Update git submodules
* Update extensions/TemplateData from branch 'REL1_43'
  to 6b64cf0366fad7b337d233927adfe2660f98939d
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I3c1ffcaca0615e6d7d7a17887b3b59889d5e3cb1
2025-07-15 06:54:09 +00:00
Translation updater bot
4b798b9414 Update git submodules
* Update extensions/SyntaxHighlight_GeSHi from branch 'REL1_43'
  to 89fb0fe19ae6b66d95fb0493dc987dbea34d8371
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I4b3396f9776931d4b757ce04673e8d88bd64137c
2025-07-15 06:54:01 +00:00
Translation updater bot
2ce3245e72 Update git submodules
* Update extensions/SpamBlacklist from branch 'REL1_43'
  to 90b426c5d3685d60e9a16020241aa6f42b9aaa01
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I9be4de8dfadc435861eb237b46506e72e28a755f
2025-07-15 06:54:01 +00:00
Translation updater bot
aefad027ab Update git submodules
* Update extensions/Scribunto from branch 'REL1_43'
  to 7d2f2f5bddafd9e740c14e8d656c0408cbf130dc
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Iaf369ad0ac2e587672ae124447e0b07a0a689751
2025-07-15 06:53:49 +00:00
Translation updater bot
a3d61cf9f7 Update git submodules
* Update extensions/PdfHandler from branch 'REL1_43'
  to 581b31b8cf43befdc7c2bc76262f300e347b21fa
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ic3adca50f7631e33886e0ee250c24bc27f3be836
2025-07-15 06:53:41 +00:00
Translation updater bot
48c6f14377 Update git submodules
* Update extensions/PageImages from branch 'REL1_43'
  to 1a5a4eff5a16fc04da30d4d5f14cf47c4f008bac
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ief84e404eb940fcf5d7e3952ced09138561d1713
2025-07-15 06:53:37 +00:00
Translation updater bot
4b1a474926 Update git submodules
* Update extensions/OATHAuth from branch 'REL1_43'
  to 45f3a6f247787659c7549f019d552bfdcf11a269
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I1979c4190b001a976b3b6c45cbe028349cd7f5b8
2025-07-15 06:53:32 +00:00
Translation updater bot
af5a139cd5 Update git submodules
* Update extensions/MultimediaViewer from branch 'REL1_43'
  to c7ff0eabbcb9e77df4da2074179b16424a33e4bb
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I73b3da45c92806bd1ab8225ec65979be8161b1c4
2025-07-15 06:53:20 +00:00
Translation updater bot
4da59d16c1 Update git submodules
* Update extensions/Math from branch 'REL1_43'
  to 389181a4a3c92e9febba9d890f3c39818f1187a8
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I40e4e779bb74c0f943f5e12a785cf3707385fa7e
2025-07-15 06:53:12 +00:00
Translation updater bot
289c4ccbd0 Update git submodules
* Update extensions/Linter from branch 'REL1_43'
  to 15771103dc0dab6c070d61dbf3d02a6af6729a99
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: If4f50b992dd5e23e0318ba4c3fb7ebc3751a3a1c
2025-07-15 06:52:54 +00:00
Translation updater bot
6113f5aa8d Update git submodules
* Update extensions/LoginNotify from branch 'REL1_43'
  to 5be9d95d8e581804498f246049f2cc91769ea9a3
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I772218262bf4be61dcc3def8ef526bc308d19231
2025-07-15 06:52:53 +00:00
Translation updater bot
eb9131ec26 Update git submodules
* Update extensions/InputBox from branch 'REL1_43'
  to c8491de62db604889b91428659c721794652d1fa
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Idd0c3cbc07f0e821f85f7629ecbf02d505a50511
2025-07-15 06:52:41 +00:00
Translation updater bot
b921c866bf Update git submodules
* Update extensions/Gadgets from branch 'REL1_43'
  to 30306e663fa016f98070148c7b506df7a69a6842
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I5b1e64fdcf60c3bb3f16058e99b9616dcf8def12
2025-07-15 06:52:29 +00:00
Translation updater bot
b6125ecf0c Update git submodules
* Update extensions/DiscussionTools from branch 'REL1_43'
  to a7df21e3572817c0fb51d7e00072748bee1075fc
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Iae7dd0b59ec88b6c69573dc997d4e0fe4ff592e0
2025-07-15 06:52:09 +00:00
Translation updater bot
3e16e60998 Update git submodules
* Update extensions/Echo from branch 'REL1_43'
  to 510122cc06caf265df6dbc81a6b25a75a9ec6849
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I8f2ec9d2b9bb961c13605b9ad5e015dbc938facb
2025-07-15 06:52:08 +00:00
Translation updater bot
ea4ce1ad85 Update git submodules
* Update extensions/CiteThisPage from branch 'REL1_43'
  to 1f2302156bc97da0330890d96c1df0733b721751
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I80782648f763f45e6d959f153898bd47ae3f2ecd
2025-07-15 06:51:55 +00:00
Translation updater bot
465bea8338 Update git submodules
* Update extensions/ConfirmEdit from branch 'REL1_43'
  to ca0037fb887f0bdbf36785b485adde2b8ba6690f
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ib3517a9fc10487e0d93fe8b00d860610eccd01d4
2025-07-15 06:51:53 +00:00
Translation updater bot
bb3b5f00fb Update git submodules
* Update extensions/AbuseFilter from branch 'REL1_43'
  to f93842c17bc7622f8ce2d81cb0aacfe44d44b4d2
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I7eb8470233ba44474624f948cb990630dc274dcd
2025-07-15 06:50:42 +00:00
Translation updater bot
a13c7cad6e
Localisation updates from https://translatewiki.net.
Change-Id: I8a9758cc9475d503948bdef92a4ea60a27cda6b3
2025-07-15 07:33:49 +02:00
Timo Tijhof
a3f7a093a1 mediawiki.page.ready: Fix undefined mw.user during temp user logout
Follows-up Ib62cdb5ba7 (ab89fff633), which added a call to mw.user
without declaring a dependency.

Clicking "Exit session" consistently fails on a plain install with:

```
Uncaught TypeError: mw.user.isTemp is not a function
    logoutViaPost ready.js:195
```

Bug: T378163
Change-Id: I9c4a788228a70131700769d3fd2a991c6cb0cd27
(cherry picked from commit d3ddfd942592a6a2b511b34ba8872e51d51377c6)
2025-07-12 02:35:05 +00:00
Meno25
59ff804dab Update git submodules
* Update extensions/OATHAuth from branch 'REL1_43'
  to 807e8d39516a56978a3bc452596646a311edda06
  - Update redirected links
    
    Change-Id: I9cc474eccae2e23e737fef69bc4c4f85ddb9bd51
    (cherry picked from commit f5f4ee59634645b3b203037a6958820b40ceb79f)
2025-07-09 14:28:15 +00:00
Translation updater bot
2328b6eeaf Update git submodules
* Update skins/Timeless from branch 'REL1_43'
  to 70ac6588d7ad1135f2e8211d23e465c97697cca1
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I55c6a6a11da1006a3267defa3ebcc25edd845077
2025-07-08 06:26:35 +00:00
Translation updater bot
ea1eebb3a3 Update git submodules
* Update skins/Vector from branch 'REL1_43'
  to cbc4c24a01745b87f8f4d1b8cdbc5014314f1b12
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I278e7b677e400da328219055c1284cddbb0bd9aa
2025-07-08 06:26:33 +00:00
Translation updater bot
6239241191 Update git submodules
* Update skins/MinervaNeue from branch 'REL1_43'
  to 38e89021bc22de8c5e00f73a09c9db90ab7574a7
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: If3ca6309306c01d3dfd790924de5f53a899a5c22
2025-07-08 06:26:32 +00:00
Translation updater bot
0b1bcfcc70 Update git submodules
* Update skins/MonoBook from branch 'REL1_43'
  to f65e713044604ee9335a2aead79c68903750506a
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Icd8b1d3ef0a69311bac9cfc061a64888c90c474e
2025-07-08 06:26:30 +00:00
Translation updater bot
69f958164a Update git submodules
* Update extensions/VisualEditor from branch 'REL1_43'
  to b79caf7c2791eec4dd526b72112bb831d76953e7
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I43944f8d7d57a03b3faf454d6b5a8244a893f3cc
2025-07-08 06:25:25 +00:00
Translation updater bot
1724731ffc Update git submodules
* Update extensions/WikiEditor from branch 'REL1_43'
  to b9d432c995ac17ac03af1505f9e088da700af8ae
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I21b831f63890bfc3d6f814a6b69c70aa814de0fe
2025-07-08 06:25:09 +00:00
Translation updater bot
3c1c46b436 Update git submodules
* Update extensions/Thanks from branch 'REL1_43'
  to 99eccd8c44146775e698277d519e69ae5498e758
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ie5a0d4ffe483d6c2106732400b727d14b5d0e0ba
2025-07-08 06:25:00 +00:00
Translation updater bot
f9782f4c41 Update git submodules
* Update extensions/TemplateData from branch 'REL1_43'
  to 1cb7fa05979f05c6b9c724e6958f3c8512852294
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I71635b1b3ec6fdca24fada69e416022b0482fed8
2025-07-08 06:24:57 +00:00
Translation updater bot
4ffbbdca7d Update git submodules
* Update extensions/Scribunto from branch 'REL1_43'
  to 69bdf17dc31222bd0d260e8e50426372eab2f27f
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Id0250d7899faa0aec46cda0b7611d2d47afad39f
2025-07-08 06:24:49 +00:00
Translation updater bot
61e89b9fa8 Update git submodules
* Update extensions/OATHAuth from branch 'REL1_43'
  to 12c4f186673819ed02eb777794d0d437683d0c2e
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ib650f99ce85fe4bd2a8a54031d9de67af29e2ad2
2025-07-08 06:24:41 +00:00
Translation updater bot
dd3f25c8dd Update git submodules
* Update extensions/Nuke from branch 'REL1_43'
  to 82fa8fa61dc3972093ba9ac30efd0cad033fb88e
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ib816da60bca7e394bbf3a5ab11e17f8780d6dfa3
2025-07-08 06:24:39 +00:00
Translation updater bot
3804fdb723 Update git submodules
* Update extensions/Math from branch 'REL1_43'
  to c2538d6ad8449a132a1736e3cacdddf3a15f351e
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I4484bf45aa9d6d842c803a9a490c82eeeb73b187
2025-07-08 06:24:31 +00:00
Translation updater bot
0db8f3005a Update git submodules
* Update extensions/Linter from branch 'REL1_43'
  to 3bb31978045483e4cd0d25313bf0f5c2cb6c245d
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: If2545347189d1d331d42f6878250fb497e3066c3
2025-07-08 06:24:26 +00:00
Translation updater bot
ba009cc0b5 Update git submodules
* Update extensions/InputBox from branch 'REL1_43'
  to e851603ea25fdb60ef5fc523562adc1b4f537e5a
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I096cd3b0d58b66455ac17ed6847e0794c14f3c21
2025-07-08 06:24:20 +00:00
Translation updater bot
0948f56e3a Update git submodules
* Update extensions/Gadgets from branch 'REL1_43'
  to 9e1e0513778be02649a54cedd3cba1e32b8a5779
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I1ee8c7756d2d3d922a7a070e46699aa16559d983
2025-07-08 06:24:01 +00:00
Translation updater bot
f045245cd4 Update git submodules
* Update extensions/DiscussionTools from branch 'REL1_43'
  to 9d61e6eea9d5db9faa418a20e3dd61efe8cc7540
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I40e07544ac269d8d6afe6dc71937b6648b3350e4
2025-07-08 06:23:53 +00:00
Translation updater bot
b4fa6649be Update git submodules
* Update extensions/Echo from branch 'REL1_43'
  to 97d33d64f791f821ff71c9ee99b6abf3900c2e6b
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ifc9417b3b7f9c889e18e492fc66b677e72b1166e
2025-07-08 06:23:51 +00:00
Translation updater bot
faca6ece51 Update git submodules
* Update extensions/ConfirmEdit from branch 'REL1_43'
  to eaaa9a20c929f4a12cae4c4adcd90faa33470157
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I2eb30c8d8afb6805f2d8ffed3ed8f5eb50a9f9f2
2025-07-08 06:23:48 +00:00
Translation updater bot
6b4e0645a4 Update git submodules
* Update extensions/Cite from branch 'REL1_43'
  to adb55e61f83938cff1b387ec458d2d048face40a
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ie9fbe3224138ed9b3614e142acb83248d69f9e47
2025-07-08 06:23:39 +00:00
Translation updater bot
435562a970 Update git submodules
* Update extensions/CiteThisPage from branch 'REL1_43'
  to 916d0d441dd436be9dcc65229fdbde42bf8cd0a9
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I8bbafbd1d41586a14c1b71b080c335bd4623f6b5
2025-07-08 06:23:38 +00:00
Translation updater bot
42e180ca57 Update git submodules
* Update extensions/AbuseFilter from branch 'REL1_43'
  to 794f3d1662f34ff63e53d8035faecf9605e9ea7b
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Iab4cf2c1ac62fa89d4e774bf02dcba909dfd895e
2025-07-08 06:23:20 +00:00
Translation updater bot
97bc6ab0b3
Localisation updates from https://translatewiki.net.
Change-Id: If84426817dc71714bd7d89735afeef3b0b1ea696
2025-07-08 07:32:39 +02:00
Timo Tijhof
9d285ee317 Update git submodules
* Update extensions/ConfirmEdit from branch 'REL1_43'
  to 39479e347365d1a359909317dbbeb7856fa22848
  - Allow $wgCaptchaClass to be set to a built-in module by name
    
    Discourage exposing internal PHP class names as public APIs in their
    own right. For compat with additional extensions to ConfirmEdit, it
    can also be set to any custom subclass like before.
    
    This should improve ergonomics, as there wasn't a list of
    fully-qualified class names in the README, whereas it's fairly simple
    to make a list of symbolic stable names.
    
    These are also compatible with the values that were used prior to
    MW 1.42, and thus make it so that we can remove the class aliases
    without breaking existing installations that set their LocalSettings
    prior to that, and without going through a painful deprecation-for-
    having-a-value-in-LocalSettings phase (T384064).
    
    Bug: T384064
    Change-Id: Ifa42da394e25a8d87ad8bcc2eec16c9efe91428c
    (cherry picked from commit fb0423a1a80dfae5796f8be1b02068aec03df173)
2025-07-07 19:39:23 +00:00
Fomafix
add5bfa0b3 Update git submodules
* Update extensions/ConfirmEdit from branch 'REL1_43'
  to cb1daa6f6f3fc058b791f2d867f2598014c568af
  - Remove internal $wgCaptcha singleton
    
    The static variable $instanceCreated is not needed anymore. Instead,
    the singleton is stored there instead.
    
    The docs for "wgCaptcha" in extension.json were incorrect, since
    wgCaptchaClass is how the module is configured.
    
    Change-Id: Ie7226e8c7d83de3f7925fc9d7d6e27096f686f56
    (cherry picked from commit ec7651f4b11cec563922beb5a361118651fa6f49)
2025-07-07 19:39:21 +00:00
Reedy
63e75471f9 Update git submodules
* Update extensions/ConfirmEdit from branch 'REL1_43'
  to 048f9c23fff5ec5a3bbcd458bd95d0a183b7f86d
  - Stop setting $wgCaptchaClass in extension.json files
    
    Bug: T394814
    Change-Id: Ib9c1538fcacdb903ad8900735f74c57ba3deb030
    (cherry picked from commit 7f4f9e10eac3f45fbf3b7b09068ae6a65b949652)
2025-07-07 19:39:21 +00:00
Umherirrender
26734f2f5f autoload: Expand Autoloader::CORE_NAMESPACES
Add missing namespace prefix to the constant

Change-Id: I3ba37863b1e4de9d64d1c09045c0e5b1da678425
(cherry picked from commit ec02426638f0732a345bd8376f55819ec777741a)
2025-07-07 16:53:04 +00:00
jenkins-bot
1b34c0a438 Merge "tests: move slow ScopeStructureTest out of structure" into REL1_43 2025-07-05 20:43:26 +00:00
Reedy
aa21c5d854 Update git submodules
* Update extensions/ConfirmEdit from branch 'REL1_43'
  to ff362a6f056d48998a2ebbfd48d58f797a016009
  - CaptchaPreAuthenticationProvider: Set correct action on account creation
    
    So we use the appropriate error message
    
    Change-Id: I32957f5afae4013ded1f11ce1f213c0a21f193fe
    Follows-Up: I0da671a546700110d789b79a3089460abd9cce3b
    (cherry picked from commit 3ae6236f4469bd6430d831a1db881603c8a49266)
2025-07-03 15:37:24 +00:00
Umherirrender
d433a9467a installer: Always check return of IDatabase::fieldInfo in postgres
A non-existing field may return null, when trying to drop the default.
Avoid a fatal error in this situation.
There is no real issue yet, but good coding practice to check for null.

Change-Id: I1041f24361febb52fd7fb20c42348b712dd70fe9
2025-07-02 00:08:01 +00:00
Tim Starling
30c2ad5fae uppercaseTitlesForUnicodeTransition: Add missing return
When MovePage::move() returns an error, doMove() should return false
instead of carrying on with move log adjustment.

Bug: T394556
Change-Id: I0864bd491d59fff42a062d7e5db957e46852761a
2025-07-02 00:34:22 +01:00
Umherirrender
595623d90e Cache: Move MessageCache hook interfaces into correct folder
The folder name must match the namespace used for the interface.

Change-Id: I5e2f6d12b33a8ff540eaf4b9998e573179e8a1cf
2025-07-02 00:34:15 +01:00
Umherirrender
10c01b23c0 Rest: Move ModuleConfigurationException into correct folder
The folder name must match the namespace used for the class.

Change-Id: I768a4f8c9031e51b4a61174f39164204f6331dc2
2025-07-02 00:24:28 +01:00
Reedy
ce2bd6ef3d Start 1.43.4
Change-Id: I4f1f98333f8c518efe15a7d5e646db9afae28a6a
2025-07-01 14:51:55 +01:00
Reedy
1317199663 Prepare 1.43.3
Change-Id: I759bdcfafc659cf470353aa54bc026485bff020e
2025-07-01 14:47:09 +01:00
Reedy
db289a0db6 Start 1.43.3
Change-Id: Id8fa14b692ebbe3e11293901bcc0e41bafebc88e
2025-07-01 13:05:47 +00:00
Antoine Musso
c1cd8d8b1e tests: move slow ScopeStructureTest out of structure
While looking at the list of tests for an extension I found 3000+
ScopeStructureTest which are generated from the php files in
mediawiki/core (more precisely `$wgAutoloadLocalClasses`):
* those tests take 21 seconds to complete on my machine.
* None were generated for the extension being tested, those tests are
  thus solely affected by mediawiki/core.

`tests/phpunit/structure` is included in the `extensions` and `skins`
PHPUnit testsuites and any patches made to them would run that 21
seconds suite even though its only testing mediawiki/core.

Move the test outside of `structure` so it is no longer run for
`extensions` and `skins`.

Bug: T225730
Change-Id: I628210b8b270773f3dad12bbde9d72f0328fcceb
(cherry picked from commit d10835b8bc933a49724010f0c39dfeaccfa9108c)
2025-07-01 13:02:37 +00:00
Reedy
00290223cc composer.json: Replace away symfony php polyfills for PHP8/8.1
We know we need 8.1, so we don't need the polyfills

Bug: T398269
Change-Id: I022b9c38d52d79a0551732faa6df929b924808ab
2025-07-01 12:51:43 +00:00
Reedy
7006d2c8c0 Update git submodules
* Update vendor from branch 'REL1_43'
  to ff925b8b4d47c62b3a451f8f52d5468cd575fae9
  - Re-add symfony/polyfill-php82/symfony/polyfill-php83
    
    Were removed from composer.json, but not actually from disk...
    
    Bug: T398269
    Follows-Up: Iefc3dcb5f111653a4c7b857d8577bda13116562a
    Change-Id: I40292d13e15a628b3c2b86b1ae26c89dba9cec29
2025-07-01 12:49:08 +00:00
jenkins-bot
1698f0771a Merge "BlockListPagerTest: Fixup tests for pre REL1_44" into REL1_43 2025-07-01 12:43:42 +00:00
Translation updater bot
17fc470d3e Update git submodules
* Update skins/Vector from branch 'REL1_43'
  to 304e9f1db2fc2207d7a5a1ceceb48c1b0939bae5
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I5f38fba4ed95372084110c0818e663e45a285d8e
2025-07-01 06:42:43 +00:00
Translation updater bot
abf84c89fa Update git submodules
* Update skins/Timeless from branch 'REL1_43'
  to bc8bec6e8a16a215ad4bfe86d2ea7f30a7bad139
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I4c37e3c12db4694ce7b3fcd53b31e7e18fe6cedb
2025-07-01 06:42:40 +00:00
Translation updater bot
23c8d8b455 Update git submodules
* Update skins/MinervaNeue from branch 'REL1_43'
  to d3508af247711e2cc61f4ae1eb8d97f4e8187f41
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I4780224c626ff0fd5649c5b777cf998595d61d72
2025-07-01 06:42:39 +00:00
Translation updater bot
ebb5ffad4a Update git submodules
* Update extensions/VisualEditor from branch 'REL1_43'
  to ad33e89582770747564ae14e83621b9f9faa105a
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ic3dcf0f0c5bb85f82ebf8118dacf24b99ccfcba5
2025-07-01 06:40:59 +00:00
Translation updater bot
b215f21c86 Update git submodules
* Update extensions/WikiEditor from branch 'REL1_43'
  to b47c43872425fa545fdb8c7ec5bea1874b4c44ba
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I4e8a6b2ffda84f329eac6adb6c5d5526d3386853
2025-07-01 06:40:45 +00:00
Translation updater bot
5f16afe021 Update git submodules
* Update extensions/TemplateData from branch 'REL1_43'
  to 6199e15c32f351bab7ad09857fcf152bb62ff392
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: If2f7b687f2d0ac01457d0ebebacd9801247ad10c
2025-07-01 06:40:35 +00:00
Translation updater bot
1dc99c3a35 Update git submodules
* Update extensions/TextExtracts from branch 'REL1_43'
  to 296c9ea67d8f22d9e65700936c9bbea4e39f77d7
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ib0d1cd6a1876d5127dbe07ae520fe6b082bc2f3c
2025-07-01 06:40:34 +00:00
Translation updater bot
364e5d7a1c Update git submodules
* Update extensions/SyntaxHighlight_GeSHi from branch 'REL1_43'
  to 9481d2dd97116ca284908801313ecbcab6fd536f
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I70f9b1f041d6066940c523b59ac69d29f148e3af
2025-07-01 06:40:32 +00:00
Translation updater bot
ae7c345832 Update git submodules
* Update extensions/ParserFunctions from branch 'REL1_43'
  to e0cf7317fa977961c1fbb02530f4c7a212b33239
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I5027adcd353240976064a39f80f74b3920d73dca
2025-07-01 06:40:12 +00:00
Translation updater bot
0ce4014009 Update git submodules
* Update extensions/Nuke from branch 'REL1_43'
  to a1c788d9454d069a1f4c56466d747dca326d3c8c
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I1e1c2aa1ac62670c0934619f45964052ce7fe08d
2025-07-01 06:40:03 +00:00
Translation updater bot
14b24ff129 Update git submodules
* Update extensions/MultimediaViewer from branch 'REL1_43'
  to 8653e26a14443368284d1c1e7c4dc889b6db851e
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I016813aa5a7cd63af7e5d132e396111d80340233
2025-07-01 06:40:00 +00:00
Translation updater bot
b33f195106 Update git submodules
* Update extensions/Linter from branch 'REL1_43'
  to ecca5245dec10ec6909fb7eb1d9fd69c99376d43
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ib4224fa83c58d71ccb7c32a07bab526f330a7b80
2025-07-01 06:39:44 +00:00
Translation updater bot
0143bdc13e Update git submodules
* Update extensions/Gadgets from branch 'REL1_43'
  to eccf183962b111db3c7f211ad2ee817756c9bc7b
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I24ecaac3a01a37432664c41e52f6bf55015e28ee
2025-07-01 06:39:34 +00:00
Translation updater bot
2d86895bb0 Update git submodules
* Update extensions/Echo from branch 'REL1_43'
  to ada204d7f98718ba47c4064b2b11e6f0748a65ad
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ida32e8117e0468f068bc5b4b5d8c9a099f654301
2025-07-01 06:39:12 +00:00
Translation updater bot
3b2a3dd59d Update git submodules
* Update extensions/DiscussionTools from branch 'REL1_43'
  to 98112b29a668625217d4960f179f10668f65bad4
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I3827dce7627369a0f85f6b4bc12d0924b8e4ec01
2025-07-01 06:39:09 +00:00
Translation updater bot
aacac8498c Update git submodules
* Update extensions/ConfirmEdit from branch 'REL1_43'
  to 18cd7afc9e557807ac447f3e165bc8195523ddd5
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I14322cb7c8ddae5b25de12164fc1ab7f49b40d5f
2025-07-01 06:39:07 +00:00
Translation updater bot
0be71a8737 Update git submodules
* Update extensions/CodeEditor from branch 'REL1_43'
  to f2643fe78b47d3d0be9a5c70d2d0b0fc03d0a60a
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I4f86ca31a713b40425550f2748066b49aab0fc24
2025-07-01 06:38:51 +00:00
Translation updater bot
f6436fb393 Update git submodules
* Update extensions/CiteThisPage from branch 'REL1_43'
  to 3393d4165ca81ff2d862b4aa467490a127644436
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: If21629a15c082defc69dcf55dbddaa6015eeec3f
2025-07-01 06:38:47 +00:00
Translation updater bot
db98defafb Update git submodules
* Update extensions/CategoryTree from branch 'REL1_43'
  to 750aa4b68f723917bccb5817066da4a2c6f33219
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I871cd34098f7e3aefca6f2fa704134d33e1712bd
2025-07-01 06:38:42 +00:00
Translation updater bot
a1fd3ecbf3 Update git submodules
* Update extensions/AbuseFilter from branch 'REL1_43'
  to dbfc5ff1831d19ef3073361bb1f7cd2811eb79c2
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I532b8b55ec97fc8d9a719a9b8cf9fde4235d2f15
2025-07-01 06:38:21 +00:00
Translation updater bot
c129ebd2d2
Localisation updates from https://translatewiki.net.
Change-Id: Id745ce901c7efff83a022e0879125ca9fdebd44a
2025-07-01 07:34:28 +02:00
Reedy
923f7e6755 BlockListPagerTest: Fixup tests for pre REL1_44
* Fix test failures
* Cherry-pick message cache change I957b6fb2bc0d9d4b1aae6e
* Cherry-pick part of I638d6d6d23f9624ba1dff0f4fcc to change cache from
  static to non-static.

Change-Id: I77a2facf9923d38269538e48c79365fa117af9af
Follows-Up: Id5462b942f5e916c2f1dc725739615d54a1070de
Follows-Up: I5471fe615d222b936c6668bf3089dd8b5931cc75
Follows-Up: I7bbd6ae36a11840ed6b4620b5d07fa5158ff139e
2025-07-01 11:46:47 +10:00
Reedy
0af28b77ee Prep 1.43.2
Change-Id: I31d917df197780bbc2aa8b943035bdebe1a700bd
2025-06-30 21:26:00 +01:00
Tim Starling
71df9ed5b2 SECURITY: Fix leak of hidden usernames via autoblocks of those users
CVE-2025-6927

In BlockListPager, restore the bl_deleted=0 condition removed in the
previous commit. Add tests.

Bug: T397595
Change-Id: I5471fe615d222b936c6668bf3089dd8b5931cc75
2025-06-30 21:25:48 +01:00
Tim Starling
686589d207 SECURITY: BlockList: Hide rows containing suppressed users
CVE-2025-6589

Bug: T391343
Co-Authored-by: MusikAnimal <musikanimal@gmail.com>
Change-Id: Id5462b942f5e916c2f1dc725739615d54a1070de
2025-06-30 21:25:41 +01:00
Dayllan Maza
87ea0c739f SECURITY: Fix autoblocks visibility when bl_deleted=1
CVE-2025-6927

ApiQueryBlock was relying only on the filter returned by
HideUserUtils::getExpression which only works for blocks targeting a
user account

Bug: T397595
Change-Id: I7bbd6ae36a11840ed6b4620b5d07fa5158ff139e
2025-06-30 21:25:30 +01:00
SomeRandomDeveloper
9ffec9dc56 Update git submodules
* Update skins/Vector from branch 'REL1_43'
  to 29d89be3529fc0b0a2c00dd6cc7bea9c9606546f
  - SECURITY: Insert portlet labels as text instead of HTML
    
    CVE-2025-6596
    
    This addresses a stored XSS vulnerability through system
    messages.
    
    Bug: T396685
    Change-Id: Ib474c00a887a9cbe4816c25a798cb869044bcf13
    (cherry picked from commit 9a92de327ba7d4748b8dece500df442d2ba45b25)
2025-06-30 20:16:38 +00:00
ksarabia
5d9bb6623b Update git submodules
* Update extensions/MultimediaViewer from branch 'REL1_43'
  to ca6a2641205ff9f199b13f0fe149ba204532546f
  - SECURITY: Fix unescaped mw.msg usage
    
    CVE-2025-6596
    
    * Multimedia viewer xss vuln
    
    Bug: T394863
    Change-Id: I1d3a8fe3e7cb981c68c22a14da1bdc3265c5fdf9
2025-06-30 20:16:34 +00:00
Dylan F
b2310f4736 SECURITY: Escape usernames in HTMLUserTextField validation errors
CVE-2025-6590

The HTMLUserTextField is accessible to logged-out users on private wikis
through Special:PasswordReset. Validation error messages returned by this
field included unescaped usernames parsed as wikitext. This allowed
logged-out attackers arbitrary access to the parser, enabling them to
reveal page contents through transclusion, e.g., "{{:Private page}}".

Escape the username parameter using wfEscapeWikiText() to prevent
wikitext interpretation in error messages.

Bug: T392746
Change-Id: Ifd8283e107e1655fa3f5694183c4f67954e5c4c5
2025-06-30 20:57:16 +01:00
Gergő Tisza
b1adf3c728 SECURITY: Allow extensions to supress the reauth flag on login
CVE-2025-6926

This is a workaround for extensions with some sort of "autologin"
implemented via the login page to indicate that the login flow
didn't involve the user actually logging in, it merely copied
some central login state, and so isn't appropriate for the
reauthentication flag.

This isn't the best way to provide an interface to extensions
(if we keep it, a more explicit interface, such as a
SessionPropertiesAuthenticationRequest object that's part of
the initial request set and can be modified by providers,
and can also be used for the "remember me" flag, would be
nicer), and maybe the whole approach of letting extensions
suppress the reauthentication flag is not the best way of
handling the problem in the first place, but it's simple
which is important for a security patch.

Bug: T389010
Change-Id: Ifce73837b25b0caad2d3d3cba000cceb0184c29d
2025-06-30 19:58:42 +01:00
Gergő Tisza
3340302f40 SECURITY: Do not treat autocreation as login for reauthentication
CVE-2025-6597

Auotcreation doesn't necessarily involve real-time user
identification, it can be based on some provider identifying the
user based on a session cookie or similar low-fidelity information.
Do not restart the reauthentication timer.

Bug: T389009
Change-Id: Icfb4d0ffe71a92421e8630a92ae302cc459aa9d6
2025-06-30 19:58:42 +01:00
Bartosz Dziewoński
35edc6c2b1 SECURITY: apisandbox: Fix reflected XSS when invalid 'format' is provided
CVE-2025-6594

* Fix validation of API parameters. Follow-up to
  c36b4634e8.
* Add an extra check for parameters that should be required by the UI.
* Remove a fallback code branch that tried to display responses for
  non-pretty formats, which would have been unreachable were it not
  for the format validation bug, and which handled HTML unsafely.

Bug: T395063
Change-Id: I392810e3474ffdbe273b1c668ffce4c8dace1380
2025-06-30 19:58:40 +01:00
Michael Große
8a9ef65437 SECURITY: fix IP leak to unverified email
CVE-2025-6593

Bug: T396230
Bug: T31856
Change-Id: Ibc13fafa0a00b3dc41b097bd7aa77c6a28767a57
2025-06-30 19:58:26 +01:00
Kunal Mehta
4b59ce1f25 SECURITY: API: Escape i18n messages in action=feedcontributions
CVE-2025-6591

This is the same issue as CVE-2025-32072 (T386175), except in the
API's feedcontributions module. Escape the "Contributions" and
"colon-separator" messages so administrators cannot inject HTML
into them, triggering a potential XSS in feed readers.

Bug: T392276
Change-Id: Ic590a0d0cfc0a4a1e61859ecc57a175a8f5ec098
2025-06-30 19:58:26 +01:00
Atieno
da8d30e0c6 [REST Sandbox] Remove SwaggerUI from MediaWiki Releases
Bug: T397470
Change-Id: I4e25792e347e8eeeb1dee4db1d25128948c1cdd0
2025-06-30 16:05:49 +01:00
Lakejason0
d1769e3a51 Update git submodules
* Update extensions/Scribunto from branch 'REL1_43'
  to 5e410f6d30a7935e0f2361345a2b9118c4afa41a
  - Make Scribunto title.getContent() respect $wgNonincludableNamespaces
    
    Bug: T397524
    Change-Id: I220dcd1917f56e87787b4e2023790b8c0c493b80
    (cherry picked from commit fe07d1008e0eafc819dc118d1f02159e29224dfc)
2025-06-30 14:30:45 +00:00
Umherirrender
101639f81c exception: Skip use of HookRunner when not autoloaded
When autoload of HookRunner class fails (due to wrong namespaced
interface), it cannot be used in the exception handler,
that results in error about not found class, hiding the real error.

Bug: T387408
Change-Id: I93daa8b05bab42a4008a3bc09f26c7e041030a22
(cherry picked from commit 2037f6e41fcfa4b5240912f7fe09bc28ea1f0ae9)
2025-06-28 20:17:53 +00:00
Máté Szabó
c3bdae9eca exception: Avoid service container init in exception handler
Why:

- The exception handler may be triggered during service container
  initialization, e.g. if an autoloaded class triggers a deprecation
  warning.
- This causes callLogExceptionHook() to try to setup the service
  container once again, which then causes a cryptic "class not found"
  error as the service container attempts to autoload whatever class
  triggered the deprecation warning once again and fails.

What:

- Avoid attempting to initialize the service container in our exception
  handler if it was not setup already, since it may be unsafe to do so.

Bug: T380456
Change-Id: Ib439f25d9e309b77eac00c59c32e39ffbf3aa2a4
(cherry picked from commit 0b1480e60ef7d649bf7d22de5a7c032d04ed0f7a)
2025-06-28 20:17:39 +00:00
Taavi Väänänen
bbd7861a38 specials: SpecialTalkPage: Use config from request context
A special page has access to the request context which includes the site
config, no need to inject that separately here.

Change-Id: If8f01466c64dbacf806b6fccfa0bc4736c259607
(cherry picked from commit 0110bba7c9a8bdaf1cd8579534300c76b29c038a)
2025-06-28 15:11:13 +00:00
Siddharth VP
4fb27b070e htmlform: fix min/max validations on empty input in int/float fields
Int and float fields that are optional cannot currently specify the min
attribute. An unfilled value fails the validation because in PHP 8 any
number is greater than the empty string.

(For comparing numbers with non-numeric strings, the number is first
converted to a string and then compared. In PHP 7, the string was
converted to a number instead.)

Bug: T397883
Bug: T397643
Change-Id: I37be84554708e17eee27a7e599815891787e95bf
(cherry picked from commit 8e7ae749c0870e8133d083ac4125280c11a12ea6)
2025-06-28 12:49:28 +00:00
daniel
db6013aa6c Api: Fix permission checks in action=compare
Why:
- action=compare was used to circumvent Lockdown

What:
- use checkTitleUserPermissions() to enforce read permissions in
  ApiComparePages.

Bug: T397521
Change-Id: Id275382743957004fa7fc56318fc104d8e2d267b
(cherry picked from commit c62e4d93a33e94c7fe6f716a4747b1dbd59b3f90)
2025-06-25 14:17:17 +00:00
daniel
7f1fa6f51f RefreshLinksJob: Check hastext before comparing HTML
Why:
- When comparing the newly generated HTML to the cached HTML, there
  might be cases when the new ParserOutput doesn't contain HTML.

What:
- If hasText() returns false, don't compare HTML and use the "unknown"
  value for the html_changed stats label.

Bug: T388406
Change-Id: Ibc3e79e79a6421d4780739104a949bac50a5b01f
(cherry picked from commit a275e02771bc2ed4243804d5294188f54e47f9fc)
2025-06-25 08:21:23 +00:00
Reedy
4b5e96928a Update git submodules
* Update extensions/ConfirmEdit from branch 'REL1_43'
  to b77a6bdfdf9fa138279fcc8e2be1db440bffceb4
  - Replace mt_rand() with random_int()
    
    Deprecated in PHP 8.3 as per https://wiki.php.net/rfc/deprecations_php_8_3#mt_rand_php
    
    Change-Id: I206a55b191c1dbeaec0361fc10b9c1c9228a0836
2025-06-24 22:34:24 +00:00
jenkins-bot
787b2e4603 Merge "rdbms: fix table prefixing in "FOR UPDATE" clause generation in Postgres" into REL1_43 2025-06-24 22:33:35 +00:00
Aaron Schulz
4659cbcccc rdbms: fix table prefixing in "FOR UPDATE" clause generation in Postgres
Make SqlPlatform::tableNameWithAlias() include the unqualified table
name as an alias if doing so is not redundant. This assures that the
default alias from JoinGroupBase::addJoin(), equal to the unqualified
table name, will be usable in SQL (regardless of table prefixes).

Clean up use of identifier quotes for sqlite_master tables. The called
methods expect unqualified names and a passthrough exception already
exists for sqlite_* tables.

Use "block_target.bt_user" directly in ApiQueryBlocks and BlockPager,
instead of using addIdentifierQuotes(). The "block_target" alias is
automatically added to the SQL by the rdbms layer when it's not clearly
redundant, so it is always safe to use block_target.bt_user. Also, there
is no reason for aliases to include quote characters. They are supposed
to be simple alphanumerics like column names. This makes it easy for
tableNameWithAlias() to avoid redundant aliases by checking tableName().

Avoid unneeded quotes around pg_catalog.* table names in the Postgres
installer. The relevant documentation of methods like selectField() is
that the table names be unqualified (no quotes nor dots), though dots
are still supported internally for compatibility reasons and ease of
querying schemas like pg_catalog and information_schema.

Change-Id: Ic7d7826da31f49915141692cb3bd84ed1e872e96
2025-06-24 22:33:30 +01:00
Reedy
81de7a814f RELEASE-NOTES-1.43: Update
Change-Id: Icaabd25e0cb938c1408076ff3d50c2fd34054640
2025-06-24 21:12:11 +00:00
Translation updater bot
fd31ca4e79 Update git submodules
* Update skins/Vector from branch 'REL1_43'
  to 31564b81866770ed2235b9248ed9c4f93614ad92
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I54cffcf162035adfb57cea2b33540966d9ac3b8d
2025-06-24 06:32:01 +00:00
Translation updater bot
42e1aa4601 Update git submodules
* Update extensions/VisualEditor from branch 'REL1_43'
  to 3bce60dbcb45d7195c831e527636c88d97bd7bfc
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: If482852575c64c63a8fb79e96a51c8f987826719
2025-06-24 06:30:55 +00:00
Translation updater bot
ac98129301 Update git submodules
* Update extensions/WikiEditor from branch 'REL1_43'
  to 399939f42fd910e0de5eb49e658d2d0b865b8fd3
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I41b956eb17bba7200f420fccc34008b3da414898
2025-06-24 06:30:48 +00:00
Translation updater bot
b238a39043 Update git submodules
* Update extensions/Thanks from branch 'REL1_43'
  to ae78d974e3143d9d10c48f4c8c12ecdba4fecd52
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ic2dcd4bdd53f1afb8223c3ef45c8642c0beb5eff
2025-06-24 06:30:27 +00:00
Translation updater bot
29edc03fba Update git submodules
* Update extensions/TitleBlacklist from branch 'REL1_43'
  to aec41ad533a15282d7d4a825d7b1893b81b25c8e
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ic2dcd4bdd53f1afb8223c3ef45c8642c0beb5eff
2025-06-24 06:30:25 +00:00
Translation updater bot
3d4694dcb1 Update git submodules
* Update extensions/TemplateData from branch 'REL1_43'
  to 12f813122ee580a37bbacb5543b7b490f4ebc4d0
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I17aaa7b93ab5abad84cb7f1dfa943d66e410d8a4
2025-06-24 06:30:25 +00:00
Translation updater bot
3a9d512801 Update git submodules
* Update extensions/SyntaxHighlight_GeSHi from branch 'REL1_43'
  to 5b790882024a38d2ba3cca25d6322d2cacf75e88
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I2ad1f5673d915f9f405bb4394f55c33a16584486
2025-06-24 06:30:23 +00:00
Translation updater bot
b26237d3f3 Update git submodules
* Update extensions/OATHAuth from branch 'REL1_43'
  to 806e7ea9036bf49637d1a8c40e1c8994220ea909
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I50b598d0331a20e5831d65f3b774eb53a0d824a2
2025-06-24 06:30:02 +00:00
Translation updater bot
5be8229447 Update git submodules
* Update extensions/Nuke from branch 'REL1_43'
  to d12367dc6d1c63c2b0302363a1a4c05fe7b4058d
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I6e80d6e16d0c598de66b57a1f3dbe9b953e25959
2025-06-24 06:30:01 +00:00
Translation updater bot
72810052f3 Update git submodules
* Update extensions/Math from branch 'REL1_43'
  to 641f3dff30d072cfe0db194557fc3cfc07831b31
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I7b044d4641bcf05c9ee5d0bcae052ea1de9706f9
2025-06-24 06:29:52 +00:00
Translation updater bot
28b705a54c Update git submodules
* Update extensions/Linter from branch 'REL1_43'
  to 99863268508a3a5797742868898c73ea1e2cb2c4
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I0033a76f020bae206c6bd8687ae54bc866595c54
2025-06-24 06:29:45 +00:00
Translation updater bot
4499d8cb80 Update git submodules
* Update extensions/InputBox from branch 'REL1_43'
  to c07b5c7f1f60781397ab48ee4ebde494146657e4
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I18aa483f03d5f06027066f0f194b7684cca9aed8
2025-06-24 06:29:43 +00:00
Translation updater bot
886b1fe22e Update git submodules
* Update extensions/Gadgets from branch 'REL1_43'
  to 543775d2ce5e93ee1f3bb941d9c8261fbd2fc88c
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I3e4a816e9168c56b7fb21f60bd3ea8ea21880f8b
2025-06-24 06:29:26 +00:00
Translation updater bot
1f07007044 Update git submodules
* Update extensions/DiscussionTools from branch 'REL1_43'
  to f7a9938618ae47e7ce9ec5d6184ca9a9902f4ded
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I5902d139178a6791af58758d4919907c57a150f1
2025-06-24 06:29:06 +00:00
Translation updater bot
b4e6b7a211 Update git submodules
* Update extensions/Echo from branch 'REL1_43'
  to ed7bf37520c5b3b4e452802a781bdee8cac01b12
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ic84d30a4040f1e2a253bdbf93ea9b06331d2ca88
2025-06-24 06:29:05 +00:00
Translation updater bot
3450445302 Update git submodules
* Update extensions/ConfirmEdit from branch 'REL1_43'
  to 76b40f1224f90791d1d59fdb950bca8abb26356a
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I047e97acc74854ef71ec93172a5c7e2ff390ccab
2025-06-24 06:28:58 +00:00
Translation updater bot
1e3f601fe9 Update git submodules
* Update extensions/Cite from branch 'REL1_43'
  to c6a08aaccb4921bc96e5f53aae88d4802fdd346c
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I2786ab7a18463e5ab977a89641f0116467166526
2025-06-24 06:28:49 +00:00
Translation updater bot
9f1b150fa5 Update git submodules
* Update extensions/CiteThisPage from branch 'REL1_43'
  to 799d7891252021ef927bba8806cc14574e063832
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Iab84e7239c8685b9b9814f78c17d2f1782e8cf8d
2025-06-24 06:28:47 +00:00
Translation updater bot
daac21a8ba Update git submodules
* Update extensions/AbuseFilter from branch 'REL1_43'
  to d06c1478ea7f5452336d78610c68ce9e8a3ec7d0
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I1244ca3ac479f645ccaecd71e767721ff419d8e3
2025-06-24 06:28:28 +00:00
Translation updater bot
38a0f5d5e9
Localisation updates from https://translatewiki.net.
Change-Id: If2a15063f338e83caea4b85b0b87d67defbe80b4
2025-06-24 07:33:27 +02:00
libraryupgrader
f594254292 Update git submodules
* Update skins/Timeless from branch 'REL1_43'
  to 2458a449f57deeac4577cf503ac11b0e8352f6fe
  - build: Updating brace-expansion to 1.1.12, 2.0.2
    
    * https://github.com/advisories/GHSA-v6h2-p8h4-qcjw
    
    Additional changes:
    * Enable stylelint caching.
    
    Change-Id: Ieedb1d6101b11aec8e50f266ad6474af038532c5
2025-06-21 00:22:37 +00:00
libraryupgrader
a388823035 Update git submodules
* Update skins/MinervaNeue from branch 'REL1_43'
  to 0b53fa0d5928b50ae39c050677464130e41c26e0
  - build: Updating brace-expansion to 1.1.12, 2.0.2
    
    * https://github.com/advisories/GHSA-v6h2-p8h4-qcjw
    
    Change-Id: I9d679fb9c32755d6ac78bb64e0b95950262acb53
2025-06-21 00:22:36 +00:00
libraryupgrader
ec1fc97b77 Update git submodules
* Update extensions/Thanks from branch 'REL1_43'
  to b2600179b5fc5f761a99e4f5046045056770be17
  - build: Updating brace-expansion to 1.1.12, 2.0.2
    
    * https://github.com/advisories/GHSA-v6h2-p8h4-qcjw
    
    Additional changes:
    * Enable stylelint caching.
    
    Change-Id: I4e3206ef35b07a0707e0175d8023075551a37d0b
2025-06-20 17:22:49 +00:00
libraryupgrader
1e930e3dd7 Update git submodules
* Update extensions/TemplateData from branch 'REL1_43'
  to 4fe96d6cbe8c988d3c4e9f3d1eafaf486e4653ac
  - build: Updating brace-expansion to 1.1.12, 2.0.2
    
    * https://github.com/advisories/GHSA-v6h2-p8h4-qcjw
    
    Additional changes:
    * Enable stylelint caching.
    
    Change-Id: If2792cbf1513c253df1c14dedef7ce46db3f4977
2025-06-20 17:07:24 +00:00
Reedy
4f1c67ec3d Update git submodules
* Update extensions/OATHAuth from branch 'REL1_43'
  to edaa14b13c708fa23e6ded8f614a0a87cd049387
  - UpdateTables: Fix running order of updates
    
    Non virtual domain updates are run first, so this means UpdateForMultipleDevicesSupport
    would be run before the necessary schema changes.
    
    Bug: T396955
    Follows-Up: I2985c755a2302e7cc7c8ec55041f7e5d8192e4a7
    Change-Id: I50c177bc785b67f1674b556ac6a3dcce0406d92e
    (cherry picked from commit ed524ba0ec4427bfb40e470831e737307d9c175a)
2025-06-20 09:17:38 +00:00
libraryupgrader
1f844a572e Update git submodules
* Update skins/MonoBook from branch 'REL1_43'
  to bbf8d36f6fdb5aa938fb627e0c2444449adfd150
  - build: Updating brace-expansion to 1.1.12, 2.0.2
    
    * https://github.com/advisories/GHSA-v6h2-p8h4-qcjw
    
    Additional changes:
    * Enable stylelint caching.
    
    Change-Id: I34bdc97b3a4f06a8595e1a3a119ae8029c5b18b0
2025-06-19 05:39:46 +00:00
Reedy
28f825fa8f composer.json: Updated nikic/php-parser from ^5.3.1 to ^5.5.0
Bug: T379508
Bug: T381291
Change-Id: Ica6a43980cbb07928ac4810fe51aa2f99d8b9bdc
(cherry picked from commit 277b3feb2255da425e9340b9512797f93691d5ac)
2025-06-18 10:30:59 +00:00
C. Scott Ananian
ed94cc0b64 structure tests: allow PHP 8.1 syntax and autoload enums
Change-Id: I0069df20fbc7ee46c7dc177e5bf352434b8abf32
(cherry picked from commit 12c9e516a2a42d399f5d51f6ba1b162ba68f4894)
2025-06-18 10:55:15 +01:00
Reedy
82d3f6ac64 composer.json: Updated nikic/php-parser from ^4.10.2 to ^5.3.1
Bug: T379508
Change-Id: Ia693d5e3424d925172cd2e4b7cb501a031822f3b
(cherry picked from commit beed3ed1741db223e9e48c159214059d9c7eb439)
2025-06-18 10:54:38 +01:00
Daimona Eaytoy
8a21d033f8 Clean up resource type and phan suppression in postgres code
Replace `resource` with the new types in PHP 8, and drop all the
redundant phan suppressions.

Change-Id: Ie63253356c373da9f8f8db16823d1b7f41822528
2025-06-18 10:54:16 +01:00
James D. Forrester
65c90be7ea Drop a few phan PhanImpossibleTypeComparison suppressions now we've dropped PHP 7.4
Change-Id: I3426e8d65c38f4e4c6e6d2ab8ff380b9d12a47fd
2025-06-18 10:54:01 +01:00
James D. Forrester
ac8a5b0b59 Drop PHP 7.4/8.0 support from master (forward-port from MW 1.42)
This patch was applied to release branches for MW 1.42 in April 2024, and
since ported to MW 1.43 and then MW 1.44 as well. This one-of-a-kind hot
patch will finally discontinue once this lands in the master branch as
part of MW 1.45+ releases.

A small handful of phan fixes make this pass so it can land; the rest
(including fixes rather than suppressions of events here) will happen in
later patches.

Bug: T328921
Bug: T359868
Change-Id: Ica2c11a6243795437ec652923e42ef3bd74a5fd8
2025-06-18 10:53:22 +01:00
Lucas Werkmeister
bce2f8850d logger: Make log() methods return void
psr/log 3.0.0 adds this return type.

For this specific case the fix is very simple, fully
compatible with the older version of psr/log, and
something we’ll have to do sooner or later anyway.

Bug: T356451
Change-Id: I49562ac7f1a71e82cab79fe44296feea573e26d4
(cherry picked from commit 9244d4b2623b9d789e7dea28e65b5ca6f9651aaf)
2025-06-18 02:21:42 +00:00
libraryupgrader
1d1c40cefd Update git submodules
* Update extensions/TextExtracts from branch 'REL1_43'
  to 1e702fff8a5414bed9337c658283299d24a70b0d
  - build: Updating brace-expansion to 1.1.12, 2.0.2
    
    * https://github.com/advisories/GHSA-v6h2-p8h4-qcjw
    
    Change-Id: I6026287ada7a2bc43601aca4574fa5c8caace896
2025-06-17 22:07:53 +00:00
Translation updater bot
3dcef0bd66 Update git submodules
* Update skins/Vector from branch 'REL1_43'
  to 90c7d096cf511b3eb15cbe5b6b96139f08fb08cc
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I778299251efe109518ecb416bd7c145b7ecdb033
2025-06-17 06:47:17 +00:00
Translation updater bot
be240613ef Update git submodules
* Update skins/Timeless from branch 'REL1_43'
  to 6a28c3edbc5eb7ad0b55550cd3a2f54ac12c698c
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I97c9dd7ed490f5983f84f36128ee9e0d3a7e3d7a
2025-06-17 06:47:16 +00:00
Translation updater bot
21d1cc5554 Update git submodules
* Update skins/MinervaNeue from branch 'REL1_43'
  to 27c35ed83c1ad41e6d7ba68883b8a54b4ff8e1a2
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I78064dcc5375f77776c3c3a0c0bacba681c69f59
2025-06-17 06:47:14 +00:00
Translation updater bot
42be15bc11 Update git submodules
* Update extensions/VisualEditor from branch 'REL1_43'
  to b58193d80b2a26b00f5de695ba3b7358005fe16c
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I0c8a19ed37440b06ec7192d78777f451110181ee
2025-06-17 06:45:03 +00:00
Translation updater bot
cb38710b98 Update git submodules
* Update extensions/WikiEditor from branch 'REL1_43'
  to 70d9f3ef516d9446810218f2d6c4f12cc341b1d6
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I730e252314ea04c1056c9284c7a8444090e1ed10
2025-06-17 06:44:53 +00:00
Translation updater bot
9a7c8b59b6 Update git submodules
* Update extensions/TemplateData from branch 'REL1_43'
  to e2bd173349e6f907a8c5354bba888805c8357601
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I1753d025495bc64898ebc721a5f4e21cca8c3a72
2025-06-17 06:44:32 +00:00
Translation updater bot
2acc10ed4e Update git submodules
* Update extensions/TitleBlacklist from branch 'REL1_43'
  to 8ac8152477dcdba5e86bb2ff7c58f10a9f14af80
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I6a86543bb431d2060a05ab4788016e448dcd0c52
2025-06-17 06:44:31 +00:00
Translation updater bot
13bb59e2bc Update git submodules
* Update extensions/Thanks from branch 'REL1_43'
  to 740fb288205a20c468ae7f44118c34e99fa8ce45
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Idb782693834f5ac763807c661e5d466cd02b178c
2025-06-17 06:44:31 +00:00
Translation updater bot
d454cc3754 Update git submodules
* Update extensions/Scribunto from branch 'REL1_43'
  to 12f255bf59c2845fe38c1cd12277c76bc4147333
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I1f7d07bab28660c050a9dbef6bd9e44667abca69
2025-06-17 06:44:26 +00:00
Translation updater bot
4f448618e4 Update git submodules
* Update extensions/ParserFunctions from branch 'REL1_43'
  to 15a759c3c9d194cf8ed157676a4e3038a3581060
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I1be39df80cbd93e423a1c7955838e3037610b8e0
2025-06-17 06:44:19 +00:00
Translation updater bot
fee34ea779 Update git submodules
* Update extensions/PageImages from branch 'REL1_43'
  to 5682aefdd7ede0ac0338b1deb2c571d5d9fe38f1
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I7b5b2568ab3dea47002dc85c2554a9ad6e2e81f7
2025-06-17 06:44:04 +00:00
Translation updater bot
d9851c530a Update git submodules
* Update extensions/OATHAuth from branch 'REL1_43'
  to b4a2a0404e80add3640ed9436747952eb20111a0
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I8b25f63862936250ac459b14d3ab6837f83370cf
2025-06-17 06:43:53 +00:00
Translation updater bot
94247de472 Update git submodules
* Update extensions/Math from branch 'REL1_43'
  to 6d84f6dfb0a6357e53737b2cf8db82793d539395
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I666e15b423dfcc2a0e394173a9fc4f606e277804
2025-06-17 06:43:48 +00:00
Translation updater bot
9655605d8c Update git submodules
* Update extensions/LoginNotify from branch 'REL1_43'
  to 959e6ce53b81e3e77e6dca070e126cad5d409a48
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I26c411c3d3e26e1ea0b0df0937758aa52c72c868
2025-06-17 06:43:45 +00:00
Translation updater bot
c906637881 Update git submodules
* Update extensions/InputBox from branch 'REL1_43'
  to a91373ce415f17e2e7d163fe557beb2c34410261
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I69ce616c6695ff3cf7fec50ab1e86875e4e9253e
2025-06-17 06:43:43 +00:00
Translation updater bot
b5e95fbde9 Update git submodules
* Update extensions/DiscussionTools from branch 'REL1_43'
  to 03f4a3dd5cefa7fb6a558d926baf2c57bad454f3
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Iaabfde3ed4437b1d5c37e91ab708ff16fddf0c18
2025-06-17 06:43:17 +00:00
Translation updater bot
a48c3d46a5 Update git submodules
* Update extensions/Gadgets from branch 'REL1_43'
  to ee04711c28245118a589d29922aea1a1d3416726
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Iea0a44b28431818e559641e584bf19edcaed8417
2025-06-17 06:43:16 +00:00
Translation updater bot
870f06bf33 Update git submodules
* Update extensions/Echo from branch 'REL1_43'
  to 6301d048d4e45501ea5110f788d3004bd05588e6
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: If73a9c5288b7e155224ac35b7b6aa936e5569c5f
2025-06-17 06:43:13 +00:00
Translation updater bot
c68112ac6f Update git submodules
* Update extensions/ConfirmEdit from branch 'REL1_43'
  to 6e00b435c8d52c28c0b69083794d13335f65c706
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I946e810df5a0ef25c9d6ab9be82110bebfa3aece
2025-06-17 06:43:01 +00:00
Translation updater bot
65da28ba64 Update git submodules
* Update extensions/Cite from branch 'REL1_43'
  to 4c966071579d2880b8ecdbeaaba6116981c5ee8a
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I82fb95e83d651620a225b46afd73d03337ec2571
2025-06-17 06:42:56 +00:00
Translation updater bot
215ea82437 Update git submodules
* Update extensions/CategoryTree from branch 'REL1_43'
  to 08f5c18ad2ef72623d0b5e248379ee424f06b132
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I56e40434dca9448ffe356cf108d33473661fa292
2025-06-17 06:42:52 +00:00
Translation updater bot
5ec92997f8 Update git submodules
* Update extensions/CiteThisPage from branch 'REL1_43'
  to 91e77043ff87dda7c2a5ef92d044f484019e18f2
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ia1cae203cea9c07cd68cbf11902d356c9dde6329
2025-06-17 06:42:51 +00:00
Translation updater bot
2b7858cd15 Update git submodules
* Update extensions/AbuseFilter from branch 'REL1_43'
  to 93323136919b9fc31a295daa9e3e4d798456d790
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I5c5b14ed4808557a6de5fd3c064cf63190750058
2025-06-17 06:42:18 +00:00
Translation updater bot
5e27e3d4c9
Localisation updates from https://translatewiki.net.
Change-Id: Id506abba0a9655c6e4d23cf2f901db8e97312661
2025-06-17 07:32:55 +02:00
libraryupgrader
39e3559052 Update git submodules
* Update extensions/Scribunto from branch 'REL1_43'
  to 0b52c3f935523678262d52ede53c44d87da115f5
  - build: Updating brace-expansion to 1.1.12, 2.0.2
    
    * https://github.com/advisories/GHSA-v6h2-p8h4-qcjw
    
    Additional changes:
    * Enable stylelint caching.
    
    Change-Id: I862eae8c1f4d0498a5bcb54d59bd047bc28b7704
2025-06-17 05:10:12 +00:00
libraryupgrader
80d488cb2b Update git submodules
* Update extensions/Math from branch 'REL1_43'
  to c26bea972a4da81588b0c316bce6fb9aa075b7bd
  - build: Updating brace-expansion to 1.1.12, 2.0.2
    
    * https://github.com/advisories/GHSA-v6h2-p8h4-qcjw
    
    Additional changes:
    * Enable stylelint caching.
    
    Change-Id: I7389228a112b530752eaefe3bc6ee942cf300ae8
2025-06-17 02:21:06 +00:00
Reedy
a18e6ca5e6 ApiQueryRevisionsBase: Cast ctype_digit() param to string
Bug: T396766
Change-Id: I22f65e63269ad985f2442176387f2ca96f7609c5
(cherry picked from commit dddeb4e16fae4bae9cd5183548e6db7b3eff2b07)
2025-06-16 14:29:08 +00:00
Reedy
59f363f9a1 Update git submodules
* Update extensions/OATHAuth from branch 'REL1_43'
  to b65dea3a6dcaaa8437601268d104b895ce93293c
  - composer.json: Upgrade endroid/qr-code to 5.1.0
    
    Change-Id: I2edc6d0a4f1a29632b9eec53b3b4fe8eb31c238e
    Depends-On: Ia44af3fde767e923e93c56dab97ee44aa7d56983
    Bug: T378424
    (cherry picked from commit 73f45143f1c90b87eac86951abbd2d913792722e)
2025-06-16 10:00:03 +00:00
Reedy
c1529e6378 Update git submodules
* Update vendor from branch 'REL1_43'
  to b96399785bdb9f6552dee8ab14f287609b73bdd2
  - Upgrade QR Code vendor libs
    
      - Upgrading bacon/bacon-qr-code (2.0.8 => v3.0.1)
      - Upgrading endroid/qr-code (4.6.1 => 5.1.0)
    
    Bug: T378424
    Change-Id: Ia44af3fde767e923e93c56dab97ee44aa7d56983
2025-06-16 09:42:09 +00:00
Reedy
d72b2152fe Update git submodules
* Update vendor from branch 'REL1_43'
  to 9f3ebcdeb98e008bf9e39d61bc48813886c05a48
  - Drop old symfony PHP polyfills
    
    Bug: T373753
    Change-Id: Iefc3dcb5f111653a4c7b857d8577bda13116562a
2025-06-16 09:41:59 +00:00
Reedy
e8d5563581 Update git submodules
* Update vendor from branch 'REL1_43'
  to 3a6cb41a8ff5f1674de76f6bd7f207263bde9fc4
  - composer.json: Bump to php >= 8.1.0
    
    Bug: T328921
    Change-Id: I59dd61b558fd33d30e1b4050616434f851fa867f
2025-06-16 09:41:47 +00:00
libraryupgrader
2ac0fe02f1 Update git submodules
* Update skins/Vector from branch 'REL1_43'
  to 2a1dadc68eae62c195b972a4a791861856610e20
  - build: Updating brace-expansion to 1.1.12, 2.0.2
    
    * https://github.com/advisories/GHSA-v6h2-p8h4-qcjw
    
    Change-Id: I3281c5b53d5865128a009aa9b341a0036fff98c9
2025-06-16 07:31:15 +00:00
libraryupgrader
7130f01910 Update git submodules
* Update extensions/WikiEditor from branch 'REL1_43'
  to 4bf41192fa5e381ff08c037cf31bed6b8c415750
  - build: Updating brace-expansion to 1.1.12, 2.0.2
    
    * https://github.com/advisories/GHSA-v6h2-p8h4-qcjw
    
    Additional changes:
    * Enable stylelint caching.
    
    Change-Id: I843a89927af3c157031ee4c82b997d7b284a82bb
2025-06-16 01:54:31 +00:00
libraryupgrader
a80952b8cb Update git submodules
* Update extensions/VisualEditor from branch 'REL1_43'
  to f2acc0d3f93c40fbc430ae87dd4c0ff0d800571d
  - build: Updating brace-expansion to 1.1.12, 2.0.2
    
    * https://github.com/advisories/GHSA-v6h2-p8h4-qcjw
    
    Change-Id: If1db84ead94e0c7922035e076df5c95677cecfb2
2025-06-16 00:42:00 +00:00
libraryupgrader
e5567c7df9 Update git submodules
* Update extensions/TitleBlacklist from branch 'REL1_43'
  to ca9ea0f7f33f46ab92c062960c9d92678c854fe3
  - build: Updating brace-expansion to 1.1.12, 2.0.2
    
    * https://github.com/advisories/GHSA-v6h2-p8h4-qcjw
    
    Change-Id: I6a0139611bd34f821dfe9a9094f1e51db92f961f
2025-06-15 22:19:55 +00:00
libraryupgrader
097c454151 Update git submodules
* Update extensions/SyntaxHighlight_GeSHi from branch 'REL1_43'
  to 2458e4da231255aebeb7f0cbc5af6ee05de8be57
  - build: Updating brace-expansion to 1.1.12, 2.0.2
    
    * https://github.com/advisories/GHSA-v6h2-p8h4-qcjw
    
    Additional changes:
    * Enable stylelint caching.
    
    Change-Id: I1a4af5ad97498eef9697a9019e23ea0e911f1a0f
2025-06-15 21:17:57 +00:00
libraryupgrader
5ef9bb659d Update git submodules
* Update extensions/SpamBlacklist from branch 'REL1_43'
  to 3a718bd49bb091f3021801c8cfb43fc14e774867
  - build: Updating brace-expansion to 1.1.12, 2.0.2
    
    * https://github.com/advisories/GHSA-v6h2-p8h4-qcjw
    
    Change-Id: I02fb580af0483a946c49ed84f903f3a181502e20
2025-06-15 20:17:07 +00:00
libraryupgrader
f95cfe2143 Update git submodules
* Update extensions/SecureLinkFixer from branch 'REL1_43'
  to b41e89cf15bb225e754c2f311e83a4cd62b336ff
  - build: Updating brace-expansion to 1.1.12, 2.0.2
    
    * https://github.com/advisories/GHSA-v6h2-p8h4-qcjw
    
    Change-Id: Ifb0d51e2d81f120950febefc7e3cea3e89701918
2025-06-15 18:28:53 +00:00
libraryupgrader
df4a0429e8 Update git submodules
* Update extensions/ReplaceText from branch 'REL1_43'
  to 86bdf5e2583a7dfc0a3cb06c79fa52476a5312d5
  - build: Updating brace-expansion to 1.1.12, 2.0.2
    
    * https://github.com/advisories/GHSA-v6h2-p8h4-qcjw
    
    Additional changes:
    * Enable stylelint caching.
    
    Change-Id: I2391ad06a1964befff6ef6a90b8f93f48c66e88e
2025-06-15 16:01:11 +00:00
Reedy
7773b68b99 Update git submodules
* Update extensions/OATHAuth from branch 'REL1_43'
  to d1b6e2291909d5174ef3dd41fe2e6ec3d7c12b57
  - TOTPKey: Use 26 byte secret for increase security
    
    Bug: T396951
    Change-Id: Ic647b5ba8b8045a086cec367c1aca3be19ce7de5
    (cherry picked from commit 9b29b3e197f9e5d63bd1661b2683ae37cc710a89)
2025-06-15 14:50:46 +00:00
libraryupgrader
58cb2a9ed4 Update git submodules
* Update extensions/Poem from branch 'REL1_43'
  to 7f17973c881e9d066e3ae584cb7415279964ee6a
  - build: Updating brace-expansion to 1.1.12, 2.0.2
    
    * https://github.com/advisories/GHSA-v6h2-p8h4-qcjw
    
    Change-Id: I155e449df3dd5581072c0d4934c134a0d912161b
2025-06-15 09:46:41 +00:00
libraryupgrader
205cf9f2e7 Update git submodules
* Update extensions/PdfHandler from branch 'REL1_43'
  to d79d7ec12ef29b5dd187de066a4b018a14f695ac
  - build: Updating brace-expansion to 1.1.12, 2.0.2
    
    * https://github.com/advisories/GHSA-v6h2-p8h4-qcjw
    
    Change-Id: I661aae5187c38c44899963b5de887becbc87a019
2025-06-15 08:17:30 +00:00
libraryupgrader
e0fc2574b5 Update git submodules
* Update extensions/ParserFunctions from branch 'REL1_43'
  to 772d6342ee4cc8a66639ff68b610dd7d5f166e61
  - build: Updating brace-expansion to 1.1.12, 2.0.2
    
    * https://github.com/advisories/GHSA-v6h2-p8h4-qcjw
    
    Change-Id: I501bc290eca66da1847f4d44dba8f6b4b24b33a6
2025-06-15 07:11:02 +00:00
libraryupgrader
9a96fe0380 Update git submodules
* Update extensions/PageImages from branch 'REL1_43'
  to 9cb5d88888b94424e60bd8c1ec48c610e927648d
  - build: Updating brace-expansion to 1.1.12, 2.0.2
    
    * https://github.com/advisories/GHSA-v6h2-p8h4-qcjw
    
    Change-Id: I79d41b9c32688cd893540b8711f3e7967330ffa5
2025-06-15 05:15:02 +00:00
libraryupgrader
7193b35a51 Update git submodules
* Update extensions/OATHAuth from branch 'REL1_43'
  to 84740397eacdd49486e2364987788bacab870466
  - build: Updating brace-expansion to 1.1.12, 2.0.2
    
    * https://github.com/advisories/GHSA-v6h2-p8h4-qcjw
    
    Additional changes:
    * Enable stylelint caching.
    
    Change-Id: Ia892c96c68983deaab88e1c56658e092ad25c7d3
2025-06-15 03:23:40 +00:00
libraryupgrader
dd8f45677e Update git submodules
* Update extensions/MultimediaViewer from branch 'REL1_43'
  to 5cda3ae02ab7a626894d798b99fc0fe700cfc96a
  - build: Updating brace-expansion to 1.1.12, 2.0.2
    
    * https://github.com/advisories/GHSA-v6h2-p8h4-qcjw
    
    Additional changes:
    * Enable stylelint caching.
    
    Change-Id: I71e62432e6388d45d835ab543cf50fec3b9b3e05
2025-06-15 00:57:07 +00:00
libraryupgrader
a3db63884c Update git submodules
* Update extensions/LoginNotify from branch 'REL1_43'
  to a20beff5d4b66aab9c593322bc376f3dc8f3f148
  - build: Updating brace-expansion to 1.1.12, 2.0.2
    
    * https://github.com/advisories/GHSA-v6h2-p8h4-qcjw
    
    Change-Id: I67c6845f2e4c8c576ad199c5a1ae0c1d0b28b7c4
2025-06-14 22:29:25 +00:00
libraryupgrader
fd166fac21 Update git submodules
* Update extensions/Linter from branch 'REL1_43'
  to e388c28fc5e0af7003499d4b3a372fa38434cfcd
  - build: Updating brace-expansion to 1.1.12, 2.0.2
    
    * https://github.com/advisories/GHSA-v6h2-p8h4-qcjw
    
    Change-Id: I6f98a58c2c2ba048a4abfc5bb3a735e3de2cd85f
2025-06-14 21:56:59 +00:00
libraryupgrader
46f67d56bf Update git submodules
* Update extensions/Interwiki from branch 'REL1_43'
  to d192f6d8099f0f0b6a3274951087c718beac45fd
  - build: Updating brace-expansion to 1.1.12, 2.0.2
    
    * https://github.com/advisories/GHSA-v6h2-p8h4-qcjw
    
    Additional changes:
    * Enable stylelint caching.
    
    Change-Id: Iec76b576ba6ccd1094318bdb2101c5e834eb7c0b
2025-06-14 18:49:03 +00:00
libraryupgrader
4c58f7b36c Update git submodules
* Update extensions/ImageMap from branch 'REL1_43'
  to 2b90dbb205282f0f604d5ea0a51366f82be9d363
  - build: Updating brace-expansion to 1.1.12, 2.0.2
    
    * https://github.com/advisories/GHSA-v6h2-p8h4-qcjw
    
    Additional changes:
    * Enable stylelint caching.
    
    Change-Id: I7c6ab8221e441edf7d6417d73af8a94fc8feeda7
2025-06-14 16:34:24 +00:00
jenkins-bot
b4e774c2b8 Merge "phpunit: Remove unused trigger_error from TestLogger" into REL1_43 2025-06-14 11:01:34 +00:00
Timo Tijhof
50b0aadc6a phpunit: Remove unused trigger_error from TestLogger
It was added in 2016 as part of SessionManager (Ic1ffea74f3, later
re-attributed to Ibb3e023e4e) by Anomie. It wasn't used at the time.

Basically, it is used for cases where we expect no logs, and the
presence of logs will then produce a failing test. The point is to do
something that PHPUnit will "complain" about by showing it. Emitting
a notice or warning is one way, another is to simply echo it, since
output is also unexpected and shown. The somewhat arbitrary mapping
from log levels to PHP error codes isn't used.

Later in 2017, he introduced the same class in php-session-serializer
(I2ebf59414ef9a9) where this part was already removed and replaced
by "echo". The version in core still used trigger_error.

== Why now ==

Triggering E_USER_ERROR is deprecated in PHP 8.4+.

Bug: T379445
Change-Id: Id1e1db80bc8fea39cd192716597e5e4a6f4966b0
(cherry picked from commit 5a1a8c14bd418c846498cd4ed99b77e45a0fcca1)
2025-06-14 10:43:47 +00:00
Timo Tijhof
f34ea0830a widget: Remove outdated try/catch wrapper from SpinnerWidget
== What ==

This method was "Copied from OOUI\Tag", which no longer does this
since last year (I42c7a7b4d, 6e4e1a1796). Apply the same change here.

== Why now ==

Triggering E_USER_ERROR is deprecated in PHP 8.4+.

Bug: T381341
Bug: T379445
Change-Id: I1bac121caf746c30996dccd7fb95c4c240742951
(cherry picked from commit 751eca89fe473cc4a649e47dd54e9ab38f7c1957)
2025-06-14 10:42:05 +00:00
libraryupgrader
37f529df85 Update git submodules
* Update extensions/Gadgets from branch 'REL1_43'
  to 6caf0899ec0a204a18dce5ecc5d19752b1c9eb12
  - build: Updating brace-expansion to 1.1.12, 2.0.2
    
    * https://github.com/advisories/GHSA-v6h2-p8h4-qcjw
    
    Change-Id: If3bc180617acbcff3b99922d7ee22901426f90c7
2025-06-14 08:46:45 +00:00
libraryupgrader
3eea4fda99 Update git submodules
* Update extensions/Echo from branch 'REL1_43'
  to d9b488106340c14c18380de89598f807954dbf3c
  - build: Updating brace-expansion to 1.1.12, 2.0.2
    
    * https://github.com/advisories/GHSA-v6h2-p8h4-qcjw
    
    Additional changes:
    * Enable stylelint caching.
    
    Change-Id: I1a6cc4f9b4f8fae4c99805786170fc9149bda995
2025-06-14 03:49:35 +00:00
libraryupgrader
0311a74536 Update git submodules
* Update extensions/DiscussionTools from branch 'REL1_43'
  to a9d987bb4c81f3da6f10ba678a415f28f27c5610
  - build: Updating brace-expansion to 1.1.12, 2.0.2
    
    * https://github.com/advisories/GHSA-v6h2-p8h4-qcjw
    
    Additional changes:
    * Enable stylelint caching.
    
    Change-Id: I017b05f99396bf4163caf3d4dcb47cd485041cd0
2025-06-14 03:02:22 +00:00
Timo Tijhof
78d252789c Setup: Update error message for composer dependencies check
== Why ==

While psr/log represents our original an first use of Composer,
this is nowadays "just" another dependency among many. It does not
justify or help understand what to do next.

== What ==

Use the same "external libraries" terminology, as on mediawiki.org.

== History ==

* 2014 (Ie66794441): Add first ever Composer dependency (psr/log)
* 2015 (Ie47467657): Add LoggerFactory with check for missing Composer
                     dependency, to address a then-common issue.
* 2015 (Ib60261237): Move check earlier, to WebStart.
* 2017 (I633a6ff23): Move check earlier, to Setup.
* 2021 (Ia81903fb2): Remove redundant exit(1).
* 2025 (I6050ec4ca): Replace deprecated E_USER_ERROR.

Change-Id: I890d1f285997ccbc04cdb378a69815982c2bf64f
(cherry picked from commit b538453cdc6438419d044854cc730706988cb908)
2025-06-13 20:54:40 +00:00
libraryupgrader
566f4f84ba Update git submodules
* Update extensions/ConfirmEdit from branch 'REL1_43'
  to a27590a6533c0480d5e446e4f6d22704cf21d89d
  - build: Updating brace-expansion to 1.1.12, 2.0.2
    
    * https://github.com/advisories/GHSA-v6h2-p8h4-qcjw
    
    Additional changes:
    * Enable stylelint caching.
    
    Change-Id: I3d24774b7b6c24fcb1c79f166606bfe4260f716a
2025-06-13 19:16:05 +00:00
Timo Tijhof
8b7f9129c3 Setup: Switch vendor error from echo+E_USER_ERROR to echo+exit
== Background ==

E_USER_ERROR is a deprecated error code for "recoverable fatal error",
a confusing description no longer used upstream and replaced by the
Throwable/Error concept, i.e. something that is meant to be fatal,
but could in theory be caught if you know what you're doing, via a
risky catch for Throwable instead of Exception.

What trigger_error with E_USER_ERROR does:

* (If we haven't sent headers yet)
  Emit header "HTTP/1.1 500 Internal Server Error".
* (If display_errors is enabled)
  Print the message, again, along with a strack trace.
* Notify set_error_handler letting you "catch" a non-Exception error.
* Write it to error_log, e.g. STDERR for composer serve and CLI,
  or an Apache/php-fpm error.log file.
* End with exit(1).

Issues:

* When enabling display_errors, the message is printed twice.
* The HTTP 500 status didn't work because headers are already sent,
  ... by the "echo" statement, right above it.

== Option A: throw Error $message ==

`throw Error($message)` is the natural successor to E_USER_ERROR.
I would recommend this, if
1) we didn't already echo it, and
2) the message didn't contain HTML, and
3) we needed to keep compat with someone catching this, or
4) we wanted a stack trace.

We echo it because display_errors can be off, and the most likely
audience for this is someone new to PHP/MediaWiki, installing in prod
or locally, when debugging is either intentionally off, or before
they're familiar with debugging modes. As such, we want to print it
ourselves either way, and printing it again as part of E_USER_ERROR
isn't needed.

The HTML part is important because one subtle difference between
trigger_error and throw Error is that the former allows raw HTML,
while the latter treats exception messages as plain text. Our message
intentionally uses HTML to link to docs in the browser, so this is
unhelpful.

The catchable-ness of this is not important to us, as no extension or
distro code (e.g. PlatformSettings.php) can run this early. There
are no runtime consumers of this error, only the end-user's browser.

== Option B: echo+exit ==

Given we already print the message, we just need to exit.

== History ==

* 2014 (Ie66794441): Add first ever Composer dependency (psr/log)
* 2015 (Ie47467657): Add LoggerFactory with check for missing Composer
                     dependency, to address a then-common issue.
* 2015 (Ib60261237): Move check earlier, to WebStart.
* 2017 (I633a6ff23): Move check earlier, to Setup.
* 2021 (Ia81903fb2): Remove redundant exit(1).

== Change ==

* Emit HTTP 500 before the echo.
* Keep echo (for browser) and error_log (for discovery via CLI or log
  file).
* Replace trigger_error with just exit(1), avoid duplicate message.

Bug: T379445
Change-Id: I6050ec4ca857d3c92c1c43f6a38e4154cd60e5d5
(cherry picked from commit 98c6d3c4c3511ecf60ffc693ff6c7164964270ca)
2025-06-13 16:57:53 +00:00
libraryupgrader
65ca36bb1d Update git submodules
* Update extensions/CodeEditor from branch 'REL1_43'
  to c76872da4a491feadaf07b3ba4cd2cd9ee363dd5
  - build: Updating brace-expansion to 1.1.12, 2.0.2
    
    * https://github.com/advisories/GHSA-v6h2-p8h4-qcjw
    
    Additional changes:
    * Enable stylelint caching.
    
    Change-Id: Ide8f6faede21586d440b0c2e9ccf6f3bc3056128
2025-06-13 11:36:54 +00:00
libraryupgrader
a8ea00feda Update git submodules
* Update extensions/CiteThisPage from branch 'REL1_43'
  to 3e8a6bd5246edd983de5564007cf24ea52bddec5
  - build: Updating brace-expansion to 1.1.12, 2.0.2
    
    * https://github.com/advisories/GHSA-v6h2-p8h4-qcjw
    
    Additional changes:
    * Enable stylelint caching.
    
    Change-Id: Iac3ffcef10438a99643ac35f219a435dfc5e587c
2025-06-13 09:58:22 +00:00
libraryupgrader
b4b4ae5cec Update git submodules
* Update extensions/Cite from branch 'REL1_43'
  to 58a51cf9d46c055488133f87f3729a32488104a5
  - build: Updating brace-expansion to 1.1.12, 2.0.2
    
    * https://github.com/advisories/GHSA-v6h2-p8h4-qcjw
    
    Additional changes:
    * Enable stylelint caching.
    
    Change-Id: Ib25fd457bac6d5e0595e5bdc5c855a023fcb1b58
2025-06-13 09:47:32 +00:00
Timo Tijhof
83d4898319 debug: Migrate E_USER_ERROR to throw Error in DeprecationHelper
For a long time now, since PHP 7.0.0, access to non-public properties
has thrown Error, not emitted E_ERROR.

Example - https://3v4l.org/dHChU

Our simulation of this in DeprecationHelper is meant to do what PHP
does, so, given we no longer support PHP 5.6 and can thus construct
Error ourselves, we should do the same.

This is identical - https://3v4l.org/koUqu

== Why ==

Referencing the E_USER_ERROR constant causes a deprecation warning
in PHP 8.4+.

== Change ==

The source change is straight-forward.

One of the tests (testSet, dataset 4 "fallbackGetterOnly") was
previously passing by accident. The source called trigger_error twice,
first with E_USER_DEPRECATED (via wfDeprecated) and then again with
E_USER_ERROR. Given that these are asserted via set_error_handler,
an event calback, the callback is run after the callback finished
(it does not interrupt), at which point only the last values are
reported to the event handler. Improve on this by explicitly hiding
the deprecation warning, and focus the case on testing the error.

Bug: T379445
Change-Id: Ia0aff9906102023370f3907e01962a5e1e369125
(cherry picked from commit d0920b8fb5be462a7aba5c21e47b02c2c2f5025f)
2025-06-13 07:40:14 +00:00
Umherirrender
20d15ad97f tests: Match deprecation message under php8.4 in DeprecationHelperTest
php8.4 prints more information into the string "{closure}".
The text is now "{closure:DeprecationHelperTest::testSet():124}"

Change-Id: I4c54a089ad981ba03da21f50cbeebb48ea8e1d28
(cherry picked from commit eea57fa92c043a1e0571b24d7a88a8d7f0ed3bf7)
2025-06-13 07:39:32 +00:00
libraryupgrader
b4460215be Update git submodules
* Update extensions/CategoryTree from branch 'REL1_43'
  to 8c7cfd7315b40da55e7ff56b3e5ac247c96621d5
  - build: Updating brace-expansion to 1.1.12, 2.0.2
    
    * https://github.com/advisories/GHSA-v6h2-p8h4-qcjw
    
    Additional changes:
    * Enable stylelint caching.
    
    Change-Id: I4233c6d9becfe1a0d334af8447b3c75676b6c1fd
2025-06-13 04:50:49 +00:00
libraryupgrader
d39a8f8d61 Update git submodules
* Update extensions/AbuseFilter from branch 'REL1_43'
  to 5c163561574a786bf9ffba8d213a52b874ede0a9
  - build: Updating brace-expansion to 1.1.12, 2.0.2
    
    * https://github.com/advisories/GHSA-v6h2-p8h4-qcjw
    
    Additional changes:
    * Enable stylelint caching.
    
    Change-Id: I5ea304e24360de8e26931a307acf863f87b7ad57
2025-06-12 02:13:03 +00:00
Translation updater bot
fa1dc72191 Update git submodules
* Update skins/MinervaNeue from branch 'REL1_43'
  to e08046c12cb1850b839c8247b0045c18305651bb
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I4c280c50ee53d265fc2a435a67bc14545b265813
2025-06-10 06:34:34 +00:00
Translation updater bot
86b589187e Update git submodules
* Update skins/Vector from branch 'REL1_43'
  to 7bf54eb9c8327f07e030d8a63cd5b9bae2b933e4
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Iebe94acf1c4dc2c0e85ef0441ff3863a64662860
2025-06-10 06:34:33 +00:00
Translation updater bot
07c6652a59 Update git submodules
* Update extensions/VisualEditor from branch 'REL1_43'
  to 1c8f8c9017d88cbebbfba76d4689b1d97e49e7a3
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ib0833e010dcbfe1c1e0808247a2694b02591cf37
2025-06-10 06:33:05 +00:00
Translation updater bot
5b11bef288 Update git submodules
* Update extensions/WikiEditor from branch 'REL1_43'
  to c28f05727b0fad7f8f6a31e77e1f8fdf6a01a395
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I00452d84afe4b5139062c61a8724c9f908072f00
2025-06-10 06:32:57 +00:00
Translation updater bot
764d82b333 Update git submodules
* Update extensions/TemplateData from branch 'REL1_43'
  to c5141fccf9761aa8203af282cb13357b2c9ebeed
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Iceb93fb7ddada1d504d3e784ba4b63d133f8b4ad
2025-06-10 06:32:42 +00:00
Translation updater bot
d21ba425cf Update git submodules
* Update extensions/ReplaceText from branch 'REL1_43'
  to 4a52f69150d3b69cb2ae8a22ed09a7bf22393b0a
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I084b94b11b9aa905d62458d9199f897e283e6de4
2025-06-10 06:32:35 +00:00
Translation updater bot
6a1d59a3eb Update git submodules
* Update extensions/OATHAuth from branch 'REL1_43'
  to f357d4b40c5a48250824ee16962fd45d02fb2451
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I72d8ef9b98ec8615926bc1ff8c1cafae2cd59157
2025-06-10 06:32:22 +00:00
Translation updater bot
3fac1251a9 Update git submodules
* Update extensions/Math from branch 'REL1_43'
  to d77d0e44fe218ff4059b032cdfff6af47444e827
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ide57a8da4fa5d3b6be4f911460fed252dbf32259
2025-06-10 06:32:02 +00:00
Translation updater bot
cfe0609634 Update git submodules
* Update extensions/LoginNotify from branch 'REL1_43'
  to 5abe4f29cd859a63079e3d9a14e0f5b679c391b8
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Iee6d1df91590f907ee1fbf3a4ef416c01a586903
2025-06-10 06:31:57 +00:00
Translation updater bot
84f73bb718 Update git submodules
* Update extensions/Linter from branch 'REL1_43'
  to 40e73c507756386ec3d8fd7f18371cfa3d85c93d
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ib8d4a236fc90098b44a55530f99bb4c796cb4c09
2025-06-10 06:31:56 +00:00
Translation updater bot
a07434544d Update git submodules
* Update extensions/Gadgets from branch 'REL1_43'
  to 1c01a4045b7ba5f254d45a6c14227b1bd20d8e5f
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I95601bdd63e94e66607db45607e28c5bd5ad5764
2025-06-10 06:31:37 +00:00
Translation updater bot
f740ab5f13 Update git submodules
* Update extensions/Echo from branch 'REL1_43'
  to b9fbb90a39ba6b1fa13053ab15062e18920aa47d
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I6e01f46e01f5d33c4e4cb03ea5e5f4a6ed85c0ac
2025-06-10 06:31:29 +00:00
Translation updater bot
9cc2b6b152 Update git submodules
* Update extensions/DiscussionTools from branch 'REL1_43'
  to add13015066a2e25e6f27305c4ce9c7e3f2ed6c8
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: If4318c642029b1305752fdcb2891869d14405e97
2025-06-10 06:31:21 +00:00
Translation updater bot
5429374dd6 Update git submodules
* Update extensions/ConfirmEdit from branch 'REL1_43'
  to b113d5699ac46b526d585bcd8aa0c5b4adc61b12
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I84d5f70c73e017af26e49fb984eb0d2e69ab3de4
2025-06-10 06:31:19 +00:00
Translation updater bot
24a1f49de5 Update git submodules
* Update extensions/Cite from branch 'REL1_43'
  to 38cb551ee285c1df2e848406ce74e0d4e0729553
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I2c22eea962de1e0f52a22790fa946b551e1c7692
2025-06-10 06:31:01 +00:00
Translation updater bot
0914cf87cf Update git submodules
* Update extensions/CiteThisPage from branch 'REL1_43'
  to e796fb8129164509265bb6aa92465ce3dc64a471
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Id95ffef3d2f3d19ced68d9300dba71fdf469225c
2025-06-10 06:30:59 +00:00
Translation updater bot
570bb91658 Update git submodules
* Update extensions/AbuseFilter from branch 'REL1_43'
  to 60800c48785657e7a3a2d066136cdca0bca7f137
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: If03a602c0fdd168017f2a455fb1e71f3b305981d
2025-06-10 06:30:26 +00:00
Translation updater bot
d5e97d42ac
Localisation updates from https://translatewiki.net.
Change-Id: Id5113b17063ac0d61bc9ab3638814ad4d6e13e8e
2025-06-10 07:33:07 +02:00
Bartosz Dziewoński
994f95f757 Treat File::getShortDesc() as possibly unsafe HTML
File::getShortDesc() is documented to return HTML, but some handlers
return unescaped plain text.

Bug: T395834
Change-Id: I150f0215339b4ac18254fce2be138b1cde2277d5
(cherry picked from commit b2a9cc1564397e27fd80e44e99e1905fcbd10684)
2025-06-04 21:18:13 +00:00
jenkins-bot
707e98bb1f Merge "Update wikimedia/parsoid to 0.20.3" into REL1_43 2025-06-04 01:14:22 +00:00
Arlo Breault
1af0cd0710 Update git submodules
* Update vendor from branch 'REL1_43'
  to e81b93847b7a9b189b3cb762409e6bcfb3295a1e
  - Update wikimedia/parsoid to 0.20.3
    
    Bug: T382963
    Change-Id: I1ec004b6914173c14f66ac0300192035122f6ae0
2025-06-04 00:58:33 +00:00
Arlo Breault
0e3fcccd5c Update git submodules
* Update vendor from branch 'REL1_43'
  to ff6edc415996157f9f80020d273554e2d211278f
  - Bump wikimedia/wikipeg to 4.0.2
    
    This is the same as 4.0.0, released because 4.0.1 was unpublished.
    
    Change-Id: Ic98898b5c5fb62505fdd81cc0a3c37e1f3b5e8e2
2025-06-04 00:46:38 +00:00
Arlo Breault
d46488212a Update wikimedia/parsoid to 0.20.3
Bug: T382963
Depends-On: I1ec004b6914173c14f66ac0300192035122f6ae0
Change-Id: I968df278a3aefec02e1b53aff484419311e5df34
2025-06-03 20:40:11 -04:00
jenkins-bot
58a2eed8d3 Merge "Sync up core repo with Parsoid" into REL1_43 2025-06-03 22:10:15 +00:00
jenkins-bot
3da6713b95 Merge "Improve BrokenRedirects display" into REL1_43 2025-06-03 21:44:00 +00:00
Arlo Breault
e49931aca1 Sync up core repo with Parsoid
This now aligns with Parsoid commit 9fac646fe95054a8b68765b381d987b46c4eebca

Bug: T382963
Change-Id: Iec78163a320210e411845017619e99bf1af7c9ec
2025-06-03 17:36:27 -04:00
Pppery
9ac90f7816 Improve BrokenRedirects display
- Don't strike all entries in Miser Mode
  - This does a query for each entry, however other pages like
    Special:DoubleRedirects already do that so it shouldn't cause
    performance problems.
- If the redirect is no longer broken because its target now exists then
  strike the entire entry rather than displaying a red link to a page
  that actually exists

Bug: T351055
Change-Id: I9189b1ba537f0ca590b41a3db76621f11df2a224
2025-06-03 20:52:50 +00:00
Pppery
a43f368b65 Update RfC links to bypass redirect
Per https://meta.wikimedia.org/wiki/Talk:Interwiki_map/Archives/2024#RFC

Bug: T71997
Bug: T382963
Change-Id: I2b6b63f7809e5801c78de370c828bbca5fe95e64
2025-06-03 16:37:04 -04:00
Translation updater bot
7e2f1706a1 Update git submodules
* Update skins/Vector from branch 'REL1_43'
  to 132150941b99452fde3c0bea41347e4a1dfda7dc
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I3135e28ba98f9f55abb529c12af0c88526bccd84
2025-06-03 06:29:59 +00:00
Translation updater bot
e90cc53b2c Update git submodules
* Update skins/Timeless from branch 'REL1_43'
  to 1b3431d735b60a3f075fa7ed896d40d75eb34560
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I288fd7eb896a0adb1f0f5e42ddca776258550315
2025-06-03 06:29:56 +00:00
Translation updater bot
d7c13ea27b Update git submodules
* Update skins/MinervaNeue from branch 'REL1_43'
  to f038b091f71e12e2d25fb10647a78e6e10831c02
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ibe613c67a9356caeef144382926e1e6da2e3d5e8
2025-06-03 06:29:55 +00:00
Translation updater bot
33626ab684 Update git submodules
* Update extensions/VisualEditor from branch 'REL1_43'
  to fdbcc3793ef099f277ba11b441f1647315bf8065
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I17110fd21bc47f3fa355d1f71b19d3087002b691
2025-06-03 06:27:27 +00:00
Translation updater bot
8a5261ee5c Update git submodules
* Update extensions/WikiEditor from branch 'REL1_43'
  to cc33d8ead857c9b3ea9089da9e028a61b00affa0
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I432ce6fbfee436a4a8aa8413813ed9aaa68d1d1e
2025-06-03 06:27:14 +00:00
Translation updater bot
1087aa236a Update git submodules
* Update extensions/TitleBlacklist from branch 'REL1_43'
  to 387727d1cc09c3c10ffe1c56ee10a770dba3dd9c
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I0ed33fe5e6de43a100cdc62174525db99d5e1f69
2025-06-03 06:27:06 +00:00
Translation updater bot
67b329fbb6 Update git submodules
* Update extensions/Thanks from branch 'REL1_43'
  to 9956918a9112f6160011a35fc5ec79c8b725a48c
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I0ed33fe5e6de43a100cdc62174525db99d5e1f69
2025-06-03 06:27:04 +00:00
Translation updater bot
1691f225c3 Update git submodules
* Update extensions/TemplateData from branch 'REL1_43'
  to e1ce4ae4c2087992590566e339d242b5ec1771ad
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Iea094bbcf6b62dae14a9da3d5a30237d93627644
2025-06-03 06:27:03 +00:00
Translation updater bot
173ccb99f5 Update git submodules
* Update extensions/SyntaxHighlight_GeSHi from branch 'REL1_43'
  to 14b8539a84bac96170a544501bf5b8f0e222391e
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I461ad5ea949d7de3f3e2b8ead41794398616fbab
2025-06-03 06:27:02 +00:00
Translation updater bot
61eb670eef Update git submodules
* Update extensions/Nuke from branch 'REL1_43'
  to 607a9e6ae1ffa0232b9d27b82440185ce76fe2df
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ibc9dbf6361bd8063c426978d3a32c04b23d6f4f2
2025-06-03 06:26:37 +00:00
Translation updater bot
bb8e52a668 Update git submodules
* Update extensions/OATHAuth from branch 'REL1_43'
  to a381ab1b71f4816412b10c82738c1e245149dfd5
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I8f9a33e33274c2c4539e923b96b85b664eefcce8
2025-06-03 06:26:34 +00:00
Translation updater bot
46147581d2 Update git submodules
* Update extensions/MultimediaViewer from branch 'REL1_43'
  to cd4a631bce76b9d50deb8b50ceb563d4d3b442a5
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I21058d4ec0fc8ac14ddaebc1ce52c5830e60fc24
2025-06-03 06:26:32 +00:00
Translation updater bot
d8a4a2fe69 Update git submodules
* Update extensions/Math from branch 'REL1_43'
  to fdb260a97c06954f065e0ed422f095509eafabb3
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Idb1890717829b1e38bdcec2acec3748b48618e87
2025-06-03 06:26:27 +00:00
Translation updater bot
5d714840fb Update git submodules
* Update extensions/Linter from branch 'REL1_43'
  to 9e67584cf6da534a97142079eeadcb991ab06017
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ib6e139d70b58d0d87df68313f08e887f878c5b7c
2025-06-03 06:26:19 +00:00
Translation updater bot
25da48590c Update git submodules
* Update extensions/Gadgets from branch 'REL1_43'
  to 46cc544fb00316f57887f5ceabf8ceb177c1c75d
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ib6507e249015d1903c7bc52b4bac21e5ff081f04
2025-06-03 06:26:03 +00:00
Translation updater bot
6877fb2752 Update git submodules
* Update extensions/Echo from branch 'REL1_43'
  to de860f00fd94c63554fe2e8076c0de53c51a2dbb
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: If14a94d4b63da412a4ef5b7e172a6e153f84c7b2
2025-06-03 06:25:50 +00:00
Translation updater bot
f0f125d147 Update git submodules
* Update extensions/DiscussionTools from branch 'REL1_43'
  to ff4e509b3eb0210c63c8568b6c69ab910f090321
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ib9de168c592239f7181b51abbf8e2e9bd0f47301
2025-06-03 06:25:34 +00:00
Translation updater bot
fc97866ba6 Update git submodules
* Update extensions/ConfirmEdit from branch 'REL1_43'
  to ff1016d0946406a6999da95379ce5d51b2db79cb
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I5c5efdd8e8332baafac490676573c55abb8bc19b
2025-06-03 06:25:26 +00:00
Translation updater bot
f56c693186 Update git submodules
* Update extensions/CiteThisPage from branch 'REL1_43'
  to 47262da6467e8203c37b8eba9e5d3ef8754222a8
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I3d454764c46fb244c273ff0d0720901bca9a2731
2025-06-03 06:25:17 +00:00
Translation updater bot
b2c40b1427 Update git submodules
* Update extensions/Cite from branch 'REL1_43'
  to 4d8988c2e36bde0504f26b798de0659114318a4f
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ibfb6c9e7403fa006486a22ee321dd44d70be9637
2025-06-03 06:25:11 +00:00
Translation updater bot
f9e04c4c78 Update git submodules
* Update extensions/AbuseFilter from branch 'REL1_43'
  to 3344eb8d3c45ea6a87f88c45b0588381b47910cc
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I021ae3915c7960a7b7fe579a9b3c5c75c62b21b6
2025-06-03 06:24:40 +00:00
Translation updater bot
834c1a5407
Localisation updates from https://translatewiki.net.
Change-Id: Ia44339c067661faed77d8b6b7670a62fc47589ba
2025-06-03 07:32:43 +02:00
Reedy
25f2ea68a5 Update git submodules
* Update extensions/ConfirmEdit from branch 'REL1_43'
  to 052dcc72240f4cbcf418cad4d8d6b77381548b1a
  - captcha.py: Check if output dir exists, and attempt to create it (else error)
    
    Bug: T395804
    Change-Id: Icd55d723b7dfc6124e6f9f6bac9ca6d802b13594
    (cherry picked from commit f35e884d6a40a7c9db730a7e66048b012846feec)
2025-06-02 21:18:58 +00:00
Reedy
51eb1ec173 Update git submodules
* Update extensions/ConfirmEdit from branch 'REL1_43'
  to a3b35d54362697bd960e84c9dad8552439de9aee
  - captcha.py: Bail out if no words were read from wordlist
    
    Bug: T395809
    Change-Id: I1ae9b5bbd8bc00422c864a8fe6071d31534de48b
    (cherry picked from commit 1fad0f88b7879daebf755d9b9bb60a8f16554860)
2025-06-02 19:50:26 +00:00
Reedy
699d1fc3ff Update git submodules
* Update extensions/ConfirmEdit from branch 'REL1_43'
  to 85ea84d5ef5d61a7b3ea070b1b94834ef90c7962
  - captcha.py: Expand variables and user in filenames
    
    Bug: T395810
    Change-Id: I4b47d883176f2f3c233922efc18c33b9d8be28cf
    (cherry picked from commit 0b21cb2e42e69dfd39421c2dcf7a8a67234dd81d)
2025-06-02 19:31:56 +00:00
Reedy
7275baabe9 Update git submodules
* Update extensions/ConfirmEdit from branch 'REL1_43'
  to 934714254d2a624ba49f03e6a0a140772e390f8b
  - GenerateFancyCaptchas: Handle captcha.py not generating any captchas, but not erroring
    
    Bug: T388531
    Change-Id: Ie833546f9ddcf770d234814f3b5e2ae4e4c504f5
    (cherry picked from commit b5cd3f6044703a06cc15e901cdcb055218c608c6)
2025-06-02 16:02:08 +00:00
Reedy
6ea5eb7b00 Update git submodules
* Update extensions/ConfirmEdit from branch 'REL1_43'
  to 708fbdca7209a3a462b799e92b9eebfa0fc52bd1
  - GenerateFancyCaptchas: Explicitly set all limits to 0
    
    Bug: T388531
    Change-Id: Ia3fd6d8028b08eea9a60b048ece2802a2051e856
    (cherry picked from commit e9857e571dab2ec8c787cc54f4bc708fdf9649a2)
2025-05-29 17:31:20 +00:00
Kosta Harlan
9d3de690e0 Use anonymous user when creating named account from temp account
Why:

- Using an anonymous user object at the start of account creation helps
  ensure that downstream code paths do not record the association
  between a temporary account and a named account

What:

- Use an anonymous user object during account creation initiated by
  temp account users
- Update the session to use the anonymous user and set the request
  context user based on the session user
- Ensure the temp account username is removed from the session, to avoid
  issues where account creation fails and code thinks that a temporary
  account username is already defined for the session
- Add a test to exercise this code path

Bug: T393628
Change-Id: I6d2df8c1d842c4fefa916ed395479f479a0051eb
(cherry picked from commit 3d80e63f109834b90a83597d6d924895b2c6ae71)
2025-05-29 12:06:33 +00:00
Máté Szabó
4da80c97da Update git submodules
* Update extensions/Scribunto from branch 'REL1_43'
  to f43db8e5a55ee0fa015b9ac812936c5a3cde7d10
  - Add UriLibraryTest to the Database group
    
    Why:
    
    - UriLibraryTest is an integration test derived from LuaEngineTestBase,
      but is not part of the Database group, unlike similar tests.
    - Since Ie6cac7e1282f794277dfc8ff3673f12e9969818c, it's erroring when
      run in isolation because the require() call for TestFramework
      ultimately triggers a hasContentModel() check and associated DB query
      on what used to be a cached Title instance.
    
    What:
    
    - Mark the test as belonging to the Database group.
    
    Bug: T395214
    Change-Id: I5fb2f4bd51a4712c82113a1e34a30e08bc71e4c6
    (cherry picked from commit c86bbb3ac6adc3825968b8efc2cf24ee757ff6a8)
2025-05-29 00:05:50 +00:00
Mark A. Hershberger
3ac4f81c18 Remove the hyphen as a legal search character for MySQL
Bug: T221560
Change-Id: Ib38ab6334983eecea0981540d102ecde7fc94d42
(cherry picked from commit 693155fe2c653fbae781578fcb39d9888df5b2a3)
2025-05-28 10:21:06 +00:00
Máté Szabó
8e14ff1bc0 phpunit: Remove superfluous Title::clearCaches() calls
Why:

- Various tests have been calling Title::clearCaches() on an ad-hoc
  basis at the end of test methods, or in tearDown(), to work around
  stale Title instances persisting across tests in Title's internal
  caches.
- MediaWikiIntegrationTestCase takes care of this since
  Ie6cac7e1282f794277dfc8ff3673f12e9969818c, making these calls
  unnecessary.

What:

- Remove now-redundant Title::clearCaches() calls from tearDown()
  overrides and the end of test methods.
- Preserve in-test Title::clearCaches() calls that are likely
  intended to force internal caches to reflect changes happening
  within the test itself.

Bug: T395214
Change-Id: Ib5d42389cef20f3839c7f7a80041d002f0f09449
(cherry picked from commit 6483181044496c339ad497cc885319b20de7f6e7)
2025-05-27 12:37:31 +00:00
Máté Szabó
7d44a728b6 title: Reset cached Title objects between tests
Why:

- Title has several in-memory caches for Titles constructed via
  newFromText() and for the canonical mainpage instance that
  isMainPage() compares against.
- These caches are not reset between tests, which can cause cryptic
  integration test failures. It's not safe to persist either of these
  caches across tests, as neither the internal state of Title objects nor
  the identity of the canonical mainpage is valid across tests.

What:

- Clear the cached main page instance in Title::clearCaches().
- Call Title::clearCaches() from MediaWikiIntegrationTestCase::resetNonServiceCaches().

Bug: T395214
Depends-On: Ic35b45015ff5a53f6e728b69b59cc57efe0b390b
Change-Id: Ie6cac7e1282f794277dfc8ff3673f12e9969818c
(cherry picked from commit 3f7905bc9ff9006831f8573b7fe948dc7243107e)
2025-05-27 12:35:10 +00:00
Máté Szabó
81ef984c90 Update git submodules
* Update extensions/Echo from branch 'REL1_43'
  to 60d24895f4e8318b37f565fd82dd32cd1c493ee1
  - DiscussionParserTest: Fix false negative due to reused Title instance
    
    Why:
    
    - testSigningDetection() currently fails when run in isolation, because
      the test case "Bug: T87852" relies on testGenerateEventsForRevision()
      having prewarmed the Title::newFromText() cache with a Title instance
      for the user page of the user being tested.
    - This is because the latter test correctly mocks the content language
      code, while the former does not.
    
    What:
    
    - Allow testSigningDetection() to override the language code.
    
    Bug: T395214
    Change-Id: Ic35b45015ff5a53f6e728b69b59cc57efe0b390b
    (cherry picked from commit 982818b0cfa28432d8a7564c9b68a762096f1feb)
2025-05-27 11:44:32 +00:00
Translation updater bot
e93b962f69 Update git submodules
* Update extensions/CategoryTree from branch 'REL1_43'
  to 94ca628911cf2ef618dc331a968659a116d98aa9
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I0af6bbb2848d536495a314b5d05fb40cf9dd10dd
2025-05-27 07:52:16 +00:00
Abijeet Patro
67cdfdb548 Merge "Localisation updates from https://translatewiki.net." into REL1_43 2025-05-27 07:49:49 +00:00
Bartosz Dziewoński
37efdff89b Link mw.Uri migration guide in docs and log warnings
Bug: T374314
Change-Id: Iefc350b5e8fd02cb46853bb90ef1e7c7ae7dd2cc
(cherry picked from commit 1223f307a1f2d7d3637138d72605a8b5f87d91a8)
2025-05-27 06:59:15 +00:00
Translation updater bot
0a0710fac0 Update git submodules
* Update skins/Vector from branch 'REL1_43'
  to ebe578e582f203f6db8124de418c45b823f7e1ef
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Id3a4396adc75229ea3cd0051e249d740392adbbd
2025-05-27 06:43:40 +00:00
Translation updater bot
503838ec28 Update git submodules
* Update skins/MinervaNeue from branch 'REL1_43'
  to 27ed9385a07588ff0047349b8bcf0c79cb2f9b96
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: If6501eb8c1662515f913bb9ed2230b8cc2be2d98
2025-05-27 06:43:39 +00:00
Translation updater bot
deaf6c8e10 Update git submodules
* Update extensions/VisualEditor from branch 'REL1_43'
  to 875ab6ba1618d8401ea0f49d114cab35d65806d4
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I2943e97952bc9a14b1173005acb478ad105a9e19
2025-05-27 06:42:10 +00:00
Translation updater bot
45f1f53c3d Update git submodules
* Update extensions/WikiEditor from branch 'REL1_43'
  to b26973ff0c4fd3bc5f78a0cc4ab069074418b437
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I43e58e5d16594d6d8d85e755ae05841e838b14f3
2025-05-27 06:42:02 +00:00
Translation updater bot
879bca9779 Update git submodules
* Update extensions/TitleBlacklist from branch 'REL1_43'
  to 581bba3a0d7302b60c6974260b9e2972f3fc7a0d
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Idc52da9caea06930566d5c95c797dd02a7e8d58e
2025-05-27 06:41:40 +00:00
Translation updater bot
75d0b5eadd Update git submodules
* Update extensions/Thanks from branch 'REL1_43'
  to 50ad9d9a0db9bfb6b70db91b4f00fa516c67236e
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Idce98d8a5ad2f5eed08b63ab9c7a9983e2bdc036
2025-05-27 06:41:40 +00:00
Translation updater bot
ca698a30f0 Update git submodules
* Update extensions/SyntaxHighlight_GeSHi from branch 'REL1_43'
  to fe04b0edfd8be03caf41be5962d14a5ea7bc0c9c
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I44425d25b24f9bcc687c765ebe3a2a6a5dda6272
2025-05-27 06:41:37 +00:00
Translation updater bot
3fa115d9ca Update git submodules
* Update extensions/TemplateData from branch 'REL1_43'
  to aa6256f8842eaf0b43282c645a657d486f4d2e6b
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I3683f15ad53c438756b1e374cb0dabeacbe22e5c
2025-05-27 06:41:37 +00:00
Translation updater bot
7c5f0dd299 Update git submodules
* Update extensions/Scribunto from branch 'REL1_43'
  to a2b7cf559d41d128ae07cb2963a8d9a1e246a557
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I88015b3e0c1ebc21893dc15410653f679c7af056
2025-05-27 06:41:31 +00:00
Translation updater bot
ee131125ea Update git submodules
* Update extensions/ReplaceText from branch 'REL1_43'
  to 3a45fa33645d7a06c3bdf781b9a387863fc3202e
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I6f338e3b6fc94acdd8199a0caf5b274cb297a705
2025-05-27 06:41:18 +00:00
Translation updater bot
13b5678619 Update git submodules
* Update extensions/ParserFunctions from branch 'REL1_43'
  to 9f39c9958f042536a3e42ed6ffba027e041e22bc
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I58b297cf8ed6d70f6f15977b5ed597c4dd25bddb
2025-05-27 06:41:10 +00:00
Translation updater bot
0c96b92380 Update git submodules
* Update extensions/PageImages from branch 'REL1_43'
  to a03d3b5dfa5a11c5b198b7b7ca1076a87cbc4c85
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I6aa75885fd58f32db6fc4b151ba48bee5d0f99e3
2025-05-27 06:41:04 +00:00
Translation updater bot
4ad0118c33 Update git submodules
* Update extensions/OATHAuth from branch 'REL1_43'
  to 29806c7c088a32e32bd4da5f0879c7669039d477
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ib14386753f7091d12ed2b93d518814b3f0cd20f7
2025-05-27 06:40:54 +00:00
Translation updater bot
e986f0181c Update git submodules
* Update extensions/Nuke from branch 'REL1_43'
  to 97e47b32ad871642afac5c279e9bd8940e446924
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I590f4380a7e4184e1207da2cf3e2dee1be869336
2025-05-27 06:40:52 +00:00
Translation updater bot
78b9ba924b Update git submodules
* Update extensions/MultimediaViewer from branch 'REL1_43'
  to ebef9c50d5192a5f27199a64741094ada980b3af
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Idc9ff2ba2615eceee626be9f3337e8d84a19650d
2025-05-27 06:40:48 +00:00
Translation updater bot
a52d151cc6 Update git submodules
* Update extensions/Math from branch 'REL1_43'
  to 896ffc529e898caf485873571e87707576c82b9d
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I9869a01ae26a41b01506abb905dd8e112e38fb37
2025-05-27 06:40:43 +00:00
Translation updater bot
7d22e040f6 Update git submodules
* Update extensions/Linter from branch 'REL1_43'
  to 06abdaf962acb1af62c7ba955f5d3c79fe453b18
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I5a4448640c6dbcbee0e64a87820a7af4c9874a86
2025-05-27 06:40:37 +00:00
Translation updater bot
2710a7ceda Update git submodules
* Update extensions/InputBox from branch 'REL1_43'
  to d733b6c56f72ebef437d3397eb2de9d96e4cd7fe
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I54d5758f28c3d3743cf0904f0d929cab2f1a990a
2025-05-27 06:40:21 +00:00
Translation updater bot
08e9bfb851 Update git submodules
* Update extensions/Gadgets from branch 'REL1_43'
  to d33e63c2249531ee1b5687d33f5eb0b528e3c125
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ieb54c33e377ad944cc92b0cc01b583bfa0d8442a
2025-05-27 06:40:14 +00:00
Translation updater bot
d3627dbef0 Update git submodules
* Update extensions/Echo from branch 'REL1_43'
  to 626de8008a64c75a644932408ef3cc86c140cedb
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ia8d28a5ef316b44140df74452f249d7277a74491
2025-05-27 06:40:05 +00:00
Translation updater bot
817dfa5105 Update git submodules
* Update extensions/DiscussionTools from branch 'REL1_43'
  to 8ef56237a79a52841c448c4aa45f9bd229dbc65d
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I822a8c9010aaaeb7997904f6e5b86d16fed88479
2025-05-27 06:40:04 +00:00
Translation updater bot
7e72bab887 Update git submodules
* Update extensions/ConfirmEdit from branch 'REL1_43'
  to 162378d2c12df7549a23ad80ce7bba83eca48683
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I7542f5eca788d621a3526ffed9f520a7b0422280
2025-05-27 06:39:54 +00:00
Translation updater bot
7053b67444 Update git submodules
* Update extensions/CodeEditor from branch 'REL1_43'
  to 937cc0e8bbf492d0bd80cc95f680e4690911d7f7
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I67fa637b33a56c2a8e0e09cdb157670c88126afd
2025-05-27 06:39:38 +00:00
Translation updater bot
c45a8b53a3 Update git submodules
* Update extensions/Cite from branch 'REL1_43'
  to c9830a49f2ea2c5bab4ccb31468b75e49770f0e7
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I713d444ca4585350ad60b377e7441d2460cb7b67
2025-05-27 06:39:28 +00:00
Translation updater bot
4af60bbc57 Update git submodules
* Update extensions/CiteThisPage from branch 'REL1_43'
  to 6cba3add2777804cc609458ecaee1ca297ee27fe
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I787fedd05df3bb265367929070bf62987e7b4b27
2025-05-27 06:39:25 +00:00
Translation updater bot
949d4923dc Update git submodules
* Update extensions/AbuseFilter from branch 'REL1_43'
  to a559f611abeedf208f628294be43470b496caa61
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I4ec6080ee855b022742a2103812fed68c990c5ef
2025-05-27 06:39:00 +00:00
Translation updater bot
cd0e100668
Localisation updates from https://translatewiki.net.
Change-Id: Id38b320980cd8e7d74dbb82b050ee2713bc26188
2025-05-27 07:32:17 +02:00
Timo Tijhof
69f2ae3e94 Update git submodules
* Update extensions/ConfirmEdit from branch 'REL1_43'
  to bb21cc4a98cf7319d7f5d535182cbf26b416120a
  - tests: Skip AbuseFilter tests when AbuseFilter not installed
    
    Crashes locally on undefined classes. Also useful for T389998.
    
    Bug: T389998
    Change-Id: I62d21c7407df3f06b71c4a7402a5bc3d08f2860e
    (cherry picked from commit e751f62f4d2a4797eeaf7623b86f0b652a2f5216)
2025-05-25 21:05:14 +00:00
Meno25
cc8f3bdfa7 Update git submodules
* Update extensions/OATHAuth from branch 'REL1_43'
  to 4f526a5e0f076c4981f5465b9da922353e776ed6
  - Update redirected links
    
    Change-Id: I1bacb47b7398b8a36239cd5257750f40300f26b8
    (cherry picked from commit 01e6e02aed4380be92b49785267591db36ad4aed)
2025-05-23 22:36:40 +00:00
James D. Forrester
700a639140 FormatMetadata::formatFraction: Don't risk passing null to preg_match
We do this above for formatNum(), so this approach seems to be
idiomatic to this code.

Bug: T394989
Change-Id: I804cc180e5de8ddf22b70e9f532f0f2416713eb7
(cherry picked from commit a6a777ae853f0f989b1438bd5c1c3af5dbed135a)
2025-05-22 17:13:58 +00:00
Reedy
4c2a44d9e0 Update git submodules
* Update extensions/ConfirmEdit from branch 'REL1_43'
  to 446be2d124560378756d4ac571e6e1acdfd847dd
  - hCaptcha: Add message for privacy policy
    
    Currently unused, but will be...
    
    Bug: T394874
    Change-Id: I7d8b13d9ae4c4fe910d35683096f221e61d5315b
    (cherry picked from commit 5c8c002d549b595a4c9eae0c7f3ce04f04a5ed7e)
2025-05-22 14:13:34 +00:00
Umherirrender
3ba0c1b297 tests: Fix casing of MediaWiki in @covers
Change-Id: I9b7d5a9068137a16fb16d9fc0a1f2f07252898c0
(cherry picked from commit 399f194a6ad8017a892e4dd3f416934f0e7f6db1)
2025-05-21 21:48:09 +00:00
Umherirrender
f8a4269751 tests: Use GLOB_BRACE in JsonSchemaAssertionTraitTest
Without brace expansion the result is empty.
The test counts as skipped test

Follow-Up: I757eb043f8043d6620fb69bd072d9bb9e97ad163
Change-Id: I394c58887a30befe25ed72897bf0608b49f37b0d
(cherry picked from commit 030a951e142d15e90fbee16d2bf1571505e4c2a6)
2025-05-21 19:49:18 +00:00
Reedy
8d337e97dc Update git submodules
* Update extensions/ConfirmEdit from branch 'REL1_43'
  to 81f16b20289f66d51804ef2516dd957c31b82f4d
  - hCaptcha: Replace use of CAPTCHA with hCaptcha
    
    Change-Id: I96575704e598dbff16b7553d9906ee0e3b89795b
    (cherry picked from commit 11560ee75fb4536a04040f93a200a3fe8d850764)
2025-05-20 21:02:40 +00:00
Translation updater bot
33496d141a Update git submodules
* Update extensions/CiteThisPage from branch 'REL1_43'
  to ccc22cd59bc33f6fdbe8bda32b2e2b62dbac55ba
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I67c8cdd56e3797ef7838c45338bbdaf3f1a06e41
2025-05-20 09:51:25 +00:00
Translation updater bot
de505a7b87 Update git submodules
* Update skins/Vector from branch 'REL1_43'
  to fc8e5c853366ad8f87c5345ee59c3dc06c20d60f
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I4a3c9a43af01fdf790973bef8c79c7079276fff4
2025-05-20 06:39:34 +00:00
Translation updater bot
5eff798b7a Update git submodules
* Update skins/Timeless from branch 'REL1_43'
  to 64671a5de3c377851a9918c6e5618664953caa1f
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I1e6a6c40d78bd096b99bb90e3cbd2e8f1f04c704
2025-05-20 06:39:34 +00:00
Translation updater bot
541a04266b Update git submodules
* Update skins/MonoBook from branch 'REL1_43'
  to 50fb191f6e5c51ec1ede550d1382cab7cce4bc90
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I2841a2656455b0fbcde6ee73aa24c57f407ffda0
2025-05-20 06:39:31 +00:00
Translation updater bot
e12c2ba57b Update git submodules
* Update skins/MinervaNeue from branch 'REL1_43'
  to 204534f4869075f10d7606c6d2af536687fd31d0
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I12308353e944c3d4244b864dfcf335324a07408d
2025-05-20 06:39:28 +00:00
Translation updater bot
6de4861582 Update git submodules
* Update extensions/VisualEditor from branch 'REL1_43'
  to f70172d980fa52f5dd13c2042cb06db29253cc84
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I7bb43f5b7df4550a0af4ce9af907f6c61f0756a5
2025-05-20 06:37:15 +00:00
Translation updater bot
3d1930ffce Update git submodules
* Update extensions/WikiEditor from branch 'REL1_43'
  to c17ac0b2bca5c102e4a7e5935695371979a4b283
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I4bd192cde6a9dab15db1edd2b2ba68e0953913ac
2025-05-20 06:37:01 +00:00
Translation updater bot
0764f8cc9f Update git submodules
* Update extensions/TitleBlacklist from branch 'REL1_43'
  to ee509bdc87111bb28870be207d7824054b27fc47
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ib986493a7caf87f9b11c730299dc1436d219c187
2025-05-20 06:36:31 +00:00
Translation updater bot
246566a2f7 Update git submodules
* Update extensions/TemplateData from branch 'REL1_43'
  to c549326cfafcb2ee21aef2574a3e382b8e2a62c5
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Iee71c1256081921ce465b0d94deb48790c9ec76e
2025-05-20 06:36:30 +00:00
Translation updater bot
a02d8f8194 Update git submodules
* Update extensions/TextExtracts from branch 'REL1_43'
  to 94454818dea9603aa23e368b14c3986b82610c13
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I184c4fdad97dcebabcce6847f9e3f1ec26906e81
2025-05-20 06:36:29 +00:00
Translation updater bot
913e5a8bfb Update git submodules
* Update extensions/SyntaxHighlight_GeSHi from branch 'REL1_43'
  to bc82ac9f2a638f2da396fa47200809b13e542e6e
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Idbe0c14161720961081edb49622f127a0a2efc75
2025-05-20 06:36:23 +00:00
Translation updater bot
f470eb2d02 Update git submodules
* Update extensions/SpamBlacklist from branch 'REL1_43'
  to 96b07f1cde1b2b7fc567372d29f1b4dc917f68a9
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Icdd66cd28638d1e35fdf54830a9123e72b5ae70c
2025-05-20 06:36:14 +00:00
Translation updater bot
ceeea7605c Update git submodules
* Update extensions/Scribunto from branch 'REL1_43'
  to 8bd43f21e3a44b1dbee6c5d7434ac532918d6337
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I1137c884d650eadc5cb1e95394dd1337de493702
2025-05-20 06:36:11 +00:00
Translation updater bot
2d9f5b0b41 Update git submodules
* Update extensions/ReplaceText from branch 'REL1_43'
  to 976fada2faaf33603e5307cc1b05e81e9fdcc672
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I1cfd60d6f71d5273a229d5921f5a0480257dd4db
2025-05-20 06:36:05 +00:00
Translation updater bot
6c8a2d8a5f Update git submodules
* Update extensions/ParserFunctions from branch 'REL1_43'
  to 906e0ec356e334ace66ae2fd74925893e0fcdea3
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I11ab29bbe5bcbc4a445f9a2b342e5cc1d5fe2e5a
2025-05-20 06:35:32 +00:00
Translation updater bot
c1f2a9a3ec Update git submodules
* Update extensions/PageImages from branch 'REL1_43'
  to 035babbc366b9f36218a0df2212ff9cc02bd42fe
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I7ceaa2753d9a114a248e820a34516a19b2e8beb5
2025-05-20 06:35:26 +00:00
Translation updater bot
82f365a2c0 Update git submodules
* Update extensions/OATHAuth from branch 'REL1_43'
  to 4f9d824c17ac5eec858cc5df96f3663f49030b9d
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I2f2372e70e54c7838680be8d9fb62396b4c2d814
2025-05-20 06:35:17 +00:00
Translation updater bot
65b4be5215 Update git submodules
* Update extensions/Nuke from branch 'REL1_43'
  to c7e33cbb9eec9f29bc77a335aa5c10417a237a05
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I35c5e457082dac3e13132d2d9c32658dfb96a8b2
2025-05-20 06:35:16 +00:00
Translation updater bot
8877f80195 Update git submodules
* Update extensions/MultimediaViewer from branch 'REL1_43'
  to ddd131485eaa52a24a42b5cfc1b020d8febac9a8
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I18b40cf5c5e4f81dd5b2ed0759054cd34347919f
2025-05-20 06:35:07 +00:00
Translation updater bot
28fbd6f321 Update git submodules
* Update extensions/LoginNotify from branch 'REL1_43'
  to 20aa09be9c70814f4d470f96bd24a7c286eea485
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I39e63cd0a4b7ef919d6974231b1dbefd8fff64aa
2025-05-20 06:35:06 +00:00
Translation updater bot
c2887ef66f Update git submodules
* Update extensions/Math from branch 'REL1_43'
  to d530e0cec297bc08e59af6b41ec14c18c94b6f6a
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I4d88e0b81cf00c19312abb8fabae1aec4313c3e9
2025-05-20 06:34:58 +00:00
Translation updater bot
b4ba7b6f5d Update git submodules
* Update extensions/Linter from branch 'REL1_43'
  to f674c5b75e5c4d6cb36f461543bed13408aaa073
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ib739fcee821bc6641e370c9a757414e424d08ed4
2025-05-20 06:34:55 +00:00
Translation updater bot
37f961b75e Update git submodules
* Update extensions/Gadgets from branch 'REL1_43'
  to 4dc526781fbb1ffda01193bed68fe37de8f19b94
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Icf7a1647f66b9eef227620b9087131f2139783e5
2025-05-20 06:34:13 +00:00
Translation updater bot
2cd9c59b44 Update git submodules
* Update extensions/Echo from branch 'REL1_43'
  to 3f7add5f2a0c1435660145a7764bdf41b12381ba
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ia038ad5fd36d67ae2a0b50f336749bb512d350ee
2025-05-20 06:33:59 +00:00
Translation updater bot
869d9be642 Update git submodules
* Update extensions/DiscussionTools from branch 'REL1_43'
  to 37ef6fb656ec3dd0f33f5c8508aeb641cd5fbf49
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ie0c5208505b9e4c30fe2c91d67af41da1ac9ff97
2025-05-20 06:33:48 +00:00
Translation updater bot
9e05ef3265 Update git submodules
* Update extensions/ConfirmEdit from branch 'REL1_43'
  to 49bea60d6172eb446b31afbcd088b65a65a4929e
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I462570600cddae9c2e33739418313d3e22dbec4e
2025-05-20 06:33:37 +00:00
Translation updater bot
7451104cad Update git submodules
* Update extensions/Cite from branch 'REL1_43'
  to c468b8d3e00475fb7d3e8fb912bb3eb3f7424a47
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I67c8cdd56e3797ef7838c45338bbdaf3f1a06e41
2025-05-20 06:33:20 +00:00
Translation updater bot
21d866ff9d Update git submodules
* Update extensions/CategoryTree from branch 'REL1_43'
  to c3dd8fa5527ed9a91ea27fb0bb23d53db9253466
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I74717c674dd5c02ce22c198a2be0ac90707aa5de
2025-05-20 06:33:19 +00:00
Translation updater bot
a0c862c38f Update git submodules
* Update extensions/AbuseFilter from branch 'REL1_43'
  to 9951d09ed38bfac9069b81ed40158ca491fcf2b5
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ib94d9e3b539496f72b73b2c3f7dd3613154ebba0
2025-05-20 06:32:28 +00:00
Translation updater bot
f418b5f3bf
Localisation updates from https://translatewiki.net.
Change-Id: I8029829a52e7292222f61338bd41d6be924d52e5
2025-05-20 07:33:43 +02:00
Daimona Eaytoy
9eea77733d Update git submodules
* Update extensions/AbuseFilter from branch 'REL1_43'
  to 4a045a7365ce84eacce46f3623c56f446bf14c71
  - Avoid dynamic property for PHP 8.2 compatibility
    
    Add a public method AbuseFilterChangesList that updates a map of RC IDs.
    
    I don't particularly like this approach, but I don't like the whole
    ChangesList situation either, so this should be fine for the time being.
    
    Bug: T381836
    Change-Id: I0100ed64472de67cf4559f63f2c39eb2f882e0f5
    (cherry picked from commit 5b321350e12d2f1a590bff2bb61471266e4cd05a)
2025-05-19 22:52:55 +00:00
Reedy
bc24f247f6 Update git submodules
* Update extensions/OATHAuth from branch 'REL1_43'
  to 68198a19b611bff32f1cb85fbd3bc72d086f062d
  - DisableOATHForUser: Don't check for a local user id when disabling
    
    Bug: T393253
    Change-Id: Ice9d5b29d5cfceef192850d3c8d0fa6976372c1c
    (cherry picked from commit 1144ddb249d74b39417b77d8ddb51965092da63b)
2025-05-13 10:07:38 +00:00
Translation updater bot
0225d52798 Update git submodules
* Update skins/MinervaNeue from branch 'REL1_43'
  to c07d4e7c76f8f1291155709cc79f857f62ac0788
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I9c1d7a339bf026b15cc2e558ca85fea2d12b824e
2025-05-13 06:49:20 +00:00
Translation updater bot
185c4ad02d Update git submodules
* Update skins/Vector from branch 'REL1_43'
  to a464d726311c072beb9782d6b21c4f68ccab5993
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I3b07c10fb7458334b62e6685497f181993bc9336
2025-05-13 06:49:17 +00:00
Translation updater bot
fe50a2af9d Update git submodules
* Update skins/Timeless from branch 'REL1_43'
  to 68191cc85b7e14dacf1f871d795f8dfd92edb3ea
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I9cc94d35b03820fd4eb4aeb34b51cbaa0c936cf9
2025-05-13 06:49:14 +00:00
Translation updater bot
4b9c585fde Update git submodules
* Update skins/MonoBook from branch 'REL1_43'
  to ab1ff10f7e5869a0aefdb39c6afb92cd7cb301b6
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I9c1d7a339bf026b15cc2e558ca85fea2d12b824e
2025-05-13 06:49:07 +00:00
Translation updater bot
dc36fe6433 Update git submodules
* Update extensions/VisualEditor from branch 'REL1_43'
  to 778c1433eb0d4b863e54d20b5c099269729e66f3
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I2b9e6ec6acfe72a3418a836b3b57258c7b806e2d
2025-05-13 06:47:02 +00:00
Translation updater bot
cb208df7c8 Update git submodules
* Update extensions/WikiEditor from branch 'REL1_43'
  to 2e2bf45bc8c6ce64503f72dd7c8a71fb1d3f2a63
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I8b4b959a01ce610ce2bfe556055d55b40bf5552a
2025-05-13 06:46:59 +00:00
Translation updater bot
5537270f73 Update git submodules
* Update extensions/Thanks from branch 'REL1_43'
  to b4beb30046fe04d0ad7f055dd1318fe997f3d7ea
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I5a119ddbf9aea30876207f05ba48fb927580eda3
2025-05-13 06:46:29 +00:00
Translation updater bot
343af1efb9 Update git submodules
* Update extensions/TitleBlacklist from branch 'REL1_43'
  to ce49016893df621d7de04628fd0d3cbd290b84ef
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I245a989c9a7f364e8a496b70a7062725230fbbbd
2025-05-13 06:46:27 +00:00
Translation updater bot
982abd5311 Update git submodules
* Update extensions/TemplateData from branch 'REL1_43'
  to f04e059926606e5529bb27c5bba3447b1cc66be2
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I8a355954d9137e4bb7b56827ad042d3c4402f463
2025-05-13 06:46:22 +00:00
Translation updater bot
3860b91664 Update git submodules
* Update extensions/SyntaxHighlight_GeSHi from branch 'REL1_43'
  to e86f75e0507fd0484d5dfdf26973d4dd3b61fc25
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I3d6448a1c2b3e406be69332ade72d466452a2433
2025-05-13 06:46:21 +00:00
Translation updater bot
c885691061 Update git submodules
* Update extensions/SpamBlacklist from branch 'REL1_43'
  to 5022a992646d4cd70f2284d7e789d9df5e4d5ad9
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Id4775cf593b17d58b7f27b8268726f097413e5af
2025-05-13 06:46:11 +00:00
Translation updater bot
7242d7e388 Update git submodules
* Update extensions/Scribunto from branch 'REL1_43'
  to 5f313ed7b42f28a44871d8f871f3987372c3bc60
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Id47ded4cfd61327b077c88ab7ddc39a30c1ce9d6
2025-05-13 06:46:03 +00:00
Translation updater bot
d4f73486e8 Update git submodules
* Update extensions/ReplaceText from branch 'REL1_43'
  to c2cb0c54b552d7508dd256853a14875010c1e85c
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ic3610f71df1c974c087c33ef0fdcc6cc0dccd8f9
2025-05-13 06:45:55 +00:00
Translation updater bot
bb82df3436 Update git submodules
* Update extensions/ParserFunctions from branch 'REL1_43'
  to ea66369ec9960f563fed6d2b6f803ff1bd132cb3
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ic0fc1ffdc27befbb5d3d0d7fa8fa005b14e4ef3d
2025-05-13 06:45:37 +00:00
Translation updater bot
2e4ed1c07b Update git submodules
* Update extensions/PageImages from branch 'REL1_43'
  to 1cdc51d27dc6cfc79a92f006028344298aa329de
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I4a7a3065c65abff44739aa40a4c38fbf4634c758
2025-05-13 06:45:31 +00:00
Translation updater bot
c2062cc923 Update git submodules
* Update extensions/OATHAuth from branch 'REL1_43'
  to f5d2051afc572c97383348643d8d67618cb305e9
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I3dc1fd15e53fe47258058ea1b98cccba08c98cd4
2025-05-13 06:45:19 +00:00
Translation updater bot
abfeba0d7d Update git submodules
* Update extensions/Nuke from branch 'REL1_43'
  to d2dd1a30f2454d9f743bad376a1f61772b17dcd9
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ia22b41b6e232bb5603ce92b0ef4644cf0ce22bd2
2025-05-13 06:45:18 +00:00
Translation updater bot
6f9a32c447 Update git submodules
* Update extensions/MultimediaViewer from branch 'REL1_43'
  to 5c0c492650f8a0a089524a52501d5f1c26777403
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I22ab26bbcda7ebf83a06b9aea59e58b83ddc64ea
2025-05-13 06:45:14 +00:00
Translation updater bot
ab64d60983 Update git submodules
* Update extensions/Math from branch 'REL1_43'
  to 6e7204b4b394984fefdb6c8f1ca8223723041179
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ie868e265a50639688a6d53d062f3f8ea627cda13
2025-05-13 06:45:01 +00:00
Translation updater bot
59e2704076 Update git submodules
* Update extensions/Linter from branch 'REL1_43'
  to 522c167b5a9975d0c71970f7b890583ac49b40af
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ic120c942cc2ee57890dfb6dc4deeceb952e7f683
2025-05-13 06:44:49 +00:00
Translation updater bot
5b600ef133 Update git submodules
* Update extensions/ImageMap from branch 'REL1_43'
  to 1d086fcadf56a0279b1d93c464fface29b099cae
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: If672aa972e06e8dd1a67ca2e61a4d7775dfb3bf5
2025-05-13 06:44:40 +00:00
Translation updater bot
899f528846 Update git submodules
* Update extensions/Gadgets from branch 'REL1_43'
  to 1cb276c462195819bb2e0abac0615251112d69a4
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I46283f380fd7ad5cc08079354c9b88cff4c198fd
2025-05-13 06:44:22 +00:00
Translation updater bot
68286acf1a Update git submodules
* Update extensions/Echo from branch 'REL1_43'
  to cba76e0742d2542376820b3512b3d8f314f82fce
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Iaad1024996dcd1d05498faea2045b9633cc6c7a0
2025-05-13 06:43:58 +00:00
Translation updater bot
da15047d4f Update git submodules
* Update extensions/DiscussionTools from branch 'REL1_43'
  to 649b4d191467a30062e9d39df869f0922be30a09
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I5c91cf328d67314a550df57f41466d8ce9a3c0a8
2025-05-13 06:43:55 +00:00
Translation updater bot
09dbe91fa6 Update git submodules
* Update extensions/ConfirmEdit from branch 'REL1_43'
  to b663d2500352d23960ec0f0ff9e53816fbb6931e
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I34126ad5c4d17c8253d7e7eb95aa12582bb48cff
2025-05-13 06:43:45 +00:00
Translation updater bot
d25464e11a Update git submodules
* Update extensions/Cite from branch 'REL1_43'
  to 6e699bb3f4bf5e0e0acea5a5927aae60b7f229bd
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I0ed54284da1e6d237b48a612b574290dd29545b9
2025-05-13 06:43:22 +00:00
Translation updater bot
f9da8d98ef Update git submodules
* Update extensions/CiteThisPage from branch 'REL1_43'
  to 57099a17f2e4a87d658657265e433e8fb5397cea
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: If1652389fe53affcb08d8ff7c74f3fe0aeb96a9d
2025-05-13 06:43:20 +00:00
Translation updater bot
5f7d2ca343 Update git submodules
* Update extensions/CategoryTree from branch 'REL1_43'
  to 794bca661a4ae42255c6aa13600c9f6585bf02f3
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I258311f05a2f5be7ce34365a7ddaf8f0870a02d2
2025-05-13 06:43:11 +00:00
Translation updater bot
b502ee5439 Update git submodules
* Update extensions/AbuseFilter from branch 'REL1_43'
  to 939e100df9f2599f224f2430011675b35408b6fe
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I421edec8396079a0ede80e67960c3a51e1876504
2025-05-13 06:42:25 +00:00
Translation updater bot
b7432b90c0
Localisation updates from https://translatewiki.net.
Change-Id: I8263419b865039c2a45179ad5a48d3185b6c71e6
2025-05-13 07:34:39 +02:00
Amir Sarabadani
7f5acfeaca objectcache: Cast explicitly to integer
To avoid logspam flood

Bug: T393879
Change-Id: Iaee7b9b38d0bf8ace883800198a571e341f22010
(cherry picked from commit dc6c301b4b1b279c6f1ff459cd0eafc098cf3894)
2025-05-12 11:24:42 +00:00
Translation updater bot
cf84a740bd Update git submodules
* Update skins/Vector from branch 'REL1_43'
  to c86ec3106f5d1f60b10370a8838f2f81aa77f1c0
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I983ae8cab6699c830241aadb8bef5e6205867d9b
2025-05-06 06:45:30 +00:00
Translation updater bot
f32451c239 Update git submodules
* Update skins/MonoBook from branch 'REL1_43'
  to cfaf901f72f32037a62109b5d2ffc93dc2a894b7
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ibac366b4388924a11e5a51cf358824dd72c1d0cc
2025-05-06 06:45:29 +00:00
Translation updater bot
5226f88ba0 Update git submodules
* Update skins/MinervaNeue from branch 'REL1_43'
  to bf02d591b8b4140d369fa62078e402dc2d386d5d
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ibac366b4388924a11e5a51cf358824dd72c1d0cc
2025-05-06 06:45:28 +00:00
Translation updater bot
8dd2d12646 Update git submodules
* Update extensions/VisualEditor from branch 'REL1_43'
  to b0879ded8903cdf709b1c4c7305cc1c4ac486a0d
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I197873b7af4a67da5838face4b4fe6301365ff7b
2025-05-06 06:44:04 +00:00
Translation updater bot
fc63e18793 Update git submodules
* Update extensions/Thanks from branch 'REL1_43'
  to f72b56e60bbde3954eb01646daed5b933b15fdc7
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: If353028f07495fbdc0f381b90cfaabea448055a6
2025-05-06 06:43:39 +00:00
Translation updater bot
02136cd56f Update git submodules
* Update extensions/TemplateData from branch 'REL1_43'
  to 44b5432c61fe4bd6d9a24c8706c45b0321bda3f1
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I911864be0c60ce4342362fc157b433ce3a2036e5
2025-05-06 06:43:35 +00:00
Translation updater bot
78636a024b Update git submodules
* Update extensions/SyntaxHighlight_GeSHi from branch 'REL1_43'
  to 48c2f1cf6be7b78638bc034e50e9e20834299987
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I42ae9749e803f89cb5d246edb054c01daa773af2
2025-05-06 06:43:33 +00:00
Translation updater bot
f2438348ac Update git submodules
* Update extensions/ParserFunctions from branch 'REL1_43'
  to a9e7e5bf457a02754f46860d21ac1c95b31875b7
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Iee14b65b54e2918251efd68e9494559115be9852
2025-05-06 06:43:17 +00:00
Translation updater bot
c5b50e13c9 Update git submodules
* Update extensions/OATHAuth from branch 'REL1_43'
  to 87cd6d996c8cdb21b395fe7c2da8b2b32b987215
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Idad12c881a3c227d5dd856b0d2e193a6e7338a49
2025-05-06 06:43:04 +00:00
Translation updater bot
84d80638a2 Update git submodules
* Update extensions/Nuke from branch 'REL1_43'
  to 19391b6c3ee5832cab4eced9cc398c94fb29a2b5
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ibb32484d6dae230019305c2c5d09d482a8f2e000
2025-05-06 06:43:01 +00:00
Translation updater bot
ecd6e5ba6e Update git submodules
* Update extensions/MultimediaViewer from branch 'REL1_43'
  to 6fc1971d1f46283a9daf4e94bb645f5fb8ac5bf3
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ic5d797f1fb4e33bfdfc66b73876cf363e6d1b2bd
2025-05-06 06:42:57 +00:00
Translation updater bot
acdf0d7868 Update git submodules
* Update extensions/Math from branch 'REL1_43'
  to 22983929cb9a11b40f27af30e35d6e88c8cd7eda
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ieed1c6bae3017e400d7fa04e870ac9d7f378d308
2025-05-06 06:42:48 +00:00
Translation updater bot
83cd022f4a Update git submodules
* Update extensions/Linter from branch 'REL1_43'
  to d39b691c86d3bfa0f7e2cc95c909cc911e737db7
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ied98b59d3ac4ae5dcda9df0ae4b0ec97a23cec9a
2025-05-06 06:42:41 +00:00
Translation updater bot
4cce0ae51f Update git submodules
* Update extensions/LoginNotify from branch 'REL1_43'
  to 5ba4849e8e3455f548c6ac0d7e87828931f16d49
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I33bc497d6d76c1340a90f1b59f2dd4a1206531a7
2025-05-06 06:42:38 +00:00
Translation updater bot
8f14256ffe Update git submodules
* Update extensions/InputBox from branch 'REL1_43'
  to abe36b80c165ecc94b6a2f4730586e464ee63541
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ia1a87ae73903f342d0a38226e8eb56dfa5584134
2025-05-06 06:42:34 +00:00
Translation updater bot
29269e6bb7 Update git submodules
* Update extensions/Echo from branch 'REL1_43'
  to ae91ce3d6170fc14a2eb89442374cba241fb44f6
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I14762faa15675098b21c5c99dee23dea1639b599
2025-05-06 06:42:05 +00:00
Translation updater bot
fcc033dcba Update git submodules
* Update extensions/DiscussionTools from branch 'REL1_43'
  to 99b82002cfc0be86e789c6f300d081f4a6a90f49
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I235615c8fed81afc25ff7856205a8d513f436233
2025-05-06 06:42:04 +00:00
Translation updater bot
26b0dcecfa Update git submodules
* Update extensions/ConfirmEdit from branch 'REL1_43'
  to bd1cd0798d260748dd412e3b217f3b44de554cdf
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I927e7aff26ae1d93fbf746be07988c4df67a7a58
2025-05-06 06:41:55 +00:00
Translation updater bot
692532e8db Update git submodules
* Update extensions/Cite from branch 'REL1_43'
  to 3225ed41051614ebac03fbfd9207660e30bf3223
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ie39f6a89eda9852182f1a8319771955aa8bb54eb
2025-05-06 06:41:36 +00:00
Translation updater bot
0abf65e180 Update git submodules
* Update extensions/CiteThisPage from branch 'REL1_43'
  to 2c5bd6c480a862d507bd285182a8c61e95b22893
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ie55989a3f0720625ffa75c03c9375d12042a225e
2025-05-06 06:41:34 +00:00
Translation updater bot
fd5540685f Update git submodules
* Update extensions/AbuseFilter from branch 'REL1_43'
  to f9cae7eaf20e2034d8677b657814aac5a399c3b7
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I249fc5964ce613e5c20cd7f9f3467d526badbcf2
2025-05-06 06:40:58 +00:00
Translation updater bot
5049b1c0d7
Localisation updates from https://translatewiki.net.
Change-Id: I2600f9164717118fac11811f84ad8390bbb9f7ce
2025-05-06 07:33:48 +02:00
Umherirrender
829fc94825 Update git submodules
* Update extensions/Math from branch 'REL1_43'
  to ac2ab636523a849e0aab11708f6ac5a7cc0cda1a
  - tests: Rename data provider to start with provide
    
    data provider often starting with provide*
    to recognise it's purpose from the function name
    
    https://www.mediawiki.org/w/index.php?title=Manual:PHP_unit_testing/Writing_unit_tests&oldid=6864877#Data_providers
    
    Change-Id: I96122bf9051bf0e9012df2ba9b7ef7051bf4d0e2
2025-05-01 05:35:34 +00:00
Umherirrender
4ed3a3b051 filerepo: No exception on redirect without width in ThumbnailEntryPoint
Catch the exception and return Http Code 400 as already done in the
class for the non-redirect code path.

To get the exception, visit /thumb.php?f=Redirect.jpg

Bug: T387684
Change-Id: I45202572dfce8b60a8aed9343f7d99e2eee12415
(cherry picked from commit b43c89b297e895cb77fbf0f9efd987c6dbf7f50e)
2025-04-29 20:01:15 +00:00
Translation updater bot
806b8e117a Update git submodules
* Update skins/MinervaNeue from branch 'REL1_43'
  to fa92ff17f762c2f79906fa40e5a4793f09e22665
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I771b52ddba924b6332431bf60c8086250c24d7e0
2025-04-29 06:40:20 +00:00
Translation updater bot
d963446954 Update git submodules
* Update skins/Vector from branch 'REL1_43'
  to 2336ca3180153791588d6659b6b6dd26c650d207
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I2b16e3da525a4df803a9bcff01cf3da0a8a5ceee
2025-04-29 06:40:18 +00:00
Translation updater bot
38880815af Update git submodules
* Update extensions/VisualEditor from branch 'REL1_43'
  to b4d97ed27ccd26c8850a7c8731c56903faeb5a2b
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ie33fde999de814f0b3194e5511c1fc54f5e96f9e
2025-04-29 06:38:12 +00:00
Translation updater bot
02e060da19 Update git submodules
* Update extensions/WikiEditor from branch 'REL1_43'
  to f0953d63bcece12f0807953dd7bd0595f78796db
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I3cafcd1f644749a2206d76e6f7c69f0cea0367e0
2025-04-29 06:38:01 +00:00
Translation updater bot
8b514ec03f Update git submodules
* Update extensions/TemplateData from branch 'REL1_43'
  to f802dba007af4ad31c0a22eee8be802c03da62e9
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I349187bc41b4492417ee433addbceb63e162ac3b
2025-04-29 06:37:32 +00:00
Translation updater bot
f236f8ec69 Update git submodules
* Update extensions/OATHAuth from branch 'REL1_43'
  to 8427ea2618566197472fe13da5f227c7b15963ec
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I4df3c70390ea22c0fa24bc3a179f9bca92c3eeb0
2025-04-29 06:37:26 +00:00
Translation updater bot
8cfff7bc6a Update git submodules
* Update extensions/Thanks from branch 'REL1_43'
  to b7c87f2e6dc157b3ea2c7fa86cc7d025eb4d383b
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I084f3f145900b5e175f561805607bccd50fce0c9
2025-04-29 06:37:25 +00:00
Translation updater bot
1461fa397f Update git submodules
* Update extensions/Scribunto from branch 'REL1_43'
  to 8766f2d886d709e32d84fa7b481bb62b8db02827
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I5d8aa69c5af14c52d21e7029ff1dea355cde5463
2025-04-29 06:37:23 +00:00
Translation updater bot
900cf1ad8d Update git submodules
* Update extensions/Nuke from branch 'REL1_43'
  to 05a4fc009b7336c9b571c240d12c96eca7c589d8
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ic366617d5a703cb6d35f045ac50d9145fa634c92
2025-04-29 06:37:13 +00:00
Translation updater bot
54d2797007 Update git submodules
* Update extensions/Linter from branch 'REL1_43'
  to a16436e26ae74fa6ae65f415a92516a8c887e67e
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I62d88c45a1108ab0ba82f102a1c724de1b2c6daf
2025-04-29 06:37:11 +00:00
Translation updater bot
66c9b452e5 Update git submodules
* Update extensions/DiscussionTools from branch 'REL1_43'
  to 441ac6449fe0a4f2cf87fd59da431bc96b478153
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I14a2033cf4500af919209ee7890eb765ee0eb0b8
2025-04-29 06:37:06 +00:00
Translation updater bot
0fd35f7396 Update git submodules
* Update extensions/Math from branch 'REL1_43'
  to 257b688515d7f267b34df16962ca7609612aa45f
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I51a4ec9f75cd252acfa7eefab228722c7a146db2
2025-04-29 06:37:02 +00:00
Translation updater bot
9f20f21446 Update git submodules
* Update extensions/CiteThisPage from branch 'REL1_43'
  to 391b072d644724a590a69496d3face830b8379a9
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I03a8828ba7fab88f7b78ba2657a163b751285dc0
2025-04-29 06:36:52 +00:00
Translation updater bot
4446962306 Update git submodules
* Update extensions/LoginNotify from branch 'REL1_43'
  to 72eeffc8849380f4d70cd2eb95ddac05ef464d0f
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ibc80f75355abd0e18a1d6fde0785c2f8fc8fc1cd
2025-04-29 06:36:47 +00:00
Translation updater bot
d47f89aca5 Update git submodules
* Update extensions/InputBox from branch 'REL1_43'
  to 5dea0ae6a0f9ded66b9ac98e0b4049d3b153be82
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: If80fc74a013cb56b22235e677c28d5a65ff47c67
2025-04-29 06:36:46 +00:00
Translation updater bot
e18917d5b3 Update git submodules
* Update extensions/Gadgets from branch 'REL1_43'
  to cf69a66ecaba4c9512a289b6eb9307076fe5d37d
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I93ad8ee8c9d94c5c4f8b1808c394eff49a600eb6
2025-04-29 06:36:42 +00:00
Translation updater bot
0761a61c43 Update git submodules
* Update extensions/Echo from branch 'REL1_43'
  to b30028eed0c13f41c425548d99dcaf758706e7a2
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I0e135e327c1a20c27865df00d7a9a0acab2f8ee9
2025-04-29 06:36:40 +00:00
Translation updater bot
262cdfb95e Update git submodules
* Update extensions/ConfirmEdit from branch 'REL1_43'
  to 13ad8d467a018bc668d09f2836b0390cc822a25a
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I64b29454a2a6d5ada6edf399189d8cdfbfbfdbb7
2025-04-29 06:36:36 +00:00
Translation updater bot
b10dfc270f Update git submodules
* Update extensions/Cite from branch 'REL1_43'
  to 7d286b112ba804f0f7421181efd2cea0e6fcb55b
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I8854a9524f5f0fd95c188ed6895b017ab505e58c
2025-04-29 06:36:12 +00:00
Translation updater bot
20df39a885 Update git submodules
* Update extensions/CategoryTree from branch 'REL1_43'
  to 1589cc2e02f70b72aa07184de19b3d44f9b91c9e
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I4a72baa660b6b1b3be63e20430388f3b11999378
2025-04-29 06:36:05 +00:00
Translation updater bot
4a4f77b586 Update git submodules
* Update extensions/AbuseFilter from branch 'REL1_43'
  to c6d4f5e223da02261be0ba63dbba4b6c256062a8
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I43ac3c1626d7a21996c1790e60e3bce281d63972
2025-04-29 06:35:29 +00:00
Translation updater bot
03d78bbd83
Localisation updates from https://translatewiki.net.
Change-Id: Ib6aba4756c1db49e5e8a4b626eed2b4af06c3231
2025-04-29 07:33:51 +02:00
Taavi Väänänen
ab97f556b8 Update Pingback address
Change-Id: I02f355f7c30143a26ce37a4e8d6e45a04ce12da3
(cherry picked from commit 1f00175a07b0deb1e81e7a4caf1db0b17cf60ff3)
2025-04-24 16:18:06 +00:00
Umherirrender
723318ef91 http: Handle accept header with incomplete q
When q is not followed by =, the array has not enough items and
unpacking results in undefined array key. Also $val is set to null,
resulting in php deprecation warning on trim()

Bug: T391867
Change-Id: Ia5d4c9b6fb788ad4390d2562c6f38682f280a634
(cherry picked from commit cda46ed9f0c31280a8db59a2f0387e64e6308906)
2025-04-23 23:16:22 +00:00
Bartosz Dziewoński
f7a0d003c5 language: Avoid warning when 'namespaceGenderAliases' is null
I'm not sure why it can be null, but we do the same thing in two other
places in this file.

Bug: T389260
Change-Id: I2f0c880f79997d60b545d47130ab9f8ff3f35d0f
(cherry picked from commit af83387ac3dd857bc93b2a733a78247d2f8ca8e0)
2025-04-23 00:04:36 +00:00
Translation updater bot
23f0dd44c1 Update git submodules
* Update skins/Vector from branch 'REL1_43'
  to 6d047cee137211361f07526f0a7af32cbd886a9e
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I29a9ae9b616de65e4e42ad8943f63915866e50a8
2025-04-22 06:35:59 +00:00
Translation updater bot
b834b5ec30 Update git submodules
* Update skins/MinervaNeue from branch 'REL1_43'
  to 2d5c13b2df502e62d9bf85ad8a029e65fe10a167
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ibc6d32883a07e07adc72bc5ad04e81cc5b80dcf9
2025-04-22 06:35:52 +00:00
Translation updater bot
c6cc81aa2a Update git submodules
* Update extensions/OATHAuth from branch 'REL1_43'
  to bcab0d6cfe94f491313161f76446c34bbde9d8a5
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I91e89d0b164ad9fec02ddb2562921de63fcf9172
2025-04-22 06:33:08 +00:00
Translation updater bot
eff00c170b Update git submodules
* Update extensions/WikiEditor from branch 'REL1_43'
  to 2f2595eb98f11a3818aca1a2abd9d954733afdd2
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I6cb9743d164a282f77344065e4880be3d4355552
2025-04-22 06:33:02 +00:00
Translation updater bot
f9de90be5e Update git submodules
* Update extensions/TemplateData from branch 'REL1_43'
  to 9b33c80594e28bace878303403f55028a278cc37
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Icc440e5b4613df2705a7d5b613e6bff4ec391281
2025-04-22 06:32:58 +00:00
Translation updater bot
fc2b9e6e49 Update git submodules
* Update extensions/Nuke from branch 'REL1_43'
  to 402ec739c322050121f70d9b4fa819b6947b232f
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Iaca9e49692816136f3b5171ada654ba8b539dbe4
2025-04-22 06:32:54 +00:00
Translation updater bot
057e74183b Update git submodules
* Update extensions/LoginNotify from branch 'REL1_43'
  to bded39917932c68ad46523e95843d9c518946855
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I08345f07d3684f20582623aa26fc1dc2086d012c
2025-04-22 06:32:53 +00:00
Translation updater bot
9a5452d948 Update git submodules
* Update extensions/VisualEditor from branch 'REL1_43'
  to 2d454fc42ea5cbce5ba3fee693542a3dd7e83220
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ibeefc97455fdb41f138818bbd59b53e18935f413
2025-04-22 06:32:47 +00:00
Translation updater bot
b9692ad446 Update git submodules
* Update extensions/Thanks from branch 'REL1_43'
  to 81149c6921f76737bc06d0d02cc9a960b8a1d330
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I3c00fbcdff1d5682960fd7e8aeebdf8a372fd49a
2025-04-22 06:32:42 +00:00
Translation updater bot
fa5bc3953e Update git submodules
* Update extensions/Linter from branch 'REL1_43'
  to 50f0dbca790809b679fb2856fbf8d724e0099a79
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I1533291eeb6894194789d95ce9c66a94071855ea
2025-04-22 06:32:29 +00:00
Translation updater bot
df850d4ee0 Update git submodules
* Update extensions/InputBox from branch 'REL1_43'
  to 15a27c29619b060b486ef498c0d8d42880c53213
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ia0bea4bd6eb39267bbf7c6b51ea4713df8cb62c8
2025-04-22 06:32:27 +00:00
Translation updater bot
8c82302202 Update git submodules
* Update extensions/Gadgets from branch 'REL1_43'
  to e58f7a59f235034ba959a9f33351e1027d853cc1
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ic9b2aa9c33fca8428362d12cfe18a2896afdc7b5
2025-04-22 06:32:14 +00:00
Translation updater bot
86a2c8b567 Update git submodules
* Update extensions/ConfirmEdit from branch 'REL1_43'
  to 556034e04331550b6242a5af038320883cc58dd1
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I5acdfa02a5e3f874b4a4880324cda970e887a679
2025-04-22 06:32:11 +00:00
Translation updater bot
fa1afa923e Update git submodules
* Update extensions/Echo from branch 'REL1_43'
  to 565c4797d0aceb26266b179c021f366c308f927e
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ib9b9032a6d01491436b2827749f9cf0b52eb860c
2025-04-22 06:32:06 +00:00
Translation updater bot
4aa376b944 Update git submodules
* Update extensions/DiscussionTools from branch 'REL1_43'
  to 49795371356ba07f9ad823f13c7951b93cca25a7
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I636102a873d6e00d20e6c25f1c3ecd428c7ad5da
2025-04-22 06:32:04 +00:00
Translation updater bot
b79ed6707e Update git submodules
* Update extensions/Cite from branch 'REL1_43'
  to 8a29832a68d653978259808c83a3efa31753d119
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Iac83e62256575171e0ca5b01918e649713ec9f27
2025-04-22 06:31:58 +00:00
Translation updater bot
3960ab876e Update git submodules
* Update extensions/CategoryTree from branch 'REL1_43'
  to 3608ca1d453a6ed7a4cc60abde1277df071e82a5
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Id5ccb6d06af236b341320d95b480127d5ea955f8
2025-04-22 06:31:50 +00:00
Translation updater bot
40ea448a75 Update git submodules
* Update extensions/AbuseFilter from branch 'REL1_43'
  to 6b85fc167ae6638e77a39ab53b84cacf6a282aa0
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Iae2e648c1427cec8bbf5e8975840999ab9e6676e
2025-04-22 06:31:02 +00:00
Translation updater bot
c2b5de68b3
Localisation updates from https://translatewiki.net.
Change-Id: I89e0bab6d19294ff1f993e65df12ccfbea228710
2025-04-22 07:33:11 +02:00
Taavi Väänänen
20505ef627 INSTALL: Document requirement for bcmath/gmp on 32-bit systems
GlobalIdGenerator requires one of those unless the system is 64-bit, and
since I72c5e6f86b7f081ab5ce7a56f5365d2f75067a78 that code path is hit on
all page views. Document that requirement and check it during install
time to provide a better experience.

Bug: T391169
Change-Id: I75bcef9eabcfeb92259234a33998b9793be6e08c
(cherry picked from commit 2394bd6366afd63760258206c0ca43aeead7df2b)
2025-04-18 15:57:48 +00:00
Zvi "CtrlZvi" Effron
db82379f65 installer: fix MySQL create user permissions check
The previous check for the necessary permissions to create a user were
no longer correct. They did not check for the CREATE USER global
permission, which is also sufficient for user creation. Additionally,
they were checking for the ability to grant permissions by comparing
the IS_GRANTABLE column against a boolean true (integer 1). The column
is a varchar(3) that stores the string 'YES' to indicate the presence
of the permission, so the comparison against the integer boolean is
always false.

MySQL has had both the CREATE USER permission and the use of a
varchar(3) column for IS_GRANTABLE since at least MySQL 5.0, so they
are present for all supported versions of MySQL/MariaDB.

This was likely not a problem until 3f852f7ddc, at which point the
checks were added to the web installer flow.

Now, the CREATE USER permission is also accepted and IS_GRANTABLE is
compared against 'YES', so the web installer will be able to present
the option to create users if the database administrator account has
the correct permissions.

Bug: T391179
Change-Id: I5c2454599d6e91559d9996fe7c274eb8daab44bd
(cherry picked from commit daff6d03638f5c7108339f0a8774d2cfd9fbc0f0)
2025-04-18 03:02:04 +00:00
Lucas Werkmeister
c60a5c4206 SECURITY: Escape newpage message in FeedUtils
Bug: T386175
Change-Id: Ida72c4c03c379cf5a340b2f229f0fe842694559c
(cherry picked from commit 14205eb16d32439b745537906c1d37146b60793b)
2025-04-17 19:13:20 +00:00
Máté Szabó
145d205b4c specials: Fix PHP Warning on Special:PasswordReset for crafted input
Why:

- Special:PasswordReset uses raw POST values to add username and email
  info to success messages post-submit.
- These values may be parsed by PHP as arrays if a client supplied
  crafted input with multi-value fields.
- Instead of doing our own param validation in onSuccess(), we can reuse
  parsed values in onSubmit() and do the rendering there.

What:

- Move success message processing to onSubmit().

Bug: T392086
Change-Id: I9b0e115c417d0f3080e711441c79608d782932ce
(cherry picked from commit 37d63156c841f9a19080c9438cdf66cf58a7da7a)
2025-04-16 21:01:12 +00:00
Abijeet Patro
96f6631007 Merge "Localisation updates from https://translatewiki.net." into REL1_43 2025-04-16 06:58:53 +00:00
Translation updater bot
2b78ce9d78 Update git submodules
* Update skins/Vector from branch 'REL1_43'
  to 3b1380e2dc4128604d6853f47a300b1fb28c3bd5
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I4666b645d518eda566d0a7cd746d4ce109feb0d6
2025-04-15 06:29:58 +00:00
Translation updater bot
1cd779d92e Update git submodules
* Update skins/MinervaNeue from branch 'REL1_43'
  to c0a1ed22874285de977665e387f03e13097f39a2
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I565b964eb6daaf3115e575c33df255863fa4ad9e
2025-04-15 06:29:56 +00:00
Translation updater bot
8abfa41348 Update git submodules
* Update extensions/VisualEditor from branch 'REL1_43'
  to 25f48f8dfd7e3ffd3d74aa4ad756abdae3caa434
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I91aa63c29747d3141b27cc324a379278d7176271
2025-04-15 06:28:37 +00:00
Translation updater bot
5905af45ed Update git submodules
* Update extensions/WikiEditor from branch 'REL1_43'
  to c627ce9b01d8c0fdde15371a40c0211842b34d49
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I13742d4dff2a7682280faea6db5aecfb8b5580dd
2025-04-15 06:28:35 +00:00
Translation updater bot
43a4e78890 Update git submodules
* Update extensions/Scribunto from branch 'REL1_43'
  to 87916a34e0516c1dd1eaed4adf5b2d44603c7c3c
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I6f7ef6462c8fd4c499bf4ea0d9ee0f3b0c39e1d0
2025-04-15 06:28:31 +00:00
Translation updater bot
067f58e5b7 Update git submodules
* Update extensions/Thanks from branch 'REL1_43'
  to b9cc839a0a3f62dc3a13ab2c76c0ec1e45328551
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: If992ed5c7e31969970d26b378a1a373298b9d846
2025-04-15 06:28:18 +00:00
Translation updater bot
5a7bab1b05 Update git submodules
* Update extensions/LoginNotify from branch 'REL1_43'
  to 0fe872ed32d55852fccc8e1f1c28a6d2b6f4b6b5
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I39c299dd7667abc0685739f7c9908da25de9622c
2025-04-15 06:28:10 +00:00
Translation updater bot
ae18e4a738 Update git submodules
* Update extensions/Cite from branch 'REL1_43'
  to 67f62f9a65e3686e07574e3362f81bf494ed4d8f
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Id680ec353b27ada02836f9c644d0bc080a791878
2025-04-15 06:28:09 +00:00
Translation updater bot
63e2cf8202 Update git submodules
* Update extensions/CategoryTree from branch 'REL1_43'
  to bd89d6d9a1ad59701baddc1099596e531c51eabe
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I1b007293048df70e9180ee6be84186ef0d0e9955
2025-04-15 06:28:06 +00:00
Translation updater bot
759517be80 Update git submodules
* Update extensions/Echo from branch 'REL1_43'
  to bab9504f6ebdda74f48b5926335d7240568f1d5a
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I931e7c0b15f638b0d3cdf53c297d46a4db18783b
2025-04-15 06:28:03 +00:00
Translation updater bot
4947419051 Update git submodules
* Update extensions/OATHAuth from branch 'REL1_43'
  to 72d8ec5feebd8a160199d5a5dfa6789f1dd99d74
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I0387c52c562ad664b034de994310e628c40435b1
2025-04-15 06:27:58 +00:00
Translation updater bot
49d6bbb4d4 Update git submodules
* Update extensions/Linter from branch 'REL1_43'
  to 8600393f64c095dbf1c344d5e555f524c9a797d5
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I39c299dd7667abc0685739f7c9908da25de9622c
2025-04-15 06:27:56 +00:00
Translation updater bot
581feeeb45 Update git submodules
* Update extensions/DiscussionTools from branch 'REL1_43'
  to 123e7732c17aba2969dc60ab982f20b2904707db
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I3bb30c250ba693be81f9da720bb42a8a3812e23c
2025-04-15 06:27:53 +00:00
Translation updater bot
624c6f5288 Update git submodules
* Update extensions/CiteThisPage from branch 'REL1_43'
  to 53d0e706a4863e9b1155b6e782936b89da9d7b17
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I034af01f283e5837a1de20c41cacabaab283ce9e
2025-04-15 06:27:49 +00:00
Translation updater bot
2b7647b850 Update git submodules
* Update extensions/Nuke from branch 'REL1_43'
  to 96798529616368805af951aee745ba5c2d12b7c1
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I7c29571fae1de16d186e922519d331323e7e59ad
2025-04-15 06:27:45 +00:00
Translation updater bot
107e26494f Update git submodules
* Update extensions/MultimediaViewer from branch 'REL1_43'
  to 94438020a3660a00d99a575a5d62494b3321ed43
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: If0aac57bee3e712f9b67c6cf617c75fed7d9a129
2025-04-15 06:27:44 +00:00
Translation updater bot
93725cfec4 Update git submodules
* Update extensions/Math from branch 'REL1_43'
  to 6e27f6acd4e255e7133467117bcdd7e7c585cb86
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I1aba04c29f56c32a8f6967033a634e6bbd23e7e5
2025-04-15 06:27:43 +00:00
Translation updater bot
024db2ff03 Update git submodules
* Update extensions/InputBox from branch 'REL1_43'
  to 10a4dd9588a1bc5e4f69497aa55dfd7621282ef1
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I28d9ff879dadedf97012ba73fa3dc50d5a0c3356
2025-04-15 06:27:40 +00:00
Translation updater bot
16ca08e900 Update git submodules
* Update extensions/ConfirmEdit from branch 'REL1_43'
  to cc9dc0cf90b9b38ab873fb42b004cc63ca8f4c7e
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I913b95ff735ec64a7d70d51e7eff146eef31c055
2025-04-15 06:27:34 +00:00
Translation updater bot
dcf8c6e470 Update git submodules
* Update extensions/AbuseFilter from branch 'REL1_43'
  to ef2dde18bd6d059b8dd312fe55ba9d9ace53b7ca
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I7cec52c07aeb74121b64c245f9d5e1fe3d1ae8d1
2025-04-15 06:26:56 +00:00
Translation updater bot
0f365d630b
Localisation updates from https://translatewiki.net.
Change-Id: I7757816ae8ab62edf8825b2055bbcab9e9b7c6f8
2025-04-15 07:32:55 +02:00
daniel
e3c2412ed0 swagger-ui: Add licenses of packages used by Swagger UI bundle
Why:
- Since we re-distribute a Swagger bundle that includes all the
  libraries, we should also supply the licenses associated with these
  libraries.
- See https://github.com/swagger-api/swagger-ui/issues/8317

What:
- Create a directory containing the relevant OSI licenses.
- Create a list of all the libraries included in Swagger UI
  and their respective licenses.

Bug: T382086
Change-Id: I30be1fee2b3ebd7352fa6255a95969e91a75d575
(cherry picked from commit ea8d04800ff074f15ab4c83b39db438bb26fa617)
2025-04-14 19:55:42 +00:00
Umherirrender
44ea90fa03 tests: Add test cases for UploadFromChunks
Change-Id: Iab7453ec19cf467894246ad1bd6d3f6e8baa1cfd
(cherry picked from commit 39e7e27b41cd8a181110b3d435a2c19395bfc0d5)
2025-04-13 10:43:22 +00:00
Bartosz Dziewoński
691767b387 UploadBase: makeWarningsSerializable() should accept MessageParam objects
Bug: T390001
Change-Id: Icc151fc2bf32df044d85bf8aa89e843b0c0bf25f
(cherry picked from commit 5e7a5f87183b4cbeee949dc1882db52ff281c72a)
2025-04-12 22:40:51 +00:00
jenkins-bot
0422213b8a Merge "filebackend: Avoid passing null to FileBackend::normalizeContainerPath" into REL1_43 2025-04-11 17:14:00 +00:00
xtex
71726683d8 Update git submodules
* Update extensions/OATHAuth from branch 'REL1_43'
  to 5ecf5c046d909136d5e6b0fae7956a701cbbed93
  - OATHManage: Fix missing placeholder in oathauth-switch-method-next-step
    
    Change-Id: I1396c0f195b1624b6fb7abf796dd6ec129d8717d
2025-04-11 14:05:51 +00:00
Umherirrender
69832205c4 filebackend: Avoid passing null to FileBackend::normalizeContainerPath
strtr(): Passing null to parameter #1 ($string) of type string is
deprecated in php8.1

Change-Id: I224d8e8baa9d878db3635cb6c46eb62eb6f60469
(cherry picked from commit 596589d9032b5e7a3f9b4ed7e0558b42cf66690b)
2025-04-10 21:54:42 +00:00
Pppery
65d32263fd Diffs: avoid getContentHandler on null error
Bug: T388708
Change-Id: I4dbbeb70a53c6ca0b3c44995d13e2c5de097ddf2
(cherry picked from commit 7aee965efdbe316f8ea13b1d03b4c1afab11d255)
2025-04-10 21:37:29 +00:00
Gergő Tisza
810a248988 Update git submodules
* Update extensions/OATHAuth from branch 'REL1_43'
  to b6cb1d5739c3ff3d165ae56d6131c85481deb5a1
  - Do not make Copy button the default submit action on TOTP form
    
    Bug: T354028
    Change-Id: I30d4bae47141e06aa6993c22836f7336ba758a14
2025-04-10 18:49:02 +00:00
Reedy
f2e8ddf41b Start 1.43.2
Change-Id: I360072dbca1772bf04ecfedf77bf8324bd42f1fa
2025-04-10 17:19:01 +00:00
Reedy
cde4276870 Prep 1.43.1
Change-Id: I3744e15fcaa6727d9984acaa9da3ee60fe1cd038
2025-04-10 17:18:51 +00:00
Dreamy Jazz
bfea732c5b Update git submodules
* Update extensions/AbuseFilter from branch 'REL1_43'
  to 6ebcd929c7f7a2f8be715dfe39c59b53570829f0
  - SECURITY: Use correct bitwise operator on CentralDBNotAvailableException
    
    Why:
    * When FilterLookup::getFilter throws a
      CentralDBNotAvailableException, the code which calls it
      sometimes catches the exception and then assumes the filter
      has the maximum privacy level.
    * This logic is broken as the wrong PHP bitwise operator is used
      ("&" instead of "|").
    
    What:
    * Update all uses of "&" to "|" in the affected places.
    
    Bug: T389235
    Change-Id: Idb08add69a55fb387ec51fb220cafc46542afd1a
2025-04-10 17:17:47 +00:00
Daimona Eaytoy
449e0ed49d SECURITY: escape section labels in HTMLMultiSelectField
CVE-2025-3469

Only use HtmlSnippet when the labels are not coming from a message, to
avoid XSS-via-i18n vulnerabilities.

Bug: T358689
Change-Id: If91500bc76b3ed8cdc58da4f9de326df6d201398
2025-04-10 15:56:06 +01:00
C. Scott Ananian
94f193a894 SECURITY: Ensure emitted HTML is safe against Unicode NFC normalization
CVE-2025-32699

Ensure that Unicode NFC normalization can be applied to our HTML
output safely.  Even though the W3C officially recommends against
normalizing HTML

https://www.w3.org/International/questions/qa-html-css-normalization#converting

this is still easily done inadvertently, especially when using the
MediaWiki action API which normalizes parameters and results by
default.

See also I671648603c4635a35585c860b4857f5ea085e47f in Parsoid, and
T266140 / I2e78e660ba1867744e34eda7d00ea527ec016b71 for another similar
issue.

The following changes are made:

* The various HTML serializers (Remex/Tidy-derived, as well as the
  Html::* helpers) are tweaked to entity-escape U+0338 wherever it
  appears.

* Similarly, Message::escaped() is tweaked to entity-escape U+0338.

* Finally, a post-processing pass is added to the OutputTransform
  pipeline to catch any remaining U+0338 and entity-escape them.
  This catches U+0338 added during any of the previous OutputTransform
  stages (like TOC insertion, section edit links, etc).
  *When backporting* this code will likely need to be moved to
  ParserOutput::getText(), as the OutputTransform pipeline wasn't added
  until MW 1.42.

Bug: T387130
Change-Id: I66564e14e730f5393f4fa5780b80f24de6075af5
2025-04-10 15:56:06 +01:00
Bartosz Dziewoński
8702751d5e SECURITY: Fix log entry search revealing suppressed data to users with 'deletedhistory' rights
CVE-2025-32698

Bug: T385958
Change-Id: Id0588baf6a1587d326b262d075d4e943dc5daacd
2025-04-10 15:56:06 +01:00
Reedy
4d9b508c04 tests: Rename invalid json files to txt
Same as was done in 5f2584b648

Bug: T391586
Follows-Up: I966cddb337c9373ed3a369496548a8d8c538ae84
Change-Id: I757eb043f8043d6620fb69bd072d9bb9e97ad163
(cherry picked from commit 7a84c34398639d3422f81ab9711539c34d435621)
2025-04-10 14:38:25 +00:00
Bartosz Dziewoński
3aab5f1f3d RestrictionStore: Remove short-circuit mode when fetching cascading sources
Almost every call to isCascadeProtected() (which uses short-circuit
mode) is followed by a call to getCascadeProtectionSources() (which
doesn't), so this attempted optimization (skipping a loop that does
some very cheap operations) actually results in worse performance
in the common case (because the result of the database query can't
be cached in short-circuit mode, and we must query it again), and
it makes the code really annoying to read or modify.

Relevant code: https://codesearch.wmcloud.org/search/?q=getCascadeProtectionSources\(|isCascadeProtected\(&excludeFiles=RestrictionStore.php|HISTORY|tests%2F

Change-Id: Ib9eb6cab28492776d40a10cbfb28e9c1cec8c1d2
(cherry picked from commit f9180c4a36fb8874fc0211f05a1eebaceb67aa0c)
2025-04-09 13:25:44 +00:00
Reedy
9c9440249f RELEASE-NOTES-1.43: Update
Change-Id: Iad6fb917ffa7d274268c0d22a9be0215c281ff2f
2025-04-09 12:46:31 +00:00
jenkins-bot
334b860bc7 Merge "block: Fix DBS::acquireTarget() race using GET_LOCK()" into REL1_43 2025-04-08 23:04:22 +00:00
Bartosz Dziewoński
0d5d80b7e1 LanguageConverter: Only set mTablesLoaded once they're really loaded
If something inside the callback above throws an exception (e.g.
`parseCachedTable()` when the database is down), and it is caught,
`$this->mTablesLoaded` and `$this->mTables` will be left in an
inconsistent state for the rest of the request, causing confusing
errors elsewhere.

Bug: T388807
Change-Id: I79704d6d5c03d5e028c0c762a37fd55b953a4a6a
(cherry picked from commit 6d4f287059521fd4e7fe094ccb00aca54906b31f)
2025-04-08 08:34:42 +00:00
Translation updater bot
b1d2516673 Update git submodules
* Update skins/Vector from branch 'REL1_43'
  to a4a127342e106a27d89253921cc771a978523a68
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I9189d564e985d3115d39dc29d2894421c0c491d4
2025-04-08 06:32:33 +00:00
Translation updater bot
9e555977c4 Update git submodules
* Update skins/MinervaNeue from branch 'REL1_43'
  to 9dfbada4fe1994e279828289a424ecbfdc8b754c
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I54de52119783721703597574d7f2f6289c2db456
2025-04-08 06:32:29 +00:00
Translation updater bot
455e31f96f Update git submodules
* Update extensions/VisualEditor from branch 'REL1_43'
  to b890dad267289a9ecec8c02c3e6fedc957948e9f
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ic7a4e06cc699ce46a339ffdbdb56f67e6be8a24c
2025-04-08 06:31:08 +00:00
Translation updater bot
234836ce4e Update git submodules
* Update extensions/TemplateData from branch 'REL1_43'
  to 514b72c1cd263c641d0fcf6eb6e564eec8b5f593
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I6379ffa6a64588002bb3c09704be965b326b5488
2025-04-08 06:31:07 +00:00
Translation updater bot
1f16ae2b3c Update git submodules
* Update extensions/TitleBlacklist from branch 'REL1_43'
  to 8e8ebe02588343ea0d0c44095c2765632194f241
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Icb7281fa197293315391243f8784a1500b2e3999
2025-04-08 06:31:03 +00:00
Translation updater bot
b6e85e7436 Update git submodules
* Update extensions/WikiEditor from branch 'REL1_43'
  to 67f6158919d1d2e0de0a716c7cf4f7fbd240445a
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I1f4573b9768b025f17c6d20884fb75dc4fd91790
2025-04-08 06:30:47 +00:00
Translation updater bot
1a436f26a7 Update git submodules
* Update extensions/Thanks from branch 'REL1_43'
  to 40a5ba7f417f895a14f5289ed87f01b28a390ecb
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I0529ef09b62f23172f7d5ad4d1a6436e65f74af6
2025-04-08 06:30:43 +00:00
Translation updater bot
c4d37adf81 Update git submodules
* Update extensions/SyntaxHighlight_GeSHi from branch 'REL1_43'
  to c9db27e9a2ebda84c34093152b271bf5144ec26a
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I31f97c6fb5ef88ac605e341e29d028a7cd07c00b
2025-04-08 06:30:38 +00:00
Translation updater bot
715950351e Update git submodules
* Update extensions/DiscussionTools from branch 'REL1_43'
  to c834d0c8b36148162bf07ac0119a19e826411aaf
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I93d89edf1ac33b61a78644df6f91707ee6d16fd7
2025-04-08 06:30:25 +00:00
Translation updater bot
e9ad888179 Update git submodules
* Update extensions/LoginNotify from branch 'REL1_43'
  to 4d98bf8ce172857c9eb274b321bc6e4bd266f93b
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I62f7463dd2dcb118cb4bd9311e2cc608af804c6c
2025-04-08 06:30:20 +00:00
Translation updater bot
f8814d2146 Update git submodules
* Update extensions/Gadgets from branch 'REL1_43'
  to 94c0d38d5a5810b4cce22963a44aceb5e8dc1fd1
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I60fc02246401ef8095232e77fe082d902e0b3ac1
2025-04-08 06:30:11 +00:00
Translation updater bot
dc8cfd58fd Update git submodules
* Update extensions/ConfirmEdit from branch 'REL1_43'
  to 4787b2e4be1886ab077a01f9e7d81aa0b28ca7af
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I9ba6b18fc17e045f3fa266df39774d55426b4bb0
2025-04-08 06:30:06 +00:00
Translation updater bot
bed4178292 Update git submodules
* Update extensions/OATHAuth from branch 'REL1_43'
  to 53f358b6ede92fce271c18d121de35ab53f9b8f2
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I2e1a81e1fea07d4f2e536564f4219b1acd77cb87
2025-04-08 06:30:05 +00:00
Translation updater bot
912c78fc13 Update git submodules
* Update extensions/Nuke from branch 'REL1_43'
  to 45f54278c22d5f6d7af8ed47f2e0517ee725d070
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I47030b518a7df5d9007f681763b1bec54e652db6
2025-04-08 06:30:04 +00:00
Translation updater bot
b6a50b024d Update git submodules
* Update extensions/Math from branch 'REL1_43'
  to 2360e60228dcac111f2063feb5104ab84878a898
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ie4b516b2f3d27ca5672255c78de132c2bf623b91
2025-04-08 06:30:01 +00:00
Translation updater bot
8aa25dd172 Update git submodules
* Update extensions/Echo from branch 'REL1_43'
  to 951879a4181162f93b2d409a5374bce785eaf8f2
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Id53684b396220015d3867a09d14355f8fceb9d88
2025-04-08 06:29:51 +00:00
Translation updater bot
8e810551cd Update git submodules
* Update extensions/CiteThisPage from branch 'REL1_43'
  to 8daea44797f0be0fd876ffa66e0a433c9df86ac1
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I61d498ec32608a140784ce5a5b68021751730565
2025-04-08 06:29:20 +00:00
Translation updater bot
1cd897e5ee Update git submodules
* Update extensions/Cite from branch 'REL1_43'
  to 3966086815ff3cbb19f0bf47de37af1d1d4985f2
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I3dc69387a3d5267b9bac2f83be1faf2c18c87f03
2025-04-08 06:29:14 +00:00
Translation updater bot
c50d8080b7 Update git submodules
* Update extensions/AbuseFilter from branch 'REL1_43'
  to af756eb77c53b5e9440e3f96373dc87ae1dbbf11
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ic8baddfab22267d0f37533c38dec9d9dd8aabe55
2025-04-08 06:28:35 +00:00
Translation updater bot
ae9f56c1ed
Localisation updates from https://translatewiki.net.
Change-Id: I51b847bec127822655ffbdd08b19bfe05cddcec7
2025-04-08 07:34:00 +02:00
Tim Starling
edea1bc177 block: Fix DBS::acquireTarget() race using GET_LOCK()
A crude solution for the acquireTarget() race condition. Use SQL
GET_LOCK() to lock the target from the acquireTarget() call until the
transaction is committed.

Add FOR UPDATE to the acquireTarget() SELECT, otherwise it just sees the
snapshot version of the row and inserts a new row anyway.

Add a test which reliably failed prior to the change.

Reword the ipb-block-not-found message. This is normal for simultaneous
blocks of the same target. Don't contact us. In the API, remap it to
"alreadyblocked".

Bug: T389028
Change-Id: I1fa35bf08d456a93930194786f77df389217ba61
(cherry picked from commit 2b65587e4d92e7f27661e8821b14f74ade939cfa)
2025-04-07 11:43:34 +00:00
Timo Tijhof
b53b5e1d33 REST: Remove unused setUseParserCache() as potential footgun
Added in 2022 with I7d97c9e2d4 (c6a0d433ec) for Ie430acd075
(e82f11c246) which was (after a revert and re-apply) eventually
removed after the warmup completed (I852060c8a4, 3df4952385).

Bug: T322672
Bug: T387478
Change-Id: I1921b4f985fb27b2227aef4a0eba6751c1c0b8d5
(cherry picked from commit 2a5cf3fde93263156557bc1efd21c5a74ce67725)
2025-04-05 11:35:48 +00:00
Tim Starling
66c2681f7c In .htaccess deny files, use "Satisfy All"
These .htaccess files are intended to prohibit all web access. But if
the user sets "Satisfy Any" on a parent directory, in conjunction with
any permissive require directive like "Require all granted", access will
be allowed despite "Require all denied" in .htaccess.

So, override Satisfy so that the "Require all denied" will reliably take
effect.

Note that "Satisfy All" is the default. This only affects non-default
installations.

Change-Id: Ia5862fb69e439b7ea2ed7af011e1ebf8f1b1f6d6
(cherry picked from commit a50d2e69f8ce9e5720b05615d04c35cc9008b6ae)
2025-04-04 13:17:15 +00:00
Bartosz Dziewoński
b3410d433c ChangeTags: Optimize label and description parsing
Bug: T344352
Change-Id: I35ded8970d88bc3798d869e41dd16797d901007c
2025-04-03 18:24:46 +01:00
STran
3df4ed65e5 Parameterize ChangeTags::buildTagFilterSelector to support various tag sets
Why:
`ChangeTags::buildTagFilterSelector` is an opinionated chain of calls
that results in the markup for a select input with specific tag options
(explicitly and software defined tags that have hits). In order to
support customization to the `HTMLTagFilter` widget, add support for
parameters.

These parameters will support filtering for active-only tags or not
and choosing between all on-wiki tags or software-defined tags only.

What:
- Support an `activeOnly` parameter, which will either show all defined
  tags or only tags that have hits (active)
  + For legibility, add `TAG_SET_ACTIVE_ONLY` and `TAG_SET_ALL` constants
    to support this parameter
- Support a `useAllTags` parameter, which if true will use all tags
  and if which false will only use software-defined tags
  + For legibility, add `USE_ALL_TAGS` and `USE_SOFTWARE_TAGS_ONLY`
    constants to support this parameter

Bug: T378622
Change-Id: Ib6ba27944cdf22bdb05dbfd34b2e5f8727261da7
2025-04-03 18:24:39 +01:00
Translation updater bot
fffbe2e7fa Update git submodules
* Update skins/Vector from branch 'REL1_43'
  to b3b626ca4c4c2ad1fd0826df66584e44b0abce9e
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Icf5e320c04f81628b08ed5840b6f652ffa7653ae
2025-04-01 06:23:10 +00:00
Translation updater bot
39a8fd3cd5 Update git submodules
* Update skins/MinervaNeue from branch 'REL1_43'
  to b2ba6a11714b4174e7480812f651f6c025800cde
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I367af2b7e95a4cfe3c494c134b3869d9c880f1aa
2025-04-01 06:23:07 +00:00
Translation updater bot
bcaac4b7a1 Update git submodules
* Update extensions/VisualEditor from branch 'REL1_43'
  to 5ed4cace4d4dabea008aadfbd38eb016dd829262
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I0a4d84e4dfffdc131236b24a4c026e0b0cc17138
2025-04-01 06:22:00 +00:00
Translation updater bot
b355fe2685 Update git submodules
* Update extensions/WikiEditor from branch 'REL1_43'
  to 5849697112b4262b84641b3c75134fc51fce4d7d
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ic554b3e9be177206c1b3e859e332f007683e232c
2025-04-01 06:21:55 +00:00
Translation updater bot
b2c2b34441 Update git submodules
* Update extensions/Thanks from branch 'REL1_43'
  to d9f54da5ea3c26147eb524c057dafddb5111bfc7
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Iabd3669bb4e655160fd8f77402f48566c9b77344
2025-04-01 06:21:38 +00:00
Translation updater bot
9d12554bae Update git submodules
* Update extensions/TemplateData from branch 'REL1_43'
  to b28df6b9e0481eef4b8267f0680b15eae35f01e3
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I258cdf282a7883bee6ccfb88e2e6971a35711a6f
2025-04-01 06:21:36 +00:00
Translation updater bot
1467b97fc8 Update git submodules
* Update extensions/ReplaceText from branch 'REL1_43'
  to f5d1655cb951c223b651b995026a1277a9f54687
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I862f888cb58f33f8804406ec73e8ae3c45b69c79
2025-04-01 06:21:22 +00:00
Translation updater bot
08d7901882 Update git submodules
* Update extensions/OATHAuth from branch 'REL1_43'
  to 29a92b55cf924904ce4db26480a04640b4d75bb8
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I488e0d21c7e161c4cfb5e86b1435c8319f4a57ee
2025-04-01 06:21:01 +00:00
Translation updater bot
ad3253290c Update git submodules
* Update extensions/Math from branch 'REL1_43'
  to 5cb946d0414a88e4dfb987c4b2c8f914fcdd4512
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I3f0137fd8acaee8008c71cd41df6f941546ba0c7
2025-04-01 06:20:52 +00:00
Translation updater bot
e5633a537c Update git submodules
* Update extensions/LoginNotify from branch 'REL1_43'
  to 704c0935c328a6d54ac9de35d267d20bafa95662
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ib9b795ec6d16de89318e44bcf068f440166aeca7
2025-04-01 06:20:45 +00:00
Translation updater bot
e44b7a2e21 Update git submodules
* Update extensions/Gadgets from branch 'REL1_43'
  to dbb306d688eff92960462d6665a813dfb1e473aa
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I9d8b307f104f8bfd1e7499860ad73389ceec53b2
2025-04-01 06:20:21 +00:00
Translation updater bot
19e4ba3c6c Update git submodules
* Update extensions/DiscussionTools from branch 'REL1_43'
  to b393b26919e8b0569f20fb92e346bae4d3bce6fe
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I7659470856cf85aa8fd0440587adbf0fa144622e
2025-04-01 06:20:05 +00:00
Translation updater bot
813d65e4fe Update git submodules
* Update extensions/Echo from branch 'REL1_43'
  to 1d763647b62657e2e6ef1f9de634e22c5addbed5
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I15a4e3b176374b0651167fc50d7b02f4a8ec4303
2025-04-01 06:20:04 +00:00
Translation updater bot
1036ed6223 Update git submodules
* Update extensions/ConfirmEdit from branch 'REL1_43'
  to 6e607bd765d7c7aee9953740d43be5af34b62449
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I167c54df611c9b640a713c4f4901b64f084e29a3
2025-04-01 06:19:46 +00:00
Translation updater bot
655a38e89e Update git submodules
* Update extensions/Cite from branch 'REL1_43'
  to 059a478748aeb63ebe96c10b33bcedc46bd993d4
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I66b42034141c63e577f0fc466b8b5d57605b5c0f
2025-04-01 06:19:34 +00:00
Translation updater bot
02c32c733c Update git submodules
* Update extensions/CategoryTree from branch 'REL1_43'
  to 577b42353f8201e5499e55cf91175293ee3c9ef7
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I988976cada0dc18f10eb81e33e40d44c5b4d45e1
2025-04-01 06:19:34 +00:00
Translation updater bot
5d93769bb0 Update git submodules
* Update extensions/AbuseFilter from branch 'REL1_43'
  to 40818d5f14e24216685d3d7b102226e1f9c9e09b
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Iccd75cd10d0fd87fc5a26efe4a56bd94465aaad9
2025-04-01 06:19:03 +00:00
Translation updater bot
9de43c4fca
Localisation updates from https://translatewiki.net.
Change-Id: I8d8f8f876ce596712cfa46ec6d774ad14e5b8c1b
2025-04-01 07:32:43 +02:00
Paladox
625bdfe7e1 FileBackend: PHP Deprecated: strrpos(): Passing null to parameter #1 ($haystack)
```
PHP Deprecated: strrpos(): Passing null to parameter #1 ($haystack) of type string is deprecated in /srv/mediawiki/1.42/includes/libs/filebackend/FileBackend.php on line 1588
```

Bug: T384851
Change-Id: I36c401587d94e7c1ab444d355b03ea88da8fb6e8
(cherry picked from commit 1a4d7d410c527f6a9f57b5c3e6f733a4a64f41c1)
2025-03-31 19:20:25 +00:00
Daimona Eaytoy
0d70488f4c Update git submodules
* Update extensions/AbuseFilter from branch 'REL1_43'
  to a57f0700a4443585a50e09bef9c237b4fb8a650b
  - Parser: avoid PHP warning for unterminated escape sequences
    
    If an escape sequence is not terminated (i.e., there is not character
    after the backslash), then the whole string isn't terminated either. So,
    throw an exception immediately, rather than trying to get the next
    character, emitting a PHP warning in the process.
    
    Bug: T390416
    Change-Id: Iff8a86add30048efd6ccec454f790a1ce77f1414
    (cherry picked from commit ec7f90efb0681d9939009a6d9e00ba99ffa6ec91)
2025-03-31 16:41:27 +00:00
jenkins-bot
52b83f2930 Merge "Fix GREATEST usage in site_stats" into REL1_43 2025-03-30 10:12:56 +00:00
Pavel Astakhov
1e01994f4b Update git submodules
* Update extensions/Echo from branch 'REL1_43'
  to 629e7a3ce07e7d987895315ef6bf9de32261f390
  - Fix for Watchlist Notifications for deleted pages created in 1.35
    
    Bug: T286192
    Change-Id: I9d4ab915ca33a3d52018470f1147eb77f5590c86
    (cherry picked from commit 4c35cecea0f7cd43b08fbc462faacc09005306ff)
2025-03-29 11:58:58 +00:00
Kosta Harlan
46f03c3b04 Update git submodules
* Update extensions/ConfirmEdit from branch 'REL1_43'
  to ffcbccd61e08481966fb56246bc620f5cdc39b83
  - CaptchaPreAuthenticationProvider: Improve log messages
    
    Why:
    
    - We want to distinguish between showing a CAPTCHA and submitting
      one, and also have some more meta data for processing logs
    
    What:
    
    - Clarify the log message action, event type, and fall back to 'unknown'
      for cases when the CAPTCHA is shown on login before any submission
    - Add the user agent to the login and account creation messages
    
    Bug: T379178
    Change-Id: Idaeec7689629e2a79b5188f57c9f5c003fd4b31c
    (cherry picked from commit 64ab657ef2e2fb911ebd4817a1bfde0e4e71f86c)
2025-03-27 22:37:17 +00:00
Reedy
50144c026f Update git submodules
* Update extensions/ConfirmEdit from branch 'REL1_43'
  to c1192fcbfcd71446ef979d8c1e83a0af6cde3ee1
  - CaptchaPreAuthenticationProvider: Check if a login attempt would trigger a captcha in testForAuthentication
    
    Bug: T379178
    Change-Id: I1ec25cadafee404801727c8d716b864bd34b31b6
    (cherry picked from commit b02ab0936ae5c6af3c33ac18934b0e07f17961eb)
2025-03-27 21:03:32 +00:00
Kosta Harlan
38f8147f66 Update git submodules
* Update extensions/LoginNotify from branch 'REL1_43'
  to b3c78b992ea01b11fba41496826739f8d1e67341
  - LoginNotify#sendNotice: Add IP and UA to log message
    
    Why:
    
    - IP and user agent are important for being able to trace abuse of
      logins
    
    What:
    
    - Add the request IP and user agent header to the log message
    - Update the doc string to specify that 'login-success' is also a
      possible parameter
    
    Bug: T390141
    Change-Id: Ib66f06965c872e234ffe2c03d4a5553a20b4c7e0
    (cherry picked from commit 0a22ef37fd69aebecb5b8ac9c192e34cefa3f3eb)
2025-03-27 20:56:46 +00:00
Kosta Harlan
d170e39086 Update git submodules
* Update extensions/ConfirmEdit from branch 'REL1_43'
  to 2251b9e8d410252f21f5b7af4180f55cb3e0e3d0
  - CaptchaPreAuthenticationProvider: Run triggerCaptcha for login attempts
    
    Why:
    
    - Extensions may want decide if ConfirmEdit should show a CAPTCHA on a
      login attempt
    
    What:
    
    - Invoke the onConfirmEditTriggersCaptcha hook on all login attempts,
      not just bad logins
    - Fix incorrect log message variable from earlier code
    
    Bug: T379178
    Change-Id: I2e9a1af2e567baf3d9aa55b70c74fef8711f8bf0
    (cherry picked from commit bc0c157c1d42dc14c594553c097dc013e3c7c9c0)
2025-03-27 17:27:30 +00:00
Amir Sarabadani
2d7681c4c2 Update git submodules
* Update extensions/ConfirmEdit from branch 'REL1_43'
  to 0ac16f7b26f58c49ffbd212089d4bf86d7e5b3f4
  - LoginAttemptCounter: Add extra hardening for long period too
    
    The current method of showing captcha with 3 attempts in 5 minutes is
    nice but it would be even better to show captcha in more attempts but
    longer period of time, the default roughly translates to showing captcha
    if bad login is more than 100 times in every day.
    
    It is extremely ugly but it already has todo to migrate to Throttler,
    once that's in place, it could be simplified a lot.
    
    Change-Id: I8bfcd52f4c77946182ca7c58b31fd8b38bbcd3cf
2025-03-27 16:36:10 +00:00
Reedy
3c3df66d49 Update git submodules
* Update extensions/ConfirmEdit from branch 'REL1_43'
  to c1e4a5867d3aa79581b8208503b09bc3a7b4d8c4
  - Attempt to more consistently document $wg values in extension.json and README
    
    Change-Id: I83ae3dc8a2bd1d9e4655eba1d8da5e5974930357
    (cherry picked from commit 12490340ff549d4dcdca01baf6e075f1da0f2baa)
2025-03-27 16:35:06 +00:00
Hannah Okwelum
73e6a29fed ResourceLoader: update wikimedia/minify to 2.9.0
Bug: T390063
Bug: T277675
Depends-On: I649b08e9b09e12a949f9cb92de501c0db9dd5c94
Change-Id: If12936df3910fe94c254d9caf6a3c7be65dcc15f
(cherry picked from commit c324214f5242bbb05c2ebfb98da56d949ed67263)
2025-03-26 21:44:50 +00:00
Reedy
4ace00fb61 Update git submodules
* Update vendor from branch 'REL1_43'
  to 896450559565b2e84cf3a0c7804bcadbd92f6230
  - Upgrading pear/net_url2 (v2.2.2 => v2.2.3)
    
    Bug: T388273
    Bug: T388335
    Change-Id: Id55ff9f8922ba4f6a0e551c4f789aecc1f0370ce
2025-03-26 21:44:08 +00:00
Hannah Okwelum
918f27cf1f Update git submodules
* Update vendor from branch 'REL1_43'
  to 9ec265577bdc88b90cb1f6c930327895ad62c9f0
  - update wikimedia/minify to 2.9.0
    
    Bug: T390063
    Bug: T277675
    Change-Id: I649b08e9b09e12a949f9cb92de501c0db9dd5c94
2025-03-26 21:43:58 +00:00
Hannah Okwelum
25f948dc38 ResourceLoader: update wikimedia/minify from 2.8.0 to 2.8.1
Bug: T387507
Depends-On: I763ffc4af1cb24fb4b38d1b854c919e2d7acc916
Change-Id: I1d4150cb7f6c04284bb984232447af8b14be22c4
2025-03-26 15:17:31 +00:00
Hannah Okwelum
78b83037a8 Update git submodules
* Update vendor from branch 'REL1_43'
  to 90f72c38f12c062081a2089663f33f778651c20b
  - update wikimedia/minify to 2.8.1
    
    Bug: T387507
    Change-Id: I763ffc4af1cb24fb4b38d1b854c919e2d7acc916
2025-03-26 15:17:10 +00:00
Translation updater bot
5976d8f157 Update git submodules
* Update skins/Vector from branch 'REL1_43'
  to e2f121833a9254f10c2dcbfe2c434e3169929c5f
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Id2f40caae32c4b9937fba8e11b34cf9d37ec6a11
2025-03-25 06:34:07 +00:00
Translation updater bot
85cff63f4b Update git submodules
* Update skins/MinervaNeue from branch 'REL1_43'
  to d2999cd21fea9083a7604b0e12b1294e336e5997
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I79ddb7c02e234df70d01580a99c19dbf3f5caf0b
2025-03-25 06:34:06 +00:00
Translation updater bot
8d28834b6e Update git submodules
* Update extensions/WikiEditor from branch 'REL1_43'
  to a15547438ff89a8d88d23d7a4f579443b9f531a3
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ie0e8746806c2886ef1a4020867e14f9748e012e2
2025-03-25 06:32:54 +00:00
Translation updater bot
9cb8428a5d Update git submodules
* Update extensions/VisualEditor from branch 'REL1_43'
  to 6870ad5844b8345d2e30230f3e5ea48dae2c7f70
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I35f64cd13fcf1e3e959d7437f5c1dfe174543fbd
2025-03-25 06:32:51 +00:00
Translation updater bot
c557011cfa Update git submodules
* Update extensions/Thanks from branch 'REL1_43'
  to 8a44d9d2048f16c8873af72df39daf2e5a276eac
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I2febc43dac3d9bd6fab06c4746bb912aabf6896f
2025-03-25 06:32:35 +00:00
Translation updater bot
8fe43eb4c8 Update git submodules
* Update extensions/SpamBlacklist from branch 'REL1_43'
  to b7e906f612971a9de2c64eaeb5c2104b60fc6109
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Id3392e57a0de39c8c170df1adbf68a65b42184fe
2025-03-25 06:32:33 +00:00
Translation updater bot
235797a912 Update git submodules
* Update extensions/TemplateData from branch 'REL1_43'
  to 107821689360855c570cae58d6483c520ae46d0f
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I9b150c0aa2f4c3d5a34079eadf2bdb271eea6a88
2025-03-25 06:32:32 +00:00
Translation updater bot
3bf6000b0c Update git submodules
* Update extensions/PageImages from branch 'REL1_43'
  to d180283a0d786e122899287efa0160690e8f33e4
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I86c242f3a10e361a81a9870c7c7fc0fddc510a1c
2025-03-25 06:32:19 +00:00
Translation updater bot
508e492bf0 Update git submodules
* Update extensions/Nuke from branch 'REL1_43'
  to 0326b9f4ebb91b220a99a92251710c13bd33298e
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I787ee6ab4947a73465ec1781eee2c948e81e1dcd
2025-03-25 06:32:09 +00:00
Translation updater bot
049ed85c32 Update git submodules
* Update extensions/MultimediaViewer from branch 'REL1_43'
  to df4c8ca9c2045ed05ed27f00c7810b62d8483089
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I2931f5ccb76e1ddd25abad450bfd8e8ae588f25b
2025-03-25 06:32:08 +00:00
Translation updater bot
ac7c035527 Update git submodules
* Update extensions/Math from branch 'REL1_43'
  to 820a7e391fe3527e91fd53c8656a4dc698f28d09
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I82a78d8ca1021bd610daac853a3ea074d8b6e971
2025-03-25 06:31:54 +00:00
Translation updater bot
1691f93aed Update git submodules
* Update extensions/Gadgets from branch 'REL1_43'
  to 5872c102d288b289672fbb08913c0973f6ad6b92
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Id80bfe786b0f68ffa46a28e0c867cac7e5140d61
2025-03-25 06:31:47 +00:00
Translation updater bot
15cfe01e5b Update git submodules
* Update extensions/DiscussionTools from branch 'REL1_43'
  to 42af19725c5e579fdc3c165849e789f6a7cec91c
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I9267321e1dcf1e4b4053573d6e8adda374f1f9b7
2025-03-25 06:31:45 +00:00
Translation updater bot
20d423de95 Update git submodules
* Update extensions/ConfirmEdit from branch 'REL1_43'
  to 51d0661cff6cd0c12c3518ef7ac2d1a4d19692a9
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I708a4f13e6131fc069a3493511c151756c2e9f66
2025-03-25 06:31:44 +00:00
Translation updater bot
2199652ac6 Update git submodules
* Update extensions/Echo from branch 'REL1_43'
  to 221fb808a32fdb544656d161d76b683342708d25
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I4dd9f189b5ae07f83a48dce723fc82e6e960c5f0
2025-03-25 06:31:41 +00:00
Translation updater bot
6f0634c8c4 Update git submodules
* Update extensions/CiteThisPage from branch 'REL1_43'
  to 3fa7f83d96420613a15f389c6fe6e7276563a71e
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I58a250adad85eda3a5fab9e221207b68a61891a4
2025-03-25 06:31:23 +00:00
Translation updater bot
8cff76d6eb Update git submodules
* Update extensions/AbuseFilter from branch 'REL1_43'
  to 6e1f68aa5fcb2c6653a3e526749d3a2dfa941fd2
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Idf0c5b98adad49cb0ae336ad74e19c84f180f23b
2025-03-25 06:31:08 +00:00
Translation updater bot
50fb129172
Localisation updates from https://translatewiki.net.
Change-Id: I0e3e387ab8ffd8d042bb81165a51ffcd6411e050
2025-03-25 06:33:36 +01:00
Timo Tijhof
15b5e46673 Update git submodules
* Update extensions/Math from branch 'REL1_43'
  to 15bb2dd72f9b6bfddfbeeb396dd995d8f6fa75b9
  - tests: Remove redundant WANObjectCache override
    
    Since 2020 with change Ia60cb0bc18b23, the main cache is enabled
    with a hash bag by default (and reset between each test), so this
    override is identical to the default. Since WANObjectCache is a
    wrapper around the main cache, simplify the cases where an override
    is needed, to use the setMainCache() helper instead.
    
    Remove double checking of the fake itself. This is well-tested within
    core already.
    
    Change-Id: Ie63e972c90c9c4187c9ca349a47784ce4136b44c
    (cherry picked from commit f92f8b0702a6367bea32dabb65727ecfca3ba676)
2025-03-24 23:41:43 +00:00
physikerwelt
9078084cc7 Update git submodules
* Update extensions/Math from branch 'REL1_43'
  to 97840f5163427a0dc2847474b7add88b80c671ba
  - Move colors to texutil
    
    * get rid of BaseMapping class
    
    Change-Id: Ifa9f6b52f5a72f0537ddb3ca8845ca12855871c8
    (cherry picked from commit 250ed0688ded65e23812ed3592096ea34aaa09b0)
2025-03-24 22:22:05 +00:00
Reedy
c6aa85d5e5 RELEASE-NOTES-1.43: Update
Change-Id: I90f1b8ddfddfcc5197ab7c2ad9aa16f276cd5067
2025-03-24 14:41:04 +00:00
Dylan F
7071887383 PermissionManager: Differentiate between cascading protection of file content and file pages
This patch reworks RestrictionStore::getCascadeProtectionSourcesInternal
to return a third and fourth array:
* One for cascading restrictions originating from templatelinks
* Another for those originating from imagelinks

They are used in PermissionManager::checkCascadingSourcesRestrictions
to differentiate cascading protection of file content and file page,
but could also be used in the future by action=info and other callers.

Bug: T24521
Bug: T62109
Bug: T140010
Change-Id: Ia5863f418538106f4fd657c672298ff6ac835805
(cherry picked from commit 7a4952ef2c5d593fae9419bad39f3e9894f42adf)
2025-03-24 13:31:34 +00:00
Func
06b9aa64b2 Apply proper restrictions on file revert action
Users should have 'reupload' or 'reupload-own' rights to do file revert.

Bug: T304474
Change-Id: I2d0eaeeea237286741708c2b5920fe7cca3acf50
(cherry picked from commit 7b4aee237e257954195c4d695b2cfe2a9a3b4116)
2025-03-24 12:55:44 +00:00
physikerwelt
524b93e175 Update git submodules
* Update extensions/Math from branch 'REL1_43'
  to 748f51c19da40b4f9593fcc5b19776bb17237a3f
  - Pass state by reference
    
    The idea of the state is that it can be changed. However, the
    variable was not passed by reference.
    
    For example, the derivative after det was applied twice.
    
    Bug: T386562
    Change-Id: I91b79418e4f1e33b2c54fad1ca1513f129d6c508
    (cherry picked from commit ae5c056802d27801ab7d06e4aa1987528b91e0a9)
2025-03-24 10:21:37 +00:00
physikerwelt
94f5746442 Update git submodules
* Update extensions/Math from branch 'REL1_43'
  to 5adac37483bd0520d1eb59867b655005243582c1
  - Add documentation
    
    Move texvc documentation from
    https://gitlab.wikimedia.org/physikerwelt/texvcjs/
    
    Change-Id: I5bd2b15f8495a7d58ec04d153aab855f4be46342
    (cherry picked from commit f58559d80505634292b2fb5cd1dd882e0a8482e1)
2025-03-24 04:41:03 +00:00
physikerwelt
cad765a4ab Update git submodules
* Update extensions/Math from branch 'REL1_43'
  to 6908428092ea76082a2e0e8b2948f1ca50091739
  - Add some tests regarding operators
    
    Change-Id: I5b0d94a6929ed7ff41e1609164acab0a8433021a
    (cherry picked from commit 03e3399165f15eb8ecd59afe9de01f3b538d252d)
2025-03-24 04:41:03 +00:00
Umherirrender
6b206448d6 Update git submodules
* Update extensions/Math from branch 'REL1_43'
  to 630aac46937fabee697e7f059f80dd142d841e91
  - Improve Nodes documentation
    
    Classes in MMLmappings are under refactoring, so no changes done there
    
    Change-Id: I3e450a02ec401ae780f037aa08edb68df173e3d0
    (cherry picked from commit 6d0e8012c16cd79f279884b919c956699e61d44d)
2025-03-24 04:41:02 +00:00
Umherirrender
af5210cc91 Update git submodules
* Update extensions/Math from branch 'REL1_43'
  to 183aeb7320b7924a0c1394e5c2fa373a894ed57e
  - Add various function documentation
    
    All cases using union types or mixed type, it is not possible to use
    type declaration with php7.4 for this functions.
    
    Change-Id: I347d55324001bcaacbe1ba8abacc6d953af530ec
    (cherry picked from commit bee3ac6690f6d67cbaab5a6e90eecf3b6d9f6e3f)
2025-03-24 04:38:17 +00:00
physikerwelt
cf0803adc1 Update git submodules
* Update extensions/Math from branch 'REL1_43'
  to 883be554dbca6a681f12fd44d2efdda153844d39
  - Fix: rendering of _1
    
    _1 was converted by the preprocessor to
    \displaystyle _1 and the DQ node got
    \displaystyle rather than an empty node as input.
    
    This change renders the base (here displaystyle) and
    checks if the result is empty instead of checking
    if the input is empty. Thus, both variants
    {}_1 and _1 render correctly
    
    Bug: T386071
    Change-Id: I0366a8d6636368d437c9905961989e9882d4e1f6
    (cherry picked from commit b4f3514c2a27c948074cf2f61b88e85c58cf9dd6)
2025-03-24 03:44:27 +00:00
physikerwelt
acec231912 Update git submodules
* Update extensions/Math from branch 'REL1_43'
  to 27a8b844f9114dae0769682f75c562e2dfd81937
  - Improve TexUtilTest
    
    Split set test and soft test.
    Remove legacy separation to sets and maps.
    
    Change-Id: I2ec4a0ae1a05837e6d870ed1f4fac84e1bc5d255
    (cherry picked from commit b63bae6aad9dfceded134652f597a02cd35b2ad4)
2025-03-24 03:44:26 +00:00
physikerwelt
4788141743 Update git submodules
* Update extensions/Math from branch 'REL1_43'
  to 1fa6908c540f83d4a4d0ff3f4f74b04e5e7b08f2
  - Add changes test
    
    The native Math rendering mode is transitioning into
    a more stable state. To avoid regression, we start
    adding changes test to avoid unintended side effects
    for modifications made. The maintenance script
    provides a mechanism, to easily update the references
    after manual review.
    
    When creating the *unit* tests it was required to
    move forward with refactoring the code to better
    support the concept of services. Thus new service
    injection was added to make the code testable by
    unit code without to disable the old entry paths.
    
    The newly introduced property, rawError is a
    workaround as it calls
    
    \MediaWiki\Message\Message::fetchMessage
    
    which relies on MediaWikiServices to be present.
    
    Bug: T386071
    Change-Id: I52c1b23194dda41a85e28d436a62d34a19154783
    (cherry picked from commit 1916e4cf21ce6944ab99d241508bc128fbfa3f84)
2025-03-22 22:53:42 +00:00
jenkins-bot
ac64365820 Update git submodules
* Update extensions/Math from branch 'REL1_43'
  to f28d9ba2668e982bff5febff4a04e1dcbe46bbbb
  - Merge "Add type annotations to TexUtil" into REL1_43
  - Add type annotations to TexUtil
    
    Add method return type annotations to TexUtil class
    
    Bug: T385953
    Change-Id: I9586718cabce6bc0db977ddc6f845c83c6b6cff5
    (cherry picked from commit 5f2bfac605239029d2d378040585b516889df40d)
2025-03-22 11:20:17 +00:00
jenkins-bot
eae3b30051 Update git submodules
* Update extensions/Math from branch 'REL1_43'
  to 5b1e4e0c6e2af19916579ba481e62d80a88211f5
  - Merge "move base macros to texutil" into REL1_43
  - move base macros to texutil
    
    * remove getCancelByKey as it only used in tests
    
    Change-Id: Iabfd90f3d8b97a388084463bfd1a960093f30666
    (cherry picked from commit 59c6f1bfba7fd60d28b4c00aed06896f8dd74421)
2025-03-22 11:20:15 +00:00
jenkins-bot
5389ce9f54 Update git submodules
* Update extensions/Math from branch 'REL1_43'
  to e34209700a1e24ed03c3479b8bd5e0b82643a59f
  - Merge "Remove AMSMappings" into REL1_43
  - Remove AMSMappings
    
    They are already fully integrated into texutil.
    
    Rename the _rendering groups to callback.
    
    Add convenience function to sort texutil.json
    
    Change-Id: I059e2c75f990870389654c8df9b77bad4805b5b2
    (cherry picked from commit 28cffd95865682f3258c67614ee12fffcc727ee1)
2025-03-22 11:20:15 +00:00
jenkins-bot
62d79a5ac8 Update git submodules
* Update extensions/Math from branch 'REL1_43'
  to ac44af496efd845c773df643de0d79501c5c661e
  - Merge "Move special functions to texutil.json" into REL1_43
  - Move special functions to texutil.json
    
    textvisiblespace rendering does not exist.
    
    Change-Id: I504f3ed0f5d68589750ed5f6c0048cb5130027e2
    (cherry picked from commit 88120e016ce87324a11a7baeb529b0a947cacc00)
2025-03-22 11:18:11 +00:00
jenkins-bot
8f3f0567c1 Update git submodules
* Update extensions/Math from branch 'REL1_43'
  to 3a4f1abbc56810fa3c2c798752439a11cced9ef1
  - Merge "Move special functions to texutil.json" into REL1_43
  - Move special functions to texutil.json
    
    Only tilde exists.
    
    See T385953 for the removal of callback
    
    Change-Id: I9ebff23424b9bb1c137084202277d912108b195a
    (cherry picked from commit e9e45ebc182ddb85fd52c1604ef2d2c06bcc3e86)
2025-03-22 11:18:10 +00:00
jenkins-bot
3e28241bbd Update git submodules
* Update extensions/Math from branch 'REL1_43'
  to 5fd2fe79b5e841d6b0b8d039b9dae5c114981a7a
  - Merge "Move mhchem functions to texutil.json" into REL1_43
  - Move mhchem functions to texutil.json
    
    Instead of using a dedicated mhchem_rendering we use callback
    as a group. By doing so the nested if-statement in BaseMethods
    can be removed step by step.
    
    Change-Id: Ie8cac74b77bee8214b10752e0a9e7052a93ba433
    (cherry picked from commit 8e0c072e2a44ca78cd4f000140a036c9aa46fc90)
2025-03-22 11:12:16 +00:00
jenkins-bot
d5fc1bd3fc Update git submodules
* Update extensions/Math from branch 'REL1_43'
  to 3daf7ed9b8c7d18ff4b8f08a077f33a03cdb085b
  - Merge "Move base operators to texutil.json" into REL1_43
  - Move base operators to texutil.json
    
    Include "-" as a regular operator. Follow the same logic as done in
    I9b8ed15fd71f9c7bf3e9747a497b9068f69047fe.
    
    Change-Id: I1bb409d6bbcb7472af755cecc10208ae590d668e
    (cherry picked from commit ed9aac47fbed9d075dc5128409ee922951d09553)
2025-03-22 11:02:44 +00:00
jenkins-bot
fc18ee4405 Update git submodules
* Update extensions/Math from branch 'REL1_43'
  to a60b606324bbf3052b1f4e39060fed2ac004abc2
  - Merge "Move AMS macros to texutil.json" into REL1_43
  - Move AMS macros to texutil.json
    
    Remove pointers to not yet implemented rendering functions.
    
    Bug: T385936
    Change-Id: If2cf4abfac8e026a8df831e5f005dd0ba6877799
    (cherry picked from commit 866e5c7e2b2e032935a85ab1662e7d983ec56f42)
2025-03-22 11:01:53 +00:00
jenkins-bot
30acb0e734 Update git submodules
* Update extensions/Math from branch 'REL1_43'
  to 5db9003e68b892cd0899728b55176f895370cde4
  - Merge "Move AMS environments to texutil.json" into REL1_43
  - Move AMS environments to texutil.json
    
    Keep all unused environments and potentially superfluous parameters
    for now. Remove environments which are not implemented.
    
    Change-Id: Ic17c3423db66416330b2a025d767fce7b204cb9e
    (cherry picked from commit cfcdfac07d74804ad5d29945972fe4c73b7370be)
2025-03-22 11:01:52 +00:00
jenkins-bot
73b9bdc032 Update git submodules
* Update extensions/Math from branch 'REL1_43'
  to 1cc0a06b26855aa3546a256445ac1ffd27206bc8
  - Merge "Move AMS operators to texutil.json" into REL1_43
  - Move AMS operators to texutil.json
    
    Change-Id: I9b8ed15fd71f9c7bf3e9747a497b9068f69047fe
    (cherry picked from commit 80da57b2ed6b508fc40fe29cd5e3db2406639e70)
2025-03-22 10:59:16 +00:00
jenkins-bot
0eb57cbb30 Update git submodules
* Update extensions/Math from branch 'REL1_43'
  to eeab0afe41f27239b856be94aa00f22eeaf1d855
  - Merge "Remove unreachable code" into REL1_43
  - Remove unreachable code
    
    Change-Id: I54d578244e71f2101a6286eb9b66d198b343a198
    (cherry picked from commit 865c92318be92622062acd87075edc62a44d38ca)
2025-03-22 10:53:42 +00:00
jenkins-bot
f872f07160 Update git submodules
* Update extensions/Math from branch 'REL1_43'
  to bbc0e43b733a590d9102b146cb43423ec5dfce8b
  - Merge "WikiTexVC: Document public function in TexNode and sub classes" into REL1_43
  - WikiTexVC: Document public function in TexNode and sub classes
    
    The class hierachy is very big.
    To avoid issues with function overrides, no type declarations are added.
    
    Change-Id: Ieacebc20aac607678c579b72a9d83a262bff2eaa
    (cherry picked from commit 7cdbb8ee980d321cb0e8daf661547240b4929daf)
2025-03-22 10:53:41 +00:00
jenkins-bot
bc0f73f84c Update git submodules
* Update extensions/Math from branch 'REL1_43'
  to aea0d12452049bf28da44eb001d3877ec9f7b307
  - Merge "Add @inheritDoc to functions" into REL1_43
  - Add @inheritDoc to functions
    
    Add @inheritDoc to functions found by the FunctionComment
    sniff to remove the exclusion of the sniff.
    The activated sniff avoids that new code is missing doc comments or
    type declarations for arguments and return value.
    
    Exclude WikiTexVC folder from phpcs to make fixes in separate patches
    
    Change-Id: I9886082467069895247ebf6914aad6f209978b83
    (cherry picked from commit ee278665f5f3dce857041be019dec96802c85f48)
2025-03-22 10:32:34 +00:00
jenkins-bot
ea3673a850 Update git submodules
* Update extensions/Math from branch 'REL1_43'
  to 7266301409196f915f205f6ace9cc3c1fa2b00e5
  - Merge "Avoid null from MathRenderer::isInDatabase" into REL1_43
  - Avoid null from MathRenderer::isInDatabase
    
    readFromCache() is overridden in MathNativeMML class,
    resulting in a null value for MathRenderer::$storedInCache
    Set the class property to the result of the readFromCache() function
    
    Change-Id: Iebb34cb6feed57a8d0ee9c945c5b335356810f2a
    (cherry picked from commit e6d2bda52255085b34bb35f7627f25165d970816)
2025-03-22 10:28:20 +00:00
jenkins-bot
f21876db13 Update git submodules
* Update extensions/Math from branch 'REL1_43'
  to 3475fab44fa9fe1d46fa95291926e88f72d5fe04
  - Merge "Use type declaration on undocumented public functions" into REL1_43
  - Use type declaration on undocumented public functions
    
    Change-Id: Iefd186c95adbf6318c02f36c41a79837df3aa205
    (cherry picked from commit 170da2f16ffa5803d6b929b72c68bf1081db3311)
2025-03-22 10:28:19 +00:00
jenkins-bot
deb3209da9 Update git submodules
* Update extensions/Math from branch 'REL1_43'
  to 9627c9093d537481df2728969b7b65e272344e85
  - Merge "WikiTexVC: Use type declaration on undocumented public functions" into REL1_43
  - WikiTexVC: Use type declaration on undocumented public functions
    
    Change-Id: Ifb503a25509776efc99cf553d4ea961989e72e3e
    (cherry picked from commit 3470e40b7509dee161d293c07ce6cff07a07fa5d)
2025-03-22 10:28:04 +00:00
jenkins-bot
c6a777417f Update git submodules
* Update extensions/Math from branch 'REL1_43'
  to d9c708277c00c53e3773bf49247e00c51977bbde
  - Merge "Handle RevisionedUnresolvedRedirectException" into REL1_43
  - Handle RevisionedUnresolvedRedirectException
    
    MathWikibaseConnector::fetchPageUrl() calls
    EntityRevisionLookup::getEntityRevision() which might
    throw two different exceptions types.
    * Add the previously unhandled exception type
      RevisionedUnresolvedRedirectException
      to the existing exception handler
    
    Bug: T385599
    Change-Id: I02277fd15efb5743f32e78a9d17051d4bd70e9ab
    (cherry picked from commit b6076c405d5b1527c0279fc7c6e925fdc10cfc50)
2025-03-22 10:28:04 +00:00
jenkins-bot
c2e1895f8b Update git submodules
* Update extensions/Math from branch 'REL1_43'
  to b7e3a60a85a02b113a60b8e5a80ce90910d218e6
  - Merge "Move \implies mapping from AMS to BaseMapping" into REL1_43
  - Move \implies mapping from AMS to BaseMapping
    
    \implies was the only (used) macro in AmsMappings
    "SymbolMacros". Moved it th base function.
    \impliedby was not whitelisted and thus not usable.
    
    Change-Id: I2dab96f6e5add1d7f6ccc1c3759df6328163ee2e
    (cherry picked from commit eccfb25981cee660508e055a8fac05604c016a1a)
2025-03-22 10:28:02 +00:00
jenkins-bot
71784e6bdf Update git submodules
* Update extensions/Math from branch 'REL1_43'
  to d8831a4703370b7e806f670bbbacee7524df8661
  - Merge "Simplify delimiter handling" into REL1_43
  - Simplify delimiter handling
    
    Remove special handling for delimiters and
    move all delimiter data to texutil.json
    
    * Unify AMS and non-AMS identifiers
    
    Change-Id: I38fb5ecd928b4091d4b61c4ae8912ffae97c0400
    (cherry picked from commit fa461a1d46a46765825885692ae88fb3491c8fca)
2025-03-22 10:28:02 +00:00
jenkins-bot
fba472f2b9 Update git submodules
* Update extensions/Math from branch 'REL1_43'
  to f2e81d6e0b094912171d00cda836c3b0a94aad92
  - Merge "Simplify AMS delimiter handling" into REL1_43
  - Simplify AMS delimiter handling
    
    Remove special handling for AMS delimiters and
    move all the data texutil.json
    
    Change-Id: Ie1884b4bce853d647a5b4d6d78d43d69aa06c0f9
    (cherry picked from commit 1c456a62dd0ac7406646e81e41b0bfa94321f92a)
2025-03-22 10:12:16 +00:00
jenkins-bot
34338d6624 Update git submodules
* Update extensions/Math from branch 'REL1_43'
  to 3972cff73ebf77e0400f71ec4c83cc8486b1eb42
  - Merge "Add function documentation to protected functions" into REL1_43
  - Add function documentation to protected functions
    
    Add php-doc to undocumented protected functions to complete
    documentation.
    All cases using union types, it is not possible to use
    type-declaration with php7.4 for this functions.
    The activated sniff avoids that new code is missing doc comments or
    real-typehints for arguments and return value.
    
    Change-Id: Iddfa452012c66051bc07de015278a2888afa45e1
    (cherry picked from commit f85b8ea8b00b50947fe3ca466230bf9a340f214e)
2025-03-22 10:12:15 +00:00
jenkins-bot
ec4d9d4a59 Update git submodules
* Update extensions/Math from branch 'REL1_43'
  to 6fa3ba740ecb5d848970bcad906a4c6abb83fbdd
  - Merge "Use type-declaration on undocumented protected functions" into REL1_43
  - Use type-declaration on undocumented protected functions
    
    Change-Id: I45978c1b90fa9b86ffd67fdd3632e7f3cd659ef2
    (cherry picked from commit 1b1a1ff86c07766cf57b2162645b185d02b7d966)
2025-03-22 10:07:44 +00:00
jenkins-bot
628caf3686 Update git submodules
* Update extensions/Math from branch 'REL1_43'
  to a2ab22d8aaa9e96048d4df7d1cd54212dc56e403
  - Merge "Fix rendering of \operatorname{a}'" into REL1_43
  - Fix rendering of \operatorname{a}'
    
    LaTeX allows to render derivatives in combination with
    operatorname in a way tha the derivative is put after
    the operator and before the function application
    space. This mimics that behavior as a special case.
    
    Bug: T384794
    Change-Id: I80c3c314ca0a33b36f5bd993bb3786b8d5dce310
    (cherry picked from commit 05fdce7cc19a5ff8f56612e1f86b225a460c92ae)
2025-03-22 09:23:45 +00:00
jenkins-bot
e8a18516f2 Update git submodules
* Update extensions/Math from branch 'REL1_43'
  to 38a64f9378751dc7ff25b35cf2d0946274a5f9a2
  - Merge "Fix regression regarding empty sideset" into REL1_43
  - Fix regression regarding empty sideset
    
    Bug: T384164
    Change-Id: I46b0fa5f07b84eb05a2695ec1c0342fe8ed84b3a
    (cherry picked from commit 255cc7d3ed4e68a5b7d1ef98545d39bcfa7b2086)
2025-03-22 09:23:04 +00:00
jenkins-bot
036c89d287 Update git submodules
* Update extensions/Math from branch 'REL1_43'
  to db4e7d59ff106de77d57d0c9ee636c91f611fb6f
  - Merge "Add function documentation to private functions" into REL1_43
  - Add function documentation to private functions
    
    Add php-doc to undocumented private functions to complete documentation.
    All cases using union types, it is not possible to use
    type-declaration with php7.4 for this functions.
    The activated sniff avoids that new code is missing doc comments or
    real-typehints for arguments and return value.
    
    Change-Id: I3d0ab428c689f5fcf7b9a4fd3a796a5b23d2c33c
    (cherry picked from commit bd02eed1a4d3142154f0584e0b8e73014a71ba4e)
2025-03-22 09:23:03 +00:00
jenkins-bot
69b872d2f9 Update git submodules
* Update extensions/Math from branch 'REL1_43'
  to 4bcbd077f094acca2bc09f88caca162db65c4842
  - Merge "Use type-declaration on undocumented private functions" into REL1_43
  - Use type-declaration on undocumented private functions
    
    Change-Id: Id34fb56d6b0b88bf20bab4501ea0c6005a9c8812
    (cherry picked from commit c13b21a75783a4b2898910d8153304c02774eba6)
2025-03-22 09:22:06 +00:00
Umherirrender
cb57756c93 Update git submodules
* Update extensions/Math from branch 'REL1_43'
  to 88d0477015d543ba7e913016109debfce1742447
  - Use array as message argument when calling OutputPage::addWikiMsgArray
    
    This is a requirement in MW 1.43 as well,
    per https://gerrit.wikimedia.org/g/mediawiki/core/+/REL1_43/includes/Output/OutputPage.php#4939
    
    Change-Id: I5b3bf8a5766042495b69103542ae4960e1d51140
    (cherry picked from commit 2280511de96f13d5ddd9e8a6066be7a2c4481e9a)
2025-03-22 09:20:09 +00:00
Pppery
b9c99fc622 Fix GREATEST usage in site_stats
For the positive-delta case since the row can't be negative the
`GREATEST` is useless, so delete it. For the negative-delta case do the
GREATEST before the subtraction so that it doesn't try to temporarily go
negative.

Bug: T315573
Change-Id: I0a27a57835048ee6a06266d377ed8f3f52ddf435
(cherry picked from commit 4017d2b6d60c6eb5c02ca48c8d8eeb74a18ba262)
2025-03-20 15:48:17 +00:00
jenkins-bot
46ac6adf85 Merge "Sanitizer::normalizeWhitespace: simplify redundant preg_replace" into REL1_43 2025-03-18 20:22:22 +00:00
jenkins-bot
f0a5bd0c72 Merge "upload: Suppress warnings from iconv()" into REL1_43 2025-03-18 20:17:53 +00:00
David Causse
0f921b7878 Sanitizer::normalizeWhitespace: simplify redundant preg_replace
The extraneous sequence \r\n is not required.
Avoid the use of hexcode to avoid future confusions.

Bug: T388733
Change-Id: I1092ff76ed5e8221e43ea7b70cf0c9d9d3abb1f3
(cherry picked from commit 6753123a0629de81ce4899958180272736e7ba61)
2025-03-18 13:26:43 +00:00
Translation updater bot
dccd645af7 Update git submodules
* Update skins/MinervaNeue from branch 'REL1_43'
  to bd38c5b02e85cb0ca5408826c7e4cc871c91129f
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I00d9e1116abaabd67d495435736aecd107d462a1
2025-03-18 06:15:55 +00:00
Translation updater bot
23ff338b01 Update git submodules
* Update skins/Vector from branch 'REL1_43'
  to c5ec0573677ce3e7de2ccf85c813b3d539b6783a
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I0ec538fe49604bbf5122eacf5170eaf70aff887b
2025-03-18 06:15:54 +00:00
Translation updater bot
254fa8417a Update git submodules
* Update skins/Timeless from branch 'REL1_43'
  to 6f5de50f0204e1018865d99cb3bd25c338ffaa77
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Iff17e34ec6886611fe4b6ba1a115a1e4d3c861be
2025-03-18 06:15:53 +00:00
Translation updater bot
bd22f2cdfc Update git submodules
* Update extensions/VisualEditor from branch 'REL1_43'
  to 7243e625f70df73aff49bbe9e922a0b80ce3523c
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I6ab3c903977bfab1f20e4b8d3c7569b957b67ae7
2025-03-18 06:14:18 +00:00
Translation updater bot
44572db9cf Update git submodules
* Update extensions/WikiEditor from branch 'REL1_43'
  to 0215dfd474dccb4c0d3f5f2fa4e7ade8afb345f9
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I970a76abe2726980ca62f42f23db3b7513f0a016
2025-03-18 06:14:14 +00:00
Translation updater bot
0720a1326e Update git submodules
* Update extensions/OATHAuth from branch 'REL1_43'
  to 8a7a348bbb2d7deec6f1375c94aed126498a7a6b
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ib5ceef530f1ef3c65d63c6912746ed42507b9890
2025-03-18 06:13:31 +00:00
Translation updater bot
d2a94657c0 Update git submodules
* Update extensions/MultimediaViewer from branch 'REL1_43'
  to 7de1fc082e392fd2500e39f6e4db185995e01705
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I101fcfa133d97e57a4c2509e0c05a94062b5e9fb
2025-03-18 06:13:28 +00:00
Translation updater bot
f7511ddf89 Update git submodules
* Update extensions/Nuke from branch 'REL1_43'
  to bd2906d901f1ff08ccc089a63456d9ca8edfaca4
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I3b1197c911a1820a393f7df3dd0bcb9abc5deb22
2025-03-18 06:13:26 +00:00
Translation updater bot
0d6b41d40f Update git submodules
* Update extensions/Linter from branch 'REL1_43'
  to 2d01a58ff49d2eaa15293af109ab3676ffd56c67
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I2708f50468034cbf4cdecbe9efc0e342b811e609
2025-03-18 06:13:15 +00:00
Translation updater bot
ccdf26f106 Update git submodules
* Update extensions/Gadgets from branch 'REL1_43'
  to 52a66e9c54b65a26b90f0f60d301574738d72211
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I037f01c6a5b5cd2f701bfd67741d7c5263bed8d9
2025-03-18 06:13:06 +00:00
Translation updater bot
46a1448b21 Update git submodules
* Update extensions/Echo from branch 'REL1_43'
  to 1ccc4c8ef349c97e0b5e32e4b76162385a78d89a
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ie4b2b6baa1698b53fa3c417832fd8ed192c51ca6
2025-03-18 06:12:56 +00:00
Translation updater bot
9642ac816b Update git submodules
* Update extensions/DiscussionTools from branch 'REL1_43'
  to be350be62c6bcf2210b2e62f6a0c27a5408d4a8c
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ibc91d5f8573fdf4948ffd883ddd61d5ee59a2f09
2025-03-18 06:12:49 +00:00
Translation updater bot
9a34dc4683 Update git submodules
* Update extensions/ConfirmEdit from branch 'REL1_43'
  to 6f7ec2fda6825100042a0d961bbbc0f2c975b943
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I0a710d4348ce0037542eb4a9dd399fd65fd796bc
2025-03-18 06:12:46 +00:00
Translation updater bot
438cb024a8 Update git submodules
* Update extensions/CiteThisPage from branch 'REL1_43'
  to 6d2bfaec94886c06a83c35b454d3a6933f4dfd03
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I139b40dc92197e78022759965f314c745976d5aa
2025-03-18 06:12:34 +00:00
Translation updater bot
50426e2330 Update git submodules
* Update extensions/Cite from branch 'REL1_43'
  to f8e9db88b5cec2f80fa3222aa95379c317b07fc3
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I22c4b9631cb4c9ecde0b019a072be19cb38e0547
2025-03-18 06:12:33 +00:00
Translation updater bot
4d40e99de6 Update git submodules
* Update extensions/AbuseFilter from branch 'REL1_43'
  to 9088f9a734935fbfdbc1cd98b77f60b5c7137179
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ie0ff28a03e2c4445b0a02fe8af0e4e7ab1d210f4
2025-03-18 06:12:00 +00:00
Translation updater bot
b5cdc575de
Localisation updates from https://translatewiki.net.
Change-Id: Iadf6b960fa78aa92aab16b4ea5835d9160237199
2025-03-18 06:31:56 +01:00
Ammarpad
39386a5b7c upload: Suppress warnings from iconv()
iconv() can still emit notices even when '//IGNORE'
string flag is passed.

Bug: T387690
Change-Id: I16f1e99f7c25457aa0b35cb428391c42dec7b91d
(cherry picked from commit 357f2b61e815e071147583e07b388801189462bf)
2025-03-18 00:28:14 +00:00
jenkins-bot
6beb3946d5 Merge "MagicWord::replace*: Make sure we don't pass null into preg_match/preg_replace" into REL1_43 2025-03-17 16:44:20 +00:00
jenkins-bot
f6686ed028 Merge "Sanitizer::normalizeSectionNameWhitespace: Apply same anti-null fix as 270499b" into REL1_43 2025-03-17 16:39:48 +00:00
jenkins-bot
c8358470e4 Merge "ImportImages: Exit with non-zero code if import fails" into REL1_43 2025-03-17 16:37:17 +00:00
James D. Forrester
6b0ed71937 Sanitizer::normalizeSectionNameWhitespace: Apply same anti-null fix as 270499b
Follow-up to 270499b6e1f96f402c852843d446a7946589986b.

Bug: T388728
Bug: T385519
Change-Id: Idae7128c09bcf32a6c2d40e02158902c289898b9
(cherry picked from commit e130d34c15e418004a5ae42c0238206d70b2be0f)
2025-03-17 15:57:07 +00:00
Paladox
e3403e20e2 Html: Fix "substr(): Passing null to parameter #1 ($string) of type string is deprecated"
Bug: T388944
Change-Id: Iaba9973aa774f0bac9cf56efc76bc249d4f578ee
(cherry picked from commit e3dd105b209597ccff5eb8a39e79bdc75c1a9b8a)
2025-03-17 15:54:45 +00:00
James D. Forrester
a2bc03b8d8 MagicWord::replace*: Make sure we don't pass null into preg_match/preg_replace
Bug: T388924
Change-Id: I02a3e724dc614f0a2306548f58f71d16a8a1dc5b
(cherry picked from commit 2e4e9428580d4829911313644913c3c74cf43244)
2025-03-17 14:19:01 +00:00
libraryupgrader
fe57b122b5 Update git submodules
* Update skins/Vector from branch 'REL1_43'
  to 2b70455d8e21e6a30adf3a6092a7e6fed3d1785b
  - build: Updating @babel/helpers to 7.26.10
    
    * https://github.com/advisories/GHSA-968p-4wvh-cqc8
    
    Change-Id: If858909428592f72305f6ec82c078d045ff0e493
2025-03-14 05:28:45 +00:00
libraryupgrader
9a19b57f90 Update git submodules
* Update skins/MinervaNeue from branch 'REL1_43'
  to 9244357acc06522b224f4000a4c6d291b8e004e5
  - build: Updating npm dependencies
    
    * @babel/helpers: 7.23.9 → 7.26.10
      * https://github.com/advisories/GHSA-968p-4wvh-cqc8
    * @babel/runtime: 7.21.0 → 7.26.10
      * https://github.com/advisories/GHSA-968p-4wvh-cqc8
    
    Change-Id: I67b32a436a3d4f65f608071bb50e7cb39515be6a
2025-03-14 05:28:44 +00:00
libraryupgrader
b81d7f3aa0 Update git submodules
* Update extensions/VisualEditor from branch 'REL1_43'
  to a63cd3700c756c1f5b06f66a8aacad1530d44d4e
  - build: Updating @babel/runtime to 7.26.10
    
    * https://github.com/advisories/GHSA-968p-4wvh-cqc8
    
    Additional changes:
    * Enable stylelint caching.
    
    Change-Id: I6403218b9e9df1ad4e3c45cb97f83f31a0e2b061
2025-03-14 03:07:06 +00:00
James D. Forrester
91b4f94a66 Update git submodules
* Update extensions/AbuseFilter from branch 'REL1_43'
  to e28a84d4ee25acd2356a75acc1a45aa58e427fac
  - FilterEvaluator::rmspecials: Disable PCRE JIT for this call too
    
    Bug: T385452
    Change-Id: I4060a8d8e7595945e24b20dbe1b7fdbbaafcdd3a
    (cherry picked from commit 48799b2b94269d5dda700b81b0c6747cb4680576)
2025-03-13 21:41:32 +00:00
Reedy
9967167fca BotPasswordTest: Add a few more test cases provideCanonicalizeLoginData
Bug: T388255
Change-Id: I6e1a6fa8e75f519ccbf3c2bb4de7334f620e2a8e
(cherry picked from commit c8427c97981270a7c24e9f00711cc39bda14889e)
2025-03-13 20:58:18 +00:00
James D. Forrester
68329e412d ApiLogin: Don't break BotPasswords if password or user is blank, just error
Bug: T388255
Change-Id: Ibcc20d345cfe7b9410187a74f79f66c8e2326f2f
(cherry picked from commit 953ec56fa2c053fee514468e5710f706ee7c200c)
2025-03-13 18:44:12 +00:00
Máté Szabó
784b9c4dc4 permissions: Avoid potential infinite loop if BlockDisablesLogin = true
Why:

- PermissionManager::getUserPermissions() checks whether the user is
  blocked if $wgBlockDisablesLogin = true, so that it can then limit
  user's permissions to the set of permissions assigned to unregistered
  users if so.
- This causes the GetUserBlock hook to run, which may itself check
  permissions on the user (e.g. in the GlobalBlocking extension),
  causing an infinite loop.
- Since the decision whether the user is blocked isn't yet final by the
  time GetUserBlock runs, any permission checks triggered by
  GetUserBlock handlers should see the user's full set of permissions.

What:

- Stash the user's permissions in PermissionManager's in-memory cache
  before running block checks if BlockDisablesLogin = true.
- Add tests.

Bug: T384197
Change-Id: I3e3804fe518627e9edc2b574cce88f533fd93fe4
(cherry picked from commit 27062b9f8752cc853a65e8a46c9d7d1a9af32c48)
2025-03-13 00:45:18 +00:00
James D. Forrester
372539d51f Update git submodules
* Update extensions/AbuseFilter from branch 'REL1_43'
  to 1b07dc422e911b003a60c8ab22341bdb3d464ac1
  - FilterEvaluator::rmdoubles: Disable PCRE JIT for this call
    
    Bug: T385452
    Change-Id: Ibb0d747459959ef2621e77fa90e5a945123bec9f
    (cherry picked from commit ab02da1ec83aafb8a291746e84d6e6a6a88e6bed)
2025-03-12 21:31:19 +00:00
Gergő Tisza
b4dc368f72 HttpError: Cast Message to string
In theory PHP should use coerce objects with a __toString method
to string when passing them to a method which has a string-typed
argument, but with the native Exception class this doesn't seem
to be working, so cast explicitly.

Bug: T388171
Change-Id: I310b97164877445837babed2a4c47795f1c2c277
(cherry picked from commit a14ef848f758612ac9d4e8c881ecdbbccf3e1158)
2025-03-11 21:58:06 +00:00
jenkins-bot
c614979c07 Merge "Avoid trying to load the session user in MW_NO_SESSION endpoints" into REL1_43 2025-03-11 11:37:51 +00:00
Translation updater bot
f0a9299191 Update git submodules
* Update skins/Vector from branch 'REL1_43'
  to 9b00e930902b409649c836fd94560867a2ba8f7d
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I5c5928d65464f04b60e704e6a0936ed1f76350ac
2025-03-11 06:27:22 +00:00
Translation updater bot
6b3ffe9294 Update git submodules
* Update skins/MinervaNeue from branch 'REL1_43'
  to 3f46718b9dc7676fdff7ef016000cba4773278df
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I0bb41bffeaeda54df1d18964823e2ecb99de568a
2025-03-11 06:27:19 +00:00
Translation updater bot
b874d634d3 Update git submodules
* Update extensions/VisualEditor from branch 'REL1_43'
  to a33b1d6a45f379b4ddf90e05e0a12c20fdc9eec6
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I3a689f4077c12e2d7f3b0dd90c0eede06d750c85
2025-03-11 06:25:18 +00:00
Translation updater bot
f76adb208f Update git submodules
* Update extensions/WikiEditor from branch 'REL1_43'
  to 6888fa0afe1ccc324fa004d5df2befe10125727b
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ibc5a55be913fb5e1c80c283464fad7a67579c245
2025-03-11 06:25:13 +00:00
Translation updater bot
3643cc58c4 Update git submodules
* Update extensions/SyntaxHighlight_GeSHi from branch 'REL1_43'
  to 6b31118a50245b76a1abec4cba0d64ce30e2a98a
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I4ab8b9b1d87f15586e8a704d29e13dbc770defb6
2025-03-11 06:24:44 +00:00
Translation updater bot
94caf71bc0 Update git submodules
* Update extensions/TemplateData from branch 'REL1_43'
  to 6b5f86a814589e541627369de6a679c43761e509
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I3b83560f8239743641b31604569275b96995b78a
2025-03-11 06:24:43 +00:00
Translation updater bot
c25ceef511 Update git submodules
* Update extensions/Scribunto from branch 'REL1_43'
  to 8deace10329a9aaabe96728b48869caea17e232a
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I127dcd5630bb5b055ecbf800635768ec8eea0ce1
2025-03-11 06:24:36 +00:00
Translation updater bot
b233a7d1af Update git submodules
* Update extensions/ParserFunctions from branch 'REL1_43'
  to 7199d854882d6e63ee9250f1ac8ef79188947465
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I1455caab738edd36886f07ae910a8b4eea7b7d55
2025-03-11 06:24:24 +00:00
Translation updater bot
00a44b81e0 Update git submodules
* Update extensions/OATHAuth from branch 'REL1_43'
  to c2960e3f78c9d5f2420debb5418e01ac6d00f06e
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ie7457c33b865dbc03a199ec1a4a5156893e2093a
2025-03-11 06:24:05 +00:00
Translation updater bot
982b12283a Update git submodules
* Update extensions/MultimediaViewer from branch 'REL1_43'
  to c21ab7d07f6665041c461f120e1e57b8f7ce5f56
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I074741c671495e4e98f4cd212db1f03e086e6fe8
2025-03-11 06:23:56 +00:00
Translation updater bot
4d0294e328 Update git submodules
* Update extensions/Math from branch 'REL1_43'
  to 72a8df832deb95fec4eaace8675b4cc66b42ac3e
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I7c41c6ec10e0d6a81765f30f60532001c5a75d63
2025-03-11 06:23:53 +00:00
Translation updater bot
39da48cfbe Update git submodules
* Update extensions/Linter from branch 'REL1_43'
  to acbc3e38b6174665b03214c8a510351445ec6a3c
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I4b10e27e78ec464de839c58ab94a4e8e3e718328
2025-03-11 06:23:49 +00:00
Translation updater bot
c5969b19db Update git submodules
* Update extensions/Gadgets from branch 'REL1_43'
  to ac63778ed5738eb52e7a9a32a10e81e73a45f8ea
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ie477ebd7cd77554bc2eb7258bc08f3561f8f7982
2025-03-11 06:23:25 +00:00
Translation updater bot
f8ee56060d Update git submodules
* Update extensions/Echo from branch 'REL1_43'
  to 02af04c5e8e4c0494a35e8b3598cfa803c1c87e8
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I4b8eefed6e9ce9e36e2673f1d3509ac7b3165791
2025-03-11 06:23:08 +00:00
Translation updater bot
8cf202f912 Update git submodules
* Update extensions/DiscussionTools from branch 'REL1_43'
  to cc4f3db0ef68367721266b0ff46415feb981d521
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ia5fcf3f18fe8e3077f8a5ee721e2413c4dc32596
2025-03-11 06:23:05 +00:00
Translation updater bot
0768523eca Update git submodules
* Update extensions/ConfirmEdit from branch 'REL1_43'
  to 8ccb23bfd3e6d75528a5eb5362b5a1eca517a158
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I6e89915c876b2cf73e547495b1138757a5396f7d
2025-03-11 06:22:55 +00:00
Translation updater bot
56ad8de986 Update git submodules
* Update extensions/Cite from branch 'REL1_43'
  to 32517d7f1fdd816fdc5da27c31aba0d75bd0d0a3
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I86b2f6ae884a3f9d1b1229e626068d37f1b271ce
2025-03-11 06:22:42 +00:00
Translation updater bot
6f18efec52 Update git submodules
* Update extensions/CiteThisPage from branch 'REL1_43'
  to 0b1e8bdd657a6ed68ebf60f444fea902e4a986fc
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I3c4450c22ea0c62c7aba413984bec5d81e1dff18
2025-03-11 06:22:41 +00:00
Translation updater bot
fc637213b2 Update git submodules
* Update extensions/CategoryTree from branch 'REL1_43'
  to 5689942278637bd675f7dc2828acf2d9d3ff0ac1
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I305fe9ca9adf8eeed30ebb268eecda9987e7ed23
2025-03-11 06:22:41 +00:00
Translation updater bot
5771582116 Update git submodules
* Update extensions/AbuseFilter from branch 'REL1_43'
  to bb76bcfc7ecc50970ce8055f219ac532b57a3ca5
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I9ee433a23904a265d832a605657431635ac875b8
2025-03-11 06:22:11 +00:00
Translation updater bot
052664c1f0
Localisation updates from https://translatewiki.net.
Change-Id: I7db45053212cc3abc595a82f9136090d09dfceab
2025-03-11 06:32:45 +01:00
Gergő Tisza
dda169ea69 Avoid trying to load the session user in MW_NO_SESSION endpoints
Trying to load the session user in an MW_NO_SESSION resulted in
an exception thrown from SessionManager::getSessionFromInfo(),
but User::$mLoadedItems has been set by that point, so if
something catches the exception, future attempts to access that
user object would result in unexpected behavior.

Bug: T388066
Change-Id: Ia3f6d0a96209471db3ce1baf6870a57e1cf1b6b2
(cherry picked from commit a32247211585123565498d2a1e4e54bed6ade6fb)
2025-03-11 00:28:38 +00:00
Reedy
5439508732 Update git submodules
* Update extensions/ImageMap from branch 'REL1_43'
  to 1aa7ea696c546c716a9e6168bfd0edfa73c7ff29
  - ImageMap: Bail out if $input is null
    
    Bug: T388464
    Change-Id: Ib1706268be419b59d95639cd6dfd412603e19163
    (cherry picked from commit dd0a2234bde087e05d89575330c6d31be30d7320)
2025-03-10 22:38:03 +00:00
Reedy
d4c73628d9 Update git submodules
* Update extensions/InputBox from branch 'REL1_43'
  to a8184c4572811cf9df340702e882fe95baa885a0
  - InputBoxHooks: Bail out if $input is null
    
    Bug: T388464
    Change-Id: I5f109c16a35b69c8a5181c452e09205a71fe7c9c
    (cherry picked from commit 54135ce194a89043a95d5157aaba876daddcf87a)
2025-03-10 22:06:25 +00:00
jenkins-bot
d5837014b9 Merge "Request: Improve log message when headers already sent" into REL1_43 2025-03-10 19:31:32 +00:00
daniel
548d5eb8de REST page metadata endpoints: handle supressed data gracefully
Why:
- Revision meta-data output was failingfor revisions with suppressed
  user or comment

What:
- Handle suppressed user and comment gracefully
- add regression test

Bug: T386368
Bug: T387397
Change-Id: Ic6d3fc89d24030f5c3fd422637816de9976fc709
(cherry picked from commit 8c53a15ba0fae2677aa8e28055f06ef557595be6)
2025-03-10 17:18:37 +00:00
Umherirrender
420142db5d Request: Improve log message when headers already sent
Use php build-in support via headers_sent() to get the
relevant file and line for the log message.
Keep the exception for more details.

Change-Id: Ief301710efc19df9b5eaa6d94f138570e3be6290
(cherry picked from commit 8e4a0638bd92620ff216cf8bdd21e3da003130b3)
2025-03-10 15:12:31 +00:00
Ed Sanders
1a623d1487 Update git submodules
* Update skins/MinervaNeue from branch 'REL1_43'
  to b04c6ac7bcc894644287cb81f67245ad460d3ab6
  - Fix logic for when to show the notification circle
    
    This functionality was seemingly broken in I55c18cf72.
    
    The comments in the code declare that the notification circle
    should show when there are unseen "notifications" (where a
    "notification" is either an "alert" on a "notice), and this
    matches user expectations. However the logic as implemented
    means we only see the circle when there are unseen "alerts".
    
    Bug: T344029
    Change-Id: I91cd5e7703760323c4a6786e8c7a7a00b21e8de2
    (cherry picked from commit acb5cb08bfc43e7f43717dba35399fe5233c90d0)
2025-03-09 22:07:04 +00:00
Ed Sanders
594f2cbd5e Update git submodules
* Update skins/MinervaNeue from branch 'REL1_43'
  to 7d8fbb8d8246fd91d38e293b34de2bd57e74f746
  - Notifications: Rename variables
    
    Makes it clear the new object being created is the combined
    notification represent alerts and notices, instead of
    re-using $alert.
    
    Change-Id: I77a1ac19f92bd6e6644ff2630d5b9f3feb40dddd
    (cherry picked from commit 2a3ddba2d911b386cdde63a682c767730edd2b75)
2025-03-09 22:07:02 +00:00
Ed Sanders
23525998f8 Update git submodules
* Update skins/MinervaNeue from branch 'REL1_43'
  to bb79c4d77333f0bd6885bceb072b2824c4f91b00
  - Notifications: Remove unused code
    
    Change-Id: I1f1287c99a27e7a4e61a3f2a0cd150701d528a13
    (cherry picked from commit d619f6004e32a1f4f8ea3431b9eb6a9cdc4b476d)
2025-03-09 22:06:44 +00:00
BlankEclair
4990c51d62 ImportImages: Exit with non-zero code if import fails
When scripting, folks generally check the exit code of a program to be
zero if it is successful, and non-zero if it isn't. Since importImages
can be used in third-party scripts to automate wiki imports, it is
paramount that import failures are detected.

However, since it doesn't exit with a failure code (i.e. a non-zero
exit code) when a file fails to import or when there are no files
found, it is much more difficult to detect import failures.

Therefore, we exit with a non-zero return code to make import failures
much more easier to detect for scripts.

Bug: T388296
Change-Id: I5d9ede123355d63267793133287253a86faecda5
(cherry picked from commit 5a7c5491775ebf97f60fc7067d3d41c609358534)
2025-03-08 14:02:30 +00:00
Reedy
53ad63aa97 RevDelList: Ensure setVisibility always includes itemStatuses in value if applicable
Bug: T387638
Change-Id: Ia01d730be672ec44dda36772cf29e2f11890553c
(cherry picked from commit ecb3175ac1c6b7d080beeb150144214ab61ddba2)
2025-03-08 01:53:49 +00:00
David Causse
332d1dfd83 Sanitizer::normalizeWhitespace warn on preg_replace error
Log a warning with preg_replace error instead of passing null to trim.

Bug: T385519
Change-Id: If4ad78168d7899685f4fa1f1d89245c85f0beb0b
(cherry picked from commit 270499b6e1f96f402c852843d446a7946589986b)
2025-03-06 18:30:40 +00:00
jenkins-bot
0da8f5d929 Merge "Update wikimedia/parsoid to 0.20.2" into REL1_43 2025-03-06 17:45:15 +00:00
Arlo Breault
0975614d51 Update git submodules
* Update vendor from branch 'REL1_43'
  to 5c32a1321d5a5391683dd4baadbc8441c3540f88
  - Update wikimedia/parsoid to 0.20.2
    
    Bug: T387130
    Change-Id: I50868ad17cdfb919fdca3642caf6f151223fd574
2025-03-06 17:26:23 +00:00
Arlo Breault
7de82e2033 Update git submodules
* Update vendor from branch 'REL1_43'
  to be32300157cf7bfcc88f7c2643426cf55c086682
  - Run composer update --no-dev
    
    Changes are present on master in c2b8c1a6.
    
    Change-Id: Ida5b03c41cab91730ac9c75fd7e07eed57954af0
2025-03-06 15:13:22 +00:00
Arlo Breault
22b5f85473 Update wikimedia/parsoid to 0.20.2
Depends-On: I50868ad17cdfb919fdca3642caf6f151223fd574
Change-Id: Ic982dad61af48d0b8a045d532d7ca928f7b453a6
2025-03-05 22:40:24 -05:00
Daimona Eaytoy
150434ab19 Update git submodules
* Update extensions/AbuseFilter from branch 'REL1_43'
  to e0f4b20c44893a2b7aca6725c4fc1fe9dac0c83f
  - Parser: avoid crash with trailing comma in unrecognised function call
    
    Avoid failing hard, and let SyntaxChecker report the unrecognised
    function instead. Also inline the `isFunctionVariadic` method, as it's
    only used here. Ideally we wouldn't be checking arity in the first
    place, but that is left for a future change.
    
    Bug: T387649
    Change-Id: I6303fae037aa4b2464f0da3cdd0b0566a75aa185
    (cherry picked from commit 001a809a578ac8193798c22774e797d569ff85a6)
2025-03-05 12:42:44 +00:00
Ed Sanders
82d15fd6ff Update git submodules
* Update extensions/DiscussionTools from branch 'REL1_43'
  to 3067e8052c0ee62f3d1cb6a1f95cde3bb50e7312
  - ApiDiscussionToolsEdit: Validate $title before using
    
    Bug: T387640
    Change-Id: I591bcfcc9b96ab8bf0f8bc6aba5892ebb6a65842
    (cherry picked from commit 3d4e1b5a6979aa9a333682019a4c0c8d9ba2721a)
2025-03-04 21:54:57 +00:00
Translation updater bot
489944621e Update git submodules
* Update skins/Vector from branch 'REL1_43'
  to a0761a6749801fcc434c3fbb355c7f100cd8d38b
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I9a0685f130a1aab7d5092438611a6b8b92f9bba3
2025-03-04 06:20:37 +00:00
Translation updater bot
e72b6425d9 Update git submodules
* Update skins/Timeless from branch 'REL1_43'
  to 14c4c89dea37b6f06786dc3f3e43d112a903a32f
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I03700e9194a9d1204b17c42c1cfe214b3ae6881e
2025-03-04 06:20:36 +00:00
Translation updater bot
5fbdd6c763 Update git submodules
* Update skins/MinervaNeue from branch 'REL1_43'
  to 3104a77b2b54dbfda70c4c318becaf07025110ca
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I1a5c9077a1c29409459bd196ee9e9ab4cd32cc01
2025-03-04 06:20:34 +00:00
Translation updater bot
4ca5577796 Update git submodules
* Update extensions/VisualEditor from branch 'REL1_43'
  to 773598b8c49eb79710a7c6a3e1201a080b83cce0
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Idddf2c563d297af2bcc06129a59b32b1ecba1ad3
2025-03-04 06:18:46 +00:00
Translation updater bot
9b4d05fa49 Update git submodules
* Update extensions/WikiEditor from branch 'REL1_43'
  to 37607928e726801a99a0d864446984c07f61cfdf
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ic194163900d9543e2bce634519c474a8ec0e2ed3
2025-03-04 06:18:36 +00:00
Translation updater bot
0067d42227 Update git submodules
* Update extensions/TemplateData from branch 'REL1_43'
  to 1929a488f84b3c11a9567a2bafa19b6013f6c3d3
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I22ec9a3c31e3cdc1a5423742c67194f1b2efa60f
2025-03-04 06:18:12 +00:00
Translation updater bot
ba28916ff6 Update git submodules
* Update extensions/PdfHandler from branch 'REL1_43'
  to 895c866eedf38502faa5a84c594cdcadc8a7ee67
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: If7381a49b468c39e28e87fb5cce6def8a9dd6de4
2025-03-04 06:18:06 +00:00
Translation updater bot
fba32bb5f6 Update git submodules
* Update extensions/OATHAuth from branch 'REL1_43'
  to d9d37df2ab0030ec69a8cf971d3f5f1cbc6bc5f4
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ib047e4eb95b65b0aaf98e3143a17f0e5c5c0288e
2025-03-04 06:18:04 +00:00
Translation updater bot
72e4530c3e Update git submodules
* Update extensions/Nuke from branch 'REL1_43'
  to 5ac89e3bbb833b9a48961cca360dce779a669809
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ibe07b5db246278221c91b54a97c630ae9d068cc3
2025-03-04 06:18:02 +00:00
Translation updater bot
2dfada03b6 Update git submodules
* Update extensions/LoginNotify from branch 'REL1_43'
  to 16551ac4152194f3b32dcb09a5faa502b59a9638
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ibeecd7f93081ca37d6f190293d6bc7f8c9f13cfe
2025-03-04 06:18:00 +00:00
Translation updater bot
1908ff5e97 Update git submodules
* Update extensions/InputBox from branch 'REL1_43'
  to 83e0cabd921438b4b44ec60880d8b43529dd367c
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I726e99ace678edc639065d026f55090412d1640f
2025-03-04 06:17:58 +00:00
Translation updater bot
183153bd4f Update git submodules
* Update extensions/Echo from branch 'REL1_43'
  to 8f50fe5d0b7baedb7874e37b9a3eab1f0d2b7c41
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Idf3e6625e4ad4a2857b878547abef60164148488
2025-03-04 06:17:47 +00:00
Translation updater bot
896c864d52 Update git submodules
* Update extensions/DiscussionTools from branch 'REL1_43'
  to 0bc0dcb9cc58b94541daf61518ca3644c1107380
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Id60ef85654be93c9c945d04dc1cd748b15733b96
2025-03-04 06:17:46 +00:00
Translation updater bot
b6081a84f8 Update git submodules
* Update extensions/Cite from branch 'REL1_43'
  to 1823aa86b7b27535e324ad43a20c7d6cfbdcd2ec
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: If73684f5d5bd13b7f621eff6a45e2e71bd446496
2025-03-04 06:17:28 +00:00
Translation updater bot
77a5955e01 Update git submodules
* Update extensions/ConfirmEdit from branch 'REL1_43'
  to 2aff2694081da1912c94ddb29854dab8ade1170c
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I618999015fd4dfe68c7260671b933f171b78d4e5
2025-03-04 06:17:25 +00:00
Translation updater bot
d3720751bb Update git submodules
* Update extensions/CiteThisPage from branch 'REL1_43'
  to 2c0afac58e5d1e3698906f3d7f34e7659ef74e85
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ie8beacba0d481440fa18b2237d262f16513e47d8
2025-03-04 06:17:23 +00:00
Translation updater bot
c80840fe05 Update git submodules
* Update extensions/AbuseFilter from branch 'REL1_43'
  to d726916a3f91e29ce5ca27873f2d78392d141eba
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I5c172326b2c8c0e7f1a68d4aa9f840eeb20d1333
2025-03-04 06:16:56 +00:00
Translation updater bot
369b31f5ea
Localisation updates from https://translatewiki.net.
Change-Id: I8efdea63dce69f70911877f8c402daa05247f012
2025-03-04 06:34:04 +01:00
Bryan Davis
be3c297852 initEditCount: Join from user to actor to revision
Correct the join conditions used to find the current edit count for
a batch of users. Follows up b98f33c where the incorrect join order and
conditions were introduced as part of migration to QueryBuilder syntax.

Change-Id: I1841bb074b0f2be31e60a3cce3d62eb1b5999ad0
(cherry picked from commit 834891e01afa19cc1ecd973c04a453a9abb2d484)
2025-03-03 15:32:50 +00:00
jenkins-bot
10aee37b9e Merge "ExternalLinks: fix mailto: links reversal" into REL1_43 2025-03-03 08:30:03 +00:00
daniel
d0bbe78b23 RateLimiter: Fix peek mode
Why:
- Setting the increment to 0 should check the limit without bumping it.
- This was apparently broken by If3e66491306f22650.

What:
- Use LimitBatch::peek if the increment amount is 0

Bug: T381033
Change-Id: Ife76a1976a2063f051f00302e5adaebd701e6367
(cherry picked from commit e09606b3dc44711571cc6cf2d0d11bd7784d0cdd)
2025-03-01 15:51:16 +00:00
Ammarpad
c373e0ba40 ExternalLinks: fix mailto: links reversal
If $mailparts does not contain two elements (which would be the case when the separator `@` is not present in the string), then we cannot
access $mailparts[1].

In this case, the entire path as is, is treated as the host.

Bug: T380880
Change-Id: I10187c93e67ce9294ff0b3866939d2c7d7292a9a
(cherry picked from commit c2db58c55bef207dd37ac5fe0b07aa28ee4bd2d5)
2025-02-28 16:33:54 +00:00
Derk-Jan Hartman
05cce96a77 Update git submodules
* Update extensions/OATHAuth from branch 'REL1_43'
  to 924a39adec68ae3af6b8c536723648ca5527fd39
  - Fix translations for recovery code notifications
    
    The notification body was listed with the incorrect key name.
    The notification header was missing completely.
    
    This is a follow up to Ic4294dc4ca8eb238998af3ec6b69a771f1b17c17
    
    Bug: T383265
    Change-Id: I14599a4a1bd4bd452727aa9f81566af4d3ad7cfa
    (cherry picked from commit e77fd953ff89b86dbefa22734386b6af59fcd077)
2025-02-27 00:50:45 +00:00
Translation updater bot
3202e817d1 Update git submodules
* Update skins/Timeless from branch 'REL1_43'
  to 2a795e3d690fb97fa1ff3fa8522b63d9f55b6a5b
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I822e12e36ac6f9be5b87d8e4217416e8c10939ed
2025-02-25 06:31:14 +00:00
Translation updater bot
1ac231f08f Update git submodules
* Update skins/Vector from branch 'REL1_43'
  to 210e513841da380e13bb539e55a70095d4163dad
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I3a8b78eb7207b6ac1b0129ac40bdba98f35d6358
2025-02-25 06:31:12 +00:00
Translation updater bot
034d93694a Update git submodules
* Update skins/MonoBook from branch 'REL1_43'
  to 4f2266626b36bb7556e54b87814b0016bd1adf2b
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I6914a39c229e3375a4174c51f02641e464dec1dc
2025-02-25 06:31:11 +00:00
Translation updater bot
5757defe95 Update git submodules
* Update skins/MinervaNeue from branch 'REL1_43'
  to a764a4b30bbd486142d829dfa242daf8806c71ad
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I142d58fb65784930ee5ab88baf10816e88fc93ea
2025-02-25 06:31:05 +00:00
Translation updater bot
307d3ca88d Update git submodules
* Update extensions/VisualEditor from branch 'REL1_43'
  to 15b1e270dacb67b81938d726b0334ab9cace9800
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I6ad7345e1d696379e461aea5dfae290e62cbf9b3
2025-02-25 06:29:01 +00:00
Translation updater bot
76302f46e7 Update git submodules
* Update extensions/WikiEditor from branch 'REL1_43'
  to efed4932d7ad484af6798d1704f84eff2933b1a2
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: If8d2745d3377f16b0c20da0cb5cf441b55a80a3c
2025-02-25 06:28:52 +00:00
Translation updater bot
ae5e36b2bc Update git submodules
* Update extensions/Thanks from branch 'REL1_43'
  to a619821e2d530c9c10666b3842e44dd3d61c61fb
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I56462343a87aa151ac348cbdd429021174b235eb
2025-02-25 06:28:31 +00:00
Translation updater bot
3a8b1836d3 Update git submodules
* Update extensions/SyntaxHighlight_GeSHi from branch 'REL1_43'
  to bfa8838ff6d84ffb79be1e97f5faefc740c43c32
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I40455de57cff4f1bb13ef5570ee9ff91e9276839
2025-02-25 06:28:24 +00:00
Translation updater bot
c61db2a760 Update git submodules
* Update extensions/TemplateData from branch 'REL1_43'
  to a5e5dab30404b841afef018fed5edfb54db002f6
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I861034dc841948c377afa069db0d491bdf7932f3
2025-02-25 06:28:23 +00:00
Translation updater bot
ba00059a4b Update git submodules
* Update extensions/SpamBlacklist from branch 'REL1_43'
  to 46795dda66216ab8e7805564ac6f8e09900068a4
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I59b09517c7373b7f7b97119d06145834c8398181
2025-02-25 06:28:18 +00:00
Translation updater bot
2fd9a6969a Update git submodules
* Update extensions/ReplaceText from branch 'REL1_43'
  to 33406c20233af3e2ce4d0205364839dbad954546
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ib2b91934dd1d32be3d86cbbaf17ebab5ddabea5b
2025-02-25 06:28:06 +00:00
Translation updater bot
f58343f1cf Update git submodules
* Update extensions/OATHAuth from branch 'REL1_43'
  to 21da913c2beb14da4440266ef6e57640a6287f03
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I477e79d954873b96afeff05339b3ed59e47b397a
2025-02-25 06:27:43 +00:00
Translation updater bot
be2afdeb07 Update git submodules
* Update extensions/Nuke from branch 'REL1_43'
  to db624a8db77c93e4f7fb5a3e9d984246806d2c51
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I7d27cfe52c0b51ed7d876b750412109e490feb82
2025-02-25 06:27:42 +00:00
Translation updater bot
1e9da46d30 Update git submodules
* Update extensions/MultimediaViewer from branch 'REL1_43'
  to cb7554f5dafa8f379020f30bd9232a5f8599a1de
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ib06c73a9e9958b4bf7c77e5127112b9c908679b9
2025-02-25 06:27:42 +00:00
Translation updater bot
2807ba993a Update git submodules
* Update extensions/Math from branch 'REL1_43'
  to 878c2adacf41f08a22e893f353f707e3e320fa2e
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ic11e47dbdcbc555f5abf193259831e1b5c0826d7
2025-02-25 06:27:36 +00:00
Translation updater bot
23cf0742f4 Update git submodules
* Update extensions/Linter from branch 'REL1_43'
  to 1520a069b47c6effa51904b32542ff2389e8c3f8
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I024fcc55007864c202b775f07965a4963df1fc41
2025-02-25 06:27:32 +00:00
Translation updater bot
79df168a1b Update git submodules
* Update extensions/InputBox from branch 'REL1_43'
  to 9903156d6d8fce26cb9e0f1fd016cd25b40e5356
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I10b3794530bda189aafb2f1d4de4b929649e7571
2025-02-25 06:27:31 +00:00
Translation updater bot
939a8f000c Update git submodules
* Update extensions/Gadgets from branch 'REL1_43'
  to b19d615db45f63cf1a1cbd83cb33b69144edb7e2
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ibe55567e070ee4a3b35a71543912fbb7c4397f56
2025-02-25 06:27:13 +00:00
Translation updater bot
b7ec66bdee Update git submodules
* Update extensions/Echo from branch 'REL1_43'
  to 1f01255482616f9fc481f6e821a3afb5e342b37a
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I337776bfbca0f9fdd0799df4e4f918baa08a8731
2025-02-25 06:27:02 +00:00
Translation updater bot
09284a352c Update git submodules
* Update extensions/DiscussionTools from branch 'REL1_43'
  to 4d28bbdd810b6e3cc0f29cd40dfbc066c65372ec
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ie7abfce6b63c97dfdebf05758a05d3db28806afa
2025-02-25 06:26:58 +00:00
Translation updater bot
4b3096bb88 Update git submodules
* Update extensions/ConfirmEdit from branch 'REL1_43'
  to 5f39b1179e2eb318d46ee0e3d8beb5e9c11a3f03
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I660a0b5c67977a5dfa917683607698cf3f43bbe1
2025-02-25 06:26:48 +00:00
Translation updater bot
602e0b61fc Update git submodules
* Update extensions/Cite from branch 'REL1_43'
  to bb63f3e881c0a399cadb1c42998f1c73ee3e31dc
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I87af050a06dff747f938ab9b9e7d389cf701159b
2025-02-25 06:26:37 +00:00
Translation updater bot
45897cfb76 Update git submodules
* Update extensions/CategoryTree from branch 'REL1_43'
  to 7a4d4216c845227cbe388bdec0f28ef6fa81e4fb
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I4f2479c11e33dcc72a6c45c66ed03a8ffc1e9fb9
2025-02-25 06:26:31 +00:00
Translation updater bot
dd76bb72d3 Update git submodules
* Update extensions/AbuseFilter from branch 'REL1_43'
  to 7523fb8997d07d7a80989e0299e8d304ec4971b6
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I0eeb3ccd51d34bdcd0529afb6133e45647084ba5
2025-02-25 06:26:13 +00:00
Translation updater bot
3f040e33bd
Localisation updates from https://translatewiki.net.
Change-Id: If360ec9295a3fd250b27dec146e81f205e0c6e54
2025-02-25 06:32:49 +01:00
jenkins-bot
1ed2ccd790 Merge "Add explanation text for "Allow emails from brand-new users"" into REL1_43 2025-02-21 22:50:25 +00:00
Nemoralis
4d4359f8ef Add explanation text for "Allow emails from brand-new users"
It is not clear who the "brand-new users" are in this case so help-message is required here.

Bug: T381205
Change-Id: Idfc1b7e4b5b1686f0edf69b32e0d4152b30e54ae
(cherry picked from commit 141be6c7f7a3be92d702db1e26ba7d0493aa8a0f)
2025-02-21 22:34:44 +00:00
Bartosz Dziewoński
3f2281da04 phpunit: Fix bootstrap script when no extensions are installed
Change-Id: I9de2c7711fc41f83a0b9e6783fcf085cedb2a9c9
(cherry picked from commit 2544c2cd31fefece71adc0ec03112614e41bd9ec)
2025-02-21 22:24:30 +00:00
Reedy
1364192bb9 FeedItem: Update @since on xmlEncodeNullable for backports
Bug: T385332
Change-Id: I88f82fb5a703126f0ce586030d7ba7666fbb5a18
Follows-Up: Iafd89c0d61baecd7c68f62b2a0764cc78cf25069
(cherry picked from commit 30f076a54660304590c266b7edee949ccc35c237)
2025-02-21 03:53:56 +00:00
Umherirrender
87238af0a0 Revert "maintenance: Use DatabaseSqlite for type-hinting instead of DBConnRef"
This reverts commit 4563e41f20.

Reason for revert: The expected DatabaseSqlite is not directly used here, it is still DBConnRef and the patch does not work as is.

Bug: T386891
Change-Id: I83b1e299b698c004dcacb9aa90901dfe28097403
(cherry picked from commit 7fdc51ed4d27ba6211215c6198b7e448de799cde)
2025-02-20 20:35:40 +00:00
Translation updater bot
e11560ed7c Update git submodules
* Update extensions/Cite from branch 'REL1_43'
  to b0e1c7ef4c6046dda811dd942ada47ec80b157ee
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I714b0abbdd095e8cfab29e53ea98f24a0971cdd9
2025-02-19 07:36:36 +00:00
Translation updater bot
ee8b915623 Update git submodules
* Update extensions/CategoryTree from branch 'REL1_43'
  to a6e27fdbe6a4f63ea17521e6dc320a4e129f5758
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ie354b6c26a58a8ad4bf066c8eaac925e22fd0d35
2025-02-19 07:35:52 +00:00
Tacsipacsi
1f73b5d5e4 feeds: Fix str_replace() deprecation warnings on PHP 8
Why:

Both AtomFeed::formatTime() and RSSFeed::formatTime() short-circuit with
null if the input is falsy. This caused deprecation warnings down the
line, as the return value was later fed into str_replace(), which raises
a deprecation warning on PHP 8 if it gets null.

It also caused unexpected output on all PHP versions: the Mustache
templates for both Atom and RSS conditionally emit the date elements
(<updated> in Atom, <pubDate> in RSS), but this conditional output is
skipped only if the variable is null, not when it’s an empty string –
which is exactly what the XML encoding returned on all PHP versions.

What:

Introduce a new method, xmlEncodeNullable(), which properly handles null
values, and returns them as-is, without trying to encode them. This:

- Avoids the deprecation warnings on PHP 8, since str_replace() is no
  longer called.
- Makes the conditional output work: the <updated>/<pubDate> elements
  are no longer output if no date is available.
  - This makes the RSS output spec-compliant, as no garbage is output
    anymore. The RSS <pubDate> is optional [1].
  - It doesn’t make the Atom output entirely spec-compliant, as Atom
    requires <updated> to be present [2], but the removal of garbage
    (it was a single letter Z) should still increase compatibility.

[1] https://www.rssboard.org/rss-specification#hrelementsOfLtitemgt
[2] https://validator.w3.org/feed/docs/atom.html#requiredEntryElements

Bug: T385332
Change-Id: Iafd89c0d61baecd7c68f62b2a0764cc78cf25069
(cherry picked from commit 60c57b0fd5303e9627b7684ebac4cd369c1fe7a6)
2025-02-18 21:44:56 +00:00
Translation updater bot
f43da897e5 Update git submodules
* Update skins/MinervaNeue from branch 'REL1_43'
  to ba850e2ca6b8e5256553b6c336d50efeac4da140
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Iebb600ad71e9fb58847cabe0229268f3ad6c3787
2025-02-18 06:28:13 +00:00
Translation updater bot
66814e0800 Update git submodules
* Update skins/Vector from branch 'REL1_43'
  to 34e36ecb91b98064288a911c400fa03f59e07144
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I5916802af950a3c07fb492670fce298bb920eb89
2025-02-18 06:28:12 +00:00
Translation updater bot
936064426b Update git submodules
* Update skins/MonoBook from branch 'REL1_43'
  to d1800222e664e8ac5636225ef68c82f9e2fd9b95
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I98ea489b8a836dd4c74ebcd6c929fa1a83edfbfe
2025-02-18 06:28:10 +00:00
Translation updater bot
8d94351471 Update git submodules
* Update extensions/VisualEditor from branch 'REL1_43'
  to cf6665c16b3f8db755a335d5fc0c0be035e8243f
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ia446e43ed3da3c737390f08ff2ab3fcf4e3b9f13
2025-02-18 06:26:57 +00:00
Translation updater bot
3b864bb70b Update git submodules
* Update extensions/WikiEditor from branch 'REL1_43'
  to 3537984d0a86a18db3c079ddcac4b94f28e41e09
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I66e8a4b0c4003bad7a1adc8743752759c0259a8b
2025-02-18 06:26:53 +00:00
Translation updater bot
94d88807c2 Update git submodules
* Update extensions/SyntaxHighlight_GeSHi from branch 'REL1_43'
  to 56bdce6a2e3ddc61db604f57c47006af43874cc8
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ic6f0e67d03a63f154249cfc9ce962e1f3e9f98dd
2025-02-18 06:26:33 +00:00
Translation updater bot
52eaa49c42 Update git submodules
* Update extensions/TemplateData from branch 'REL1_43'
  to 5d9ccbdfd292ed7501aa76e63876308f50ff65c5
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I390d5db1509d1ecad07219e092631c7e8dc6fca7
2025-02-18 06:26:32 +00:00
Translation updater bot
67ead8fee2 Update git submodules
* Update extensions/Scribunto from branch 'REL1_43'
  to 3c4e4b51ef4a356b6ad1456cf352f58af90d8c59
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I346eb35a09357f54a7517d42628999bc2ace9c94
2025-02-18 06:26:26 +00:00
Translation updater bot
e1600400ca Update git submodules
* Update extensions/MultimediaViewer from branch 'REL1_43'
  to ec6e2f772dacab881cb9be31a43f9db525104246
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I126e1b15f62c0c02c65c3b7e4517cda2df595bdf
2025-02-18 06:26:03 +00:00
Translation updater bot
75f5fb0aa8 Update git submodules
* Update extensions/OATHAuth from branch 'REL1_43'
  to 8a7c4a6d096cdacc47d10cd18e3f33717790a2bd
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I32f96503228213f67402bd06613499cad7a1a01a
2025-02-18 06:26:03 +00:00
Translation updater bot
8d372e3200 Update git submodules
* Update extensions/Nuke from branch 'REL1_43'
  to 382591dc50ce85c813fd5b52ccee9a9cb9c67942
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I362e6de55b6be3e0beed707b262447c5cceba172
2025-02-18 06:26:02 +00:00
Translation updater bot
a0f1f8a396 Update git submodules
* Update extensions/Math from branch 'REL1_43'
  to 8bb9ee4926a568a05263e8c7c82277537f6f32ce
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Id10ef1b1a634b439e978db1ac7033c13aafb83b8
2025-02-18 06:25:59 +00:00
Translation updater bot
dcd5b58aad Update git submodules
* Update extensions/InputBox from branch 'REL1_43'
  to 807e888687529a246f4f46980e47e144b73c6f8a
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ib4178995794ddc80dedadd98d3972eefcf80062b
2025-02-18 06:25:54 +00:00
Translation updater bot
4549972932 Update git submodules
* Update extensions/Gadgets from branch 'REL1_43'
  to 11bbad519ddc464e8d15d38165b1c269de4ce8ba
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I6c114c2b0c232e13cc7f25263c76142cb1d5ddd5
2025-02-18 06:25:32 +00:00
Translation updater bot
c3ee11f1b8 Update git submodules
* Update extensions/DiscussionTools from branch 'REL1_43'
  to 9417473ae6f28bcbfae5886854c0987b32a2e444
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I55cd091a98bc2d3c4e3945e8d3e906dd406cc6ac
2025-02-18 06:25:19 +00:00
Translation updater bot
4796f6ee46 Update git submodules
* Update extensions/Echo from branch 'REL1_43'
  to cb61296a70c39506ee768f3681bbd5f25c8f4775
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I7278c91ac331533c37c8fd44767d3abccc86c034
2025-02-18 06:25:18 +00:00
Translation updater bot
c4bfc0d128 Update git submodules
* Update extensions/ConfirmEdit from branch 'REL1_43'
  to 9118eab24d82fb727ceed32a65bc2736c9abcd42
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: Ibafc1aeaf6a34936ca4c739baa230b8b86d12248
2025-02-18 06:25:15 +00:00
Translation updater bot
377907f373 Update git submodules
* Update extensions/CiteThisPage from branch 'REL1_43'
  to 86058bfb34139f701da2ccd5ce46113ae8115d76
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I57fd56880968fc0eb45ab208cd07abece08de8d9
2025-02-18 06:25:04 +00:00
Translation updater bot
464fe96123 Update git submodules
* Update extensions/AbuseFilter from branch 'REL1_43'
  to 8c2bc0b4032020e45b28e736e248a05bca783ea0
  - Localisation updates from https://translatewiki.net.
    
    Change-Id: I88866e4fcb3ca0b2bbf4b897f8c11195f1bb44b2
2025-02-18 06:24:26 +00:00
Translation updater bot
086f0b5236
Localisation updates from https://translatewiki.net.
Change-Id: Ie6671ad9a673374b4d70a6fdfe0447e310d1db56
2025-02-18 06:32:08 +01:00
Timo Tijhof
d1ebddf51b installer: Restore "complete" success message
Bug: T384524
Change-Id: I433e381eb1f388584e36bbfd2b40665b61ec22eb
(cherry picked from commit ec17519993e4475588e70c0b9a3b9b7bfcda3268)
2025-02-18 02:01:37 +00:00
Timo Tijhof
6ea3f2f4f5 installer: Restore success messages
Bug: T384524
Change-Id: I688e310ab08d4fb83d5dc47bd1fa79617cead9d3
(cherry picked from commit 379d3842bd4fcc2bd0587ea85a81bb68ed5a285a)
2025-02-18 02:01:00 +00:00
Umherirrender
398fdb85b8 language: Use fallback chain to create NumberFormatter
php8.4 validates the locale and rejects invalid one.
Just use the fallback chain to find an usable language, mostly en.
Cache the created NumberFormatter instance, to avoid performance impact
for some languages due to more attempts to create a NumberFormatter.

Also C is rejected, so resolve it directly with Locale::getDefault()

Bug: T376711
Change-Id: I686f77baea33ea2852c546e30e9cc08618d44321
(cherry picked from commit 8b2cc12bd3724cd213ac581d220b50f91e282630)
2025-02-17 21:24:24 +00:00
Timo Tijhof
dff35eaa42 installer: Fix conflation between warning and info messages
* Fix getInfoBox to not be a warning box, but an information notice
  like it is intended to be.

* Update getInfoBox() to use codex class names, same as showMessage().

* Update getInfoBox() to bold the "Information" title, as per Codex
  examples and guidelines, e.g.
  https://doc.wikimedia.org/codex/latest/components/demos/message.html#multiline

* Remove infoBox() utility, it was used only once, in getInfoBox().
  The `mw-installer-box-*`, `mw-installer-infobox-*` CSS classes
  are also unusd now, however there is nothing to remove because
  these were already removed in a previous refactor.

* Introduce showWarning(), and apply it to showMessage() calls that
  convey non-fatal issues.

Bug: T384524
Change-Id: I6722346ef81a0a9cf8983153271be579905c7898
2025-02-17 03:57:42 +00:00
Amir Sarabadani
f680c0edc1 installer: Simplify the information box
The image passed to ::getInfobox is never passed to ::infoBox() it is
only called twice with an image which also doesn't work, it is never
called with 'class' option so remove both.

Bug: T383646
Change-Id: I4abe9f608e9b5dd657e3948988f28ad991495f25
(cherry picked from commit 412e602cd6586b9ce25b9c3cc9fcde14748fa146)
2025-02-17 01:21:10 +00:00
1148 changed files with 48546 additions and 18743 deletions

View file

@ -17,6 +17,7 @@
/tests/phpunit/data/registration/duplicate_keys.json
/tests/phpunit/data/resourceloader/codex/
/tests/phpunit/data/resourceloader/codex-devmode/
/tests/phpunit/data/SelserContext/*.json
/tests/phpunit/unit/includes/Settings/Source/fixtures/bad.json
/tests/phpunit/**/*malformed*.json
/maintenance/benchmarks/data/

10
.gitignore vendored
View file

@ -91,3 +91,13 @@ Thumbs.db
# Docker
docker-compose.override.yml
.env
# TechInc not public
secrets.php
# TechInc extensions
extensions/AdminLinks
extensions/Headscript
extensions/PageForms
extensions/SemanticMediaWiki
extensions/SemanticResultFormats

View file

@ -20,10 +20,9 @@
$cfg = require __DIR__ . '/../vendor/mediawiki/mediawiki-phan-config/src/config.php';
// Whilst MediaWiki is still supporting PHP 7.4+, this lets us run phan on higher versions of PHP
// like 8.0 without phan trying to get us to make PHP 7.4-incompatible changes. This value should
// match the PHP version specified in composer.json and PHPVersionCheck.php.
$cfg['minimum_target_php_version'] = '7.4.3';
// This value should match the PHP version specified in composer.json,
// PHPVersionCheck.php, and ScopeStructureTest.php
$cfg['minimum_target_php_version'] = '8.1.0';
$cfg['file_list'] = array_merge(
$cfg['file_list'],

20
COPYING
View file

@ -42,8 +42,8 @@ available at https://creativecommons.org/policies#trademark
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
<https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
@ -56,7 +56,7 @@ software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
the GNU Lesser General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
@ -331,7 +331,6 @@ convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software; you can redistribute it and/or modify
@ -344,10 +343,8 @@ the "copyright" line and a pointer to where the full notice is found.
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
You should have received a copy of the GNU General Public License along
with this program; if not, see <https://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
@ -371,12 +368,11 @@ necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
<signature of Moe Ghoul>, 1 April 1989
Moe Ghoul, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License.

View file

@ -25,6 +25,9 @@ Required software as of MediaWiki 1.43.0:
** PostgreSQL 10 or higher
** SQLite 3.8.0 or higher
In addition, either the bcmath or gmp PHP extension is required on 32-bit
systems.
MediaWiki is developed and tested mainly on Unix/Linux platforms, but should
work on Windows as well.

277
LocalSettings.php Normal file
View file

@ -0,0 +1,277 @@
<?php
# This is a template for the default config for the Technologia Incognita wiki.
#
# This is for Mediawiki version 1.43 LTS
# Please add correct credentials where needed
#
# Maintained by Piele, Thijs
# Version: 20250211
# Protect against web entry
if ( !defined( 'MEDIAWIKI' ) ) {
exit;
}
## Fix that ssl is always on
$_SERVER['HTTPS'] = 'on';
$_SERVER['SERVER_PORT'] = 443;
##################### CUSTOMIZE THESE SETTINGS TO YOUR NEED ###################
# Put some secrets outside the git repository
include 'secrets.php';
## Some site defaults
$wgSitename = "Technologia Incognita";
$wgMetaNamespace = "Technologia_Incognita";
$wgServer = "https://wiki.techinc.nl";
#$wgLogo = "https://wiki.techinc.nl/images/c/cd/Techinc_logo.png";
$wgLogos = [
'svg' => "https://wiki.techinc.nl/images/6/6a/TechInc-logo-no-text.svg", // path to svg version
'icon' => "https://wiki.techinc.nl/images/6/6a/TechInc-logo-no-text.svg", // path to svg version
];
$wgLocaltimezone = "Europe/Amsterdam";
## Database settings
$wgDBtype = "mysql";
$wgDBserver = "127.0.0.1";
$wgDBname = "techinc_wiki";
$wgDBuser = "techinc_wiki";
$wgDBpassword = "gFCS8t19xNEvdg52Sx51asGpr4RESbSH";
$wgDBprefix = "";
# Email settings
$wgEmergencyContact = "wiki-noreply@techinc.nl";
$wgPasswordSender = "wiki-noreply@techinc.nl";
$wgSMTP = [
'host' => 'ssl://mail.techinc.nl',
'IDHost' => 'wiki.techinc.nl',
'localhost' => 'wiki.techinc.nl',
'port' => 465,
'auth' => true,
'username' => 'wiki',
'password' => $emailPassword # In secrets.php
];
# tr -c -d '0123456789abcdef' </dev/urandom | dd bs=64 count=1 2>/dev/null;echo
# $wgSecretKey = ""; # In secrets.php
# Site upgrade key. Must be set to a string (default provided) to turn on the
# web installer while LocalSettings.php is in place
# tr -c -d '0123456789abcdef' </dev/urandom | dd bs=64 count=1 2>/dev/null;echo
# $wgUpgradeKey = ""; # In secrets.php
# Changing this will log out all existing sessions.
$wgAuthenticationTokenVersion = "1";
$wgUsePrivateIPs = true;
$wgUseSquid = true;
$wgSquidServers = array();
$wgSquidServers[] = "127.0.0.1";
#$wgSquidServers = array( '127.0.0.1', '5.79.113.102' );
$wgUseCdn = true;
$wgCdnServers = array();
$wgCdnServers[] = "127.0.0.1";
## PART FOR DEBUGGING, ALSO SET $wgUseSquid = false; when enabling this ##
$wgShowExceptionDetails = true;
$wgShowSQLErrors = true;
$wgDebugComments = true;
$wgLogQueries = true;
$wgDebugDumpSql = true;
$wgDevelopmentWarnings = true;
$wgDebugProfiling = true;
$wgDebugTimestamps = true;
$wgResourceLoaderDebug = true;
$wgDebugToolbar = true;
$wgFileExtensions = array('png','gif','jpg','jpeg','doc','xls','mpp','ppt','tiff','bmp','docx', 'xlsx','pptx','ps','odt','ods','odp','odg','svg','svgz','tar','gz','bzip','bz2','7z','ogg','mp3','wav','md','css','html','dxf','txt','pdf','dia');
$wgSVGConverter = 'ImagickExt';
$wgSVGNativeRendering = true;
$wgDefaultSkin = "vector";
#$wgSkipSkins = array( "vector-2022" );
wfLoadSkin( 'Vector' );
wfLoadSkin( 'MinervaNeue' );
// For mobile visitors
#wfLoadExtension( 'MobileFrontend' );
#$wgDefaultMobileSkin = 'minerva';
######################## END OF CUSTOMIZABLE AREA #############################
#
################ THESE VALUES SHOULD NOT HAVE TO BE CHANGED ###################
$wgScriptPath = "";
$wgArticlePath = "/$1";
$wgUsePathInfo = true;
$wgScriptExtension = ".php";
$wgResourceBasePath = $wgScriptPath;
## UPO means: this is also a user preference option
$wgEnableEmail = true;
$wgEnableUserEmail = true; # UPO
$wgEnotifUserTalk = false; # UPO
$wgEnotifWatchlist = false; # UPO
$wgEmailAuthentication = true;
# MySQL table options to use during installation or update
$wgDBTableOptions = "ENGINE=InnoDB, DEFAULT CHARSET=utf8";
# Experimental charset support for MySQL 5.0.
$wgDBmysql5 = false;
/////////////////////////////////// CACHING ///////////////////////////////////
$wgMainCacheType = 'redis';
$wgSessionCacheType = 'redis'; // same as WMF prod
// Not widely tested:
#$wgMessageCacheType = 'redis';
$wgParserCacheType = 'redis';
$wgLanguageConverterCacheType = 'redis';
/** @see RedisBagOStuff for a full explanation of these options. **/
$wgObjectCaches['redis'] = array(
'class' => 'RedisBagOStuff',
'servers' => array( '127.0.0.1:6379' ),
// 'connectTimeout' => 1,
// 'persistent' => false,
// 'password' => 'secret',
// 'automaticFailOver' => true,
);
$wgJobTypeConf['default'] = [
'class' => 'JobQueueRedis',
'redisServer' => '127.0.0.1:6379',
'redisConfig' => [],
'claimTTL' => 3600,
'daemonized' => true
];
$smwgCacheType = 'redis';
$smwgQueryResultCacheType = 'redis';
//////////////////////////////// END OF CACHING ///////////////////////////////
$wgEnableUploads = true;
$wgUseImageMagick = true;
$wgImageMagickConvertCommand = "/usr/bin/convert";
$wgShellLocale = "en_US.utf8";
$wgUseInstantCommons = false;
$wgPingback = false;
$wgCacheDirectory = "$IP/cache";
$wgLanguageCode = "en";
$wgRightsPage = ""; # Set to the title of a wiki page that describes your license/copyright
$wgRightsUrl = "";
$wgRightsText = "";
$wgRightsIcon = "";
$wgDiff3 = "/usr/bin/diff3";
########################## SETTINGS FOR EXTENSIONS ############################
wfLoadExtension( 'AdminLinks' );
#require_once( "$IP/extensions/Arrays/Arrays.php" );
## ConfirmEdit / QuestyCaptcha settings
wfLoadExtension( 'ConfirmEdit' );
wfLoadExtension( 'ConfirmEdit/QuestyCaptcha' );
## Start QuestyCaptcha block
$wgCaptchaClass = 'QuestyCaptcha';
/// CHANGE THIS TO SOMETHING REAL
#$wgCaptchaQuestions[] = array( 'question' => 'Which animal is displayed here? <img src="http://wiki.mysite.com/dog.jpg" alt="" title="" />', 'answer' => 'dog' );
$wgCaptchaQuestions[] = array( 'question' => 'Which city is the hackerspace located in?', 'answer' => 'Amsterdam' );
## End QuestyCaptcha block
$wgGroupPermissions['*' ]['skipcaptcha'] = false;
$wgGroupPermissions['user' ]['skipcaptcha'] = false;
$wgGroupPermissions['autoconfirmed']['skipcaptcha'] = false;
$wgGroupPermissions['bot' ]['skipcaptcha'] = true; // registered bots
$wgGroupPermissions['sysop' ]['skipcaptcha'] = true;
$wgCaptchaTriggers['edit'] = false;
$wgCaptchaTriggers['create'] = false;
$wgCaptchaTriggers['addurl'] = false;
$wgCaptchaTriggers['createaccount'] = true;
$wgCaptchaTriggers['badlogin'] = true;
wfLoadExtension( 'Nuke' );
wfLoadExtension( 'ParserFunctions' );
wfLoadExtension( 'TextExtracts' );
wfLoadExtension( 'WikiEditor' );
wfLoadExtension( 'PageForms' );
wfLoadExtension( 'Headscript' );
wfLoadExtension( 'SemanticMediaWiki' );
wfLoadExtension( 'SemanticResultFormats' );
$wgPFEnableStringFunctions = true;
$wgGroupPermissions['*']['edit'] = false;
$wgEnableDnsBlacklist = false;
#$wgDnsBlacklistUrls = array( 'xbl.spamhaus.org', 'dnsbl.tornevall.org' );
// optional: default is array( 'sysop' )
//$wgUserMergeProtectedGroups = array( 'groupname' );
// Semantic Media Wiki
enableSemantics( 'techinc.nl' );
$smwgPageSpecialProperties = array( '_MDAT', '_CDAT', '_NEWP', '_LEDT');
$smwgCategoryFeatures = ( $smwgCategoryFeatures & ~SMW_CAT_REDIRECT );
$srfgFirstDayOfWeek = 'Monday';
#$smwgShowFactbox = SMW_FACTBOX_NONEMPTY;
$wgPageForms24HourTime = true;
$wgGroupPermissions['*']['viewedittab'] = false;
#$wgPopupsBetaFeature = true;
$wgPopupsOptInDefaultState = '1';
$wgDefaultUserOptions['usebetatoolbar'] = 1;
$wgDefaultUserOptions['usebetatoolbar-cgd'] = 1;
$wgDefaultUserOptions['wikieditor-preview'] = 1;
$wgDefaultUserOptions['wikieditor-publish'] = 1;
$wgMSU_showAutoCat = true; // Files uploaded while editing a category page will be added to that category
$wgMSU_checkAutoCat = true; // Whether the checkbox for adding a category to a page is checked by default
#Disable for everyone.
$wgGroupPermissions['*']['edit'] = false;
# Disable for users, too: by default 'user' is allowed to edit, even if '*' is not.
$wgGroupPermissions['user']['edit'] = false;
# Make it so users with confirmed email addresses are in the group.
$wgAutopromote['emailconfirmed'] = APCOND_EMAILCONFIRMED;
# Hide group from user list.
$wgImplicitGroups[] = 'emailconfirmed';
# Finally, set it to true for the desired group.
$wgGroupPermissions['emailconfirmed']['edit'] = true;
# This is uncommented whenever a backup is running
#$wgReadOnly = 'A backup of the TechInc wiki is currently being made. The site is therefore in read-only mode. Check back in a bit.';
#$wgMessageCacheType = $wgMainCacheType = $wgParserCacheType = $wgSessionCacheType = CACHE_NONE;
#$wgLocalisationCacheConf['storeClass'] = 'LCStoreNull';
#$wgIgnoreImageErrors = true;
$wgHeadScriptCode = <<<'START_END_MARKER'
<link href="spacestate.php" rel="stylesheet" />
START_END_MARKER;
// Remove all talk pages
$wgNamespaceProtection[NS_TALK] = ['everyone'];
$wgNamespaceProtection[NS_USER_TALK] = ['everyone'];
$wgNamespaceProtection[NS_PROJECT_TALK] = ['everyone'];
$wgNamespaceProtection[NS_FILE_TALK] = ['everyone'];
$wgNamespaceProtection[NS_MEDIAWIKI_TALK] = ['everyone'];
$wgNamespaceProtection[NS_TEMPLATE_TALK] = ['everyone'];
$wgNamespaceProtection[NS_HELP_TALK] = ['everyone'];
$wgNamespaceProtection[NS_CATEGORY_TALK] = ['everyone'];
$wgMemoryLimit = "64M";

View file

@ -1,3 +1,35 @@
# TechInc fork of MediaWiki
To add the upstream repo
```
git remote add upstream https://gerrit.wikimedia.org/r/mediawiki/core.git
```
Make sure you track the correct upstream branch for the current release (`REL1_43` at the time of writing, an LTS release).
To rebase our changes on top of the upstream codebase
```
git pull upstream --rebase --autostash
```
Make sure you update the submodules with
```
git submodule update --init --recursive
```
If you change any composer files, run
```
composer update
```
To update the MediaWiki database (*IMPORTANT*: do a backup beforehand!)
```
php maintenance/run.php update
```
# MediaWiki
MediaWiki is a free and open-source wiki software package written in PHP. It

View file

@ -4,16 +4,269 @@ PHP 8.1 workboard: https://phabricator.wikimedia.org/tag/php_8.1_support/
PHP 8.2 workboard: https://phabricator.wikimedia.org/tag/php_8.2_support/
PHP 8.3 workboard: https://phabricator.wikimedia.org/tag/php_8.3_support/
PHP 8.4 workboard: https://phabricator.wikimedia.org/tag/php_8.4_support/
PHP 8.5 workboard: https://phabricator.wikimedia.org/tag/php_8.5_support/
== MediaWiki 1.43.1 ==
== MediaWiki 1.43.6 ==
THIS IS NOT A RELEASE YET
=== Changes since MediaWiki 1.43.1 ===
=== Changes since 1.43.5 ===
* (T85085) Improve CSS checking in SVG filter.
* Localisation updates.
== MediaWiki 1.43.5 ==
This is a security and maintenance release of the MediaWiki 1.43 branch.
=== Changes since MediaWiki 1.43.4 ===
* Add missing backport for Extension:DiscussionTools.
* Add missing backport for Extension:Thanks.
* (T406322, CVE-2025-11261) SECURITY: Escape system messages in
mw.language.listToText.
== MediaWiki 1.43.4 ==
This is a security and maintenance release of the MediaWiki 1.43 branch.
=== Changes since MediaWiki 1.43.3 ===
* Localisation updates.
* Rest: Move ModuleConfigurationException into correct folder.
* Cache: Move MessageCache hook interfaces into correct folder.
* uppercaseTitlesForUnicodeTransition: Add missing return.
* installer: Always check return of IDatabase::fieldInfo in postgres.
* autoload: Expand Autoloader::CORE_NAMESPACES.
* (T378163) mediawiki.page.ready: Fix undefined mw.user during temp user logout.
* (T375530) Define and store MediaWiki REST API page endpoint responses as
JSON schemas.
* (T376603) REST: JSON schema definitions for additional response bodies.
* (T399672) mime: Add mime types for *.less.
* (T391180) docs: Add link to CORS setting for REST API.
* (T388729) Parser: Handle regex failure in extractBody method.
* (T399064) Parser::extractBody: Use possessive matcher and once-only
subpattern.
* (T399793) PermissionManager: Fix missingPermissionError() not returning early
when $short is true.
* rdbms: Fix GTID style detection for MySQL servers.
* ParserCacheSerializationTestCases: back port ParserOutput changes from 1.45.
* ParserCacheSerializationTestCases: distinguish empty ToC from missing ToC.
* Fix attachLatest --regenerate-all creating invalid SQL command.
* diff: Avoid Phan warning with some Wikidiff2 versions.
* (T327439) ParserOutput: Prepare to allow JsonCodec serialization of TOCData.
* media: Remove pass-by-ref in Exif::exifGPStoNumber.
* (T386208) Exif: Handle malformed gps tags.
* i18n: Add Special:MyLanguage to mediawiki.org links.
* (T380423) Show user a human readable message when $wgLocaltimezone is set to
an invalid timezone.
* maintenance: Fix sql for touched-only option of refreshLinks script.
* (T393028) ImagePage: Remove PNG previews line for native SVG rendering.
* (T374042) PostgresUpdater: Fix typo in sites_group index renaming instruction.
* (T401088) maintenance: Fix paging in findMissingFiles.php.
* (T401570) rdbms: Fix read-only detection for MariaDB 12.
* (T400881) filerepo: Improve identification of ForeignAPIRepo requests.
* (T397900) Don't use RequestContext in CommentParserFactory construction.
* (T402037) config: Change Reauthenticate Time Default.
* WebPHandler: Read all of the VP8L canvas height.
* (T264389, T161647) Make Content JsonCodecable.
* maintenance: Fix SQL range for moveToExternal.
* Use JsonCodec to serialize SelserContext.
* Forward-compat data for SelserContext w/ JSON-encoded Content.
* (T372444, T404230) DeletedContribsPager: Use the UserIdentity object instead
of the raw target string.
* (T401099, CVE-2025-61638) Upgrading wikimedia/parsoid (v0.20.3 => v0.20.4).
* (T394968) Metadata: ignore LocationCreated, similar to LocationShown.
* (T366083) OutputTransform: Fix double IDs on headings.
* (T381617) Use Remex/HtmlHelper to implement Parser::replaceTableOfContents.
* Re-apply "Use Remex for DeduplicateStyles transform".
* (T400505) Regenerate patch-drop-page_restrictions-pr_user.sql for SQLite.
* (T387478, CVE-2025-61634) SECURITY: REST: Set cache-control value of
max-age=60 for redirects.
* (T394396, CVE-2025-61636) SECURITY: Escape rawElement $content.
* (T394856, CVE-2025-61637) SECURITY: Escape three system messages used by
live preview.
* (T401099, CVE-2025-61638) SECURITY: Sanitize data- attributes.
* (T280413, CVE-2025-61639) SECURITY: Use ManualLogEntry::getDeleted in
::getRecentChange.
* (T402075, CVE-2025-61640) SECURITY: Parse messages instead of inserting
them as HTML.
* (T298690, CVE-2025-61641) SECURITY: api: Disable maxsize in QueryAllPages
in miser mode.
* (T402313, CVE-2025-61642) SECURITY: Escape submit button label for Codex-based
HTMLForms.
* (T403757, CVE-2025-61643) SECURITY: Don't send suppressed recent changes to
RCFeeds.
* (T398706, CVE-2025-61646) SECURITY: Prevent leaking hidden usernames in
Watchlist/RecentChanges.
== MediaWiki 1.43.3 ==
This is a maintenance release of the MediaWiki 1.43 branch.
=== Changes since MediaWiki 1.43.2 ===
* Localisation updates.
* Fix test failures related to 1.43.2.
* (T398269) Fixup vendor issues related to symfony/polyfill-php.
== Mediawiki 1.43.2 ==
This is a security and maintenance release of the MediaWiki 1.43 branch.
=== Changes since MediaWiki 1.43.1 ===
* Localisation updates.
* (T388708) Diffs: avoid getContentHandler on null error.
* filebackend: Avoid passing null to FileBackend::normalizeContainerPath.
* (T390001) UploadBase: makeWarningsSerializable() should accept MessageParam
objects.
* tests: Add test cases for UploadFromChunks.
* (T382086) swagger-ui: Add licenses of packages used by Swagger UI bundle.
* (T392086) specials: Fix PHP Warning on Special:PasswordReset for crafted
input.
* (T386175, CVE-2025-32072) SECURITY: Escape newpage message in FeedUtils.
* (T391179) installer: fix MySQL create user permissions check.
* (T391169) INSTALL: Document requirement for bcmath/gmp on 32-bit systems.
* (T389260) language: Avoid warning when 'namespaceGenderAliases' is null.
* (T391867) http: Handle accept header with incomplete q.
* Update Pingback address.
* (T387684) filerepo: No exception on redirect without width in
ThumbnailEntryPoint.
* (T393879) objectcache: Cast explicitly to integer.
* tests: Use GLOB_BRACE in JsonSchemaAssertionTraitTest.
* tests: Fix casing of MediaWiki in @covers.
* (T394989) FormatMetadata::formatFraction: Don't risk passing null to
preg_match.
* (T374314) Link mw.Uri migration guide in docs and log warnings.
* (T395214) title: Reset cached Title objects between tests.
* (T395214) phpunit: Remove superfluous Title::clearCaches() calls.
* (T221560) Remove hyphens from legal search characters for MySQL-based database
searches.
* (T393628) Use anonymous user when creating named account from temp account.
* (T71997, T382963) Update RfC links to bypass redirect.
* (T351055) Improve BrokenRedirects display.
* (T382963) Sync up core repo with Parsoid.
* (T382963) Update wikimedia/parsoid to 0.20.3.
* (T395834) Treat File::getShortDesc() as possibly unsafe HTML.
* tests: Match deprecation message under php8.4 in DeprecationHelperTest.
* (T379445) debug: Migrate E_USER_ERROR to throw Error in DeprecationHelper.
* (T221560) Setup: Switch vendor error from echo+E_USER_ERROR to echo+exit.
* Setup: Update error message for composer dependencies check.
* (T381341, T379445) widget: Remove outdated try/catch wrapper from
SpinnerWidget.
* (T379445) phpunit: Remove unused trigger_error from TestLogger.
* (T356451) logger: Make log() methods return void.
* (T328921, T359868) Drop PHP 7.4/8.0 support from master (forward-port from MW
1.42).
* Drop a few phan PhanImpossibleTypeComparison suppressions now we've dropped
PHP 7.4.
* Clean up resource type and phan suppression in postgres code.
* structure tests: allow PHP 8.1 syntax and autoload enums.
* rdbms: fix table prefixing in "FOR UPDATE" clause generation in Postgres.
* (T388406) RefreshLinksJob: Check hastext before comparing HTML.
* (T397521) Api: Fix permission checks in action=compare.
* (T397883, T397643) htmlform: fix min/max validations on empty input in
int/float fields.
* specials: SpecialTalkPage: Use config from request context.
* (T380456) exception: Avoid service container init in exception handler.
* (T387408) exception: Skip use of HookRunner when not autoloaded.
* (T397470) Remove feature flagged Swagger UI based Special:RestSandbox.
* (T391343, CVE-2025-6589) SECURITY: BlockList: Hide rows containing suppressed
users.
* (T392746, CVE-2025-6590) SECURITY: Escape usernames in HTMLUserTextField
validation errors.
* (T392276, CVE-2025-6591) SECURITY: API: Escape i18n messages in
action=feedcontributions.
* (T396230, T31856, CVE-2025-6593) SECURITY: fix IP leak to unverified email.
* (T395063, CVE-2025-6594) SECURITY: apisandbox: Fix reflected XSS when invalid
'format' is provided.
* (T389009, CVE-2025-6597) SECURITY: Do not treat autocreation as login for
reauthentication.
* (T389010, CVE-2025-6926) SECURITY: Allow extensions to supress the reauth
flag on login.
* (T397595, CVE-2025-6927) SECURITY: Fix autoblocks visibility when
bl_deleted=1.
* (T397595, CVE-2025-6927) SECURITY: Fix leak of hidden usernames via autoblocks
of those users.
== MediaWiki 1.43.1 ==
This is a security and maintenance release of the MediaWiki 1.43 branch.
=== Changes since MediaWiki 1.43.0 ===
* Localisation updates.
* (T375707) exception: Convert E_STRICT errors to E_USER_NOTICE.
* (T380755) session: Do not set session.use_trans_sid.
* (T382987) $wgDnsBlacklistUrls now defaults to an empty array. See the comment
in the "Configuration changes for system administrators" section.
* (T383037) MimeMap: add gltf and glb mime types.
* (T383037) MimeAnalyzer: detect magic number for gltf binary.
* Commit swagger-ui's NOTICE.
* (T382484) dumps: Use proc_close() to close proc_open() subprocess.
* (T375707) MWExceptionHandler: Add error suppression to constant( 'E_STRICT' ).
* (T384879) FormatMetadata: Prevent running preg_match() on null.
* (T384995) specialpage: Improve handling of invalid lang codes on login/signup.
* (T385055) resourceloader: Fix hash computation for virtual files with
versionFilePath.
* (T385169) MultiUsernameFilter: Don't try to split ids if they're not a string.
* (T385567) parser: Gracefully handle invalid ParsoidRenderID keys.
* (T385568) rest: Return a 400 for invalid render IDs.
* (T383646) installer: Simplify the information box.
* (T384524) installer: Fix conflation between warning and info messages.
* (T376711) language: Use fallback chain to create NumberFormatter.
* (T384524) installer: Restore success messages.
* (T384524) installer: Restore "complete" success message.
* (T385332) feeds: Fix str_replace() deprecation warnings on PHP 8.
* (T386891) Revert "maintenance: Use DatabaseSqlite for type-hinting instead of
DBConnRef".
* (T381205) Add explanation text for "Allow emails from brand-new users".
* (T380880) ExternalLinks: fix mailto: links reversal.
* (T381033) RateLimiter: Fix peek mode.
* initEditCount: Join from user to actor to revision.
* (T387130,CVE-2025-32699) SECURITY: Update wikimedia/parsoid to 0.20.2.
* (T385519) Sanitizer::normalizeWhitespace warn on preg_replace error.
* (T387638) RevDelList: Ensure setVisibility always includes itemStatuses in
value if applicable.
* (T388296) ImportImages: Exit with non-zero code if import fails.
* Request: Improve log message when headers already sent.
* (T386368, T387397) REST page metadata endpoints: handle supressed data
gracefully.
* (T388066) Avoid trying to load the session user in MW_NO_SESSION endpoints.
* (T388171) HttpError: Cast Message to string.
* (T384197) permissions: Avoid potential infinite loop if BlockDisablesLogin =
true.
* (T388255) ApiLogin: Don't break BotPasswords if password or user is blank,
just error.
* (T388924) MagicWord::replace*: Make sure we don't pass null into preg_match/
preg_replace.
* (T388944) Html: Fix "substr(): Passing null to parameter #1 ($string) of type
string is deprecated".
* (T388728, T385519) Sanitizer::normalizeSectionNameWhitespace: Apply same
anti-null fix as 270499b.
* (T387690) upload: Suppress warnings from iconv().
* (T388733) Sanitizer::normalizeWhitespace: simplify redundant preg_replace.
* (T315573) Fix GREATEST usage in site_stats.
* (T304474, CVE-2025-32696) SECURITY: Apply proper restrictions on file revert
action.
* (T24521, T62109, T140010, CVE-2025-32697) SECURITY: PermissionManager:
Differentiate between cascading protection of file content and file pages.
* (T387507) ResourceLoader: update wikimedia/minify from 2.8.0 to 2.8.1.
* (T388273, T388335) Upgrading pear/net_url2 (v2.2.2 => v2.2.3).
* (T390063, T277675) ResourceLoader: update wikimedia/minify to 2.9.0.
* (T384851) FileBackend: PHP Deprecated: strrpos(): Passing null to parameter #1
($haystack).
* (T378622) Parameterize ChangeTags::buildTagFilterSelector to support various
tag sets.
* (T344352) ChangeTags: Optimize label and description parsing.
* In .htaccess deny files, use "Satisfy All".
* (T322672, T387478) REST: Remove unused setUseParserCache() as potential
footgun.
* (T389028) block: Fix DBS::acquireTarget() race using GET_LOCK().
* (T388807) LanguageConverter: Only set mTablesLoaded once they're really
loaded.
* RestrictionStore: Remove short-circuit mode when fetching cascading sources.
* (T385958, CVE-2025-32698) SECURITY: LogPager.php: Restriction enforcer
functions do not correctly enforce suppression restrictions.
* (T387130, CVE-2025-32699) SECURITY: Potential javascript injection attack
enabled by Unicode normalization in Action API.
* (T358689, CVE-2025-3469) SECURITY: i18n XSS vulnerability in
HTMLMultiSelectField when sections are used.
== MediaWiki 1.43.0 ==
@ -246,7 +499,7 @@ For notes on 1.42.x and older releases, see HISTORY.
* Updated wikimedia/at-ease from 2.1.0 to 3.0.0.
* Updated wikimedia/json-codec from 3.0.1 to 3.0.3.
* Updated wikimedia/less.php from 4.2.1 to 5.1.2.
* Updated wikimedia/minify from 2.7.0 to 2.8.0.
* Updated wikimedia/minify from 2.7.0 to 2.9.0.
* Updated wikimedia/normalized-exception from 1.0.1 to 2.0.0.
* Updated wikimedia/php-session-serializer from 2.0.1 to 3.0.0.
* Updated wikimedia/purtle from 1.0.8 to 2.0.0.

View file

@ -1075,10 +1075,10 @@ $wgAutoloadLocalClasses = [
'MediaWiki\\Cache\\Hook\\HTMLFileCache__useFileCacheHook' => __DIR__ . '/includes/cache/Hook/HTMLFileCache__useFileCacheHook.php',
'MediaWiki\\Cache\\Hook\\HtmlCacheUpdaterAppendUrlsHook' => __DIR__ . '/includes/cache/Hook/HtmlCacheUpdaterAppendUrlsHook.php',
'MediaWiki\\Cache\\Hook\\HtmlCacheUpdaterVaryUrlsHook' => __DIR__ . '/includes/cache/Hook/HtmlCacheUpdaterVaryUrlsHook.php',
'MediaWiki\\Cache\\Hook\\MessageCacheFetchOverridesHook' => __DIR__ . '/includes/language/Hook/MessageCacheFetchOverridesHook.php',
'MediaWiki\\Cache\\Hook\\MessageCacheReplaceHook' => __DIR__ . '/includes/language/Hook/MessageCacheReplaceHook.php',
'MediaWiki\\Cache\\Hook\\MessageCache__getHook' => __DIR__ . '/includes/language/Hook/MessageCache__getHook.php',
'MediaWiki\\Cache\\Hook\\MessagesPreLoadHook' => __DIR__ . '/includes/language/Hook/MessagesPreLoadHook.php',
'MediaWiki\\Cache\\Hook\\MessageCacheFetchOverridesHook' => __DIR__ . '/includes/cache/Hook/MessageCacheFetchOverridesHook.php',
'MediaWiki\\Cache\\Hook\\MessageCacheReplaceHook' => __DIR__ . '/includes/cache/Hook/MessageCacheReplaceHook.php',
'MediaWiki\\Cache\\Hook\\MessageCache__getHook' => __DIR__ . '/includes/cache/Hook/MessageCache__getHook.php',
'MediaWiki\\Cache\\Hook\\MessagesPreLoadHook' => __DIR__ . '/includes/cache/Hook/MessagesPreLoadHook.php',
'MediaWiki\\Cache\\LinkBatch' => __DIR__ . '/includes/cache/LinkBatch.php',
'MediaWiki\\Cache\\LinkBatchFactory' => __DIR__ . '/includes/cache/LinkBatchFactory.php',
'MediaWiki\\Cache\\LinkCache' => __DIR__ . '/includes/cache/LinkCache.php',
@ -1142,6 +1142,7 @@ $wgAutoloadLocalClasses = [
'MediaWiki\\Content\\Content' => __DIR__ . '/includes/content/Content.php',
'MediaWiki\\Content\\ContentHandler' => __DIR__ . '/includes/content/ContentHandler.php',
'MediaWiki\\Content\\ContentHandlerFactory' => __DIR__ . '/includes/content/ContentHandlerFactory.php',
'MediaWiki\\Content\\ContentJsonCodec' => __DIR__ . '/includes/content/ContentJsonCodec.php',
'MediaWiki\\Content\\ContentModelChange' => __DIR__ . '/includes/content/ContentModelChange.php',
'MediaWiki\\Content\\CssContent' => __DIR__ . '/includes/content/CssContent.php',
'MediaWiki\\Content\\CssContentHandler' => __DIR__ . '/includes/content/CssContentHandler.php',
@ -1873,6 +1874,7 @@ $wgAutoloadLocalClasses = [
'MediaWiki\\OutputTransform\\Stages\\HandleParsoidSectionLinks' => __DIR__ . '/includes/OutputTransform/Stages/HandleParsoidSectionLinks.php',
'MediaWiki\\OutputTransform\\Stages\\HandleSectionLinks' => __DIR__ . '/includes/OutputTransform/Stages/HandleSectionLinks.php',
'MediaWiki\\OutputTransform\\Stages\\HandleTOCMarkers' => __DIR__ . '/includes/OutputTransform/Stages/HandleTOCMarkers.php',
'MediaWiki\\OutputTransform\\Stages\\HardenNFC' => __DIR__ . '/includes/OutputTransform/Stages/HardenNFC.php',
'MediaWiki\\OutputTransform\\Stages\\HydrateHeaderPlaceholders' => __DIR__ . '/includes/OutputTransform/Stages/HydrateHeaderPlaceholders.php',
'MediaWiki\\OutputTransform\\Stages\\ParsoidLocalization' => __DIR__ . '/includes/OutputTransform/Stages/ParsoidLocalization.php',
'MediaWiki\\OutputTransform\\Stages\\RenderDebugInfo' => __DIR__ . '/includes/OutputTransform/Stages/RenderDebugInfo.php',
@ -2253,7 +2255,7 @@ $wgAutoloadLocalClasses = [
'MediaWiki\\Rest\\Module\\MatcherBasedModule' => __DIR__ . '/includes/Rest/Module/MatcherBasedModule.php',
'MediaWiki\\Rest\\Module\\Module' => __DIR__ . '/includes/Rest/Module/Module.php',
'MediaWiki\\Rest\\Module\\SpecBasedModule' => __DIR__ . '/includes/Rest/Module/SpecBasedModule.php',
'MediaWiki\\Rest\\PathTemplateMatcher\\ModuleConfigurationException' => __DIR__ . '/includes/Rest/Module/ModuleConfigurationException.php',
'MediaWiki\\Rest\\PathTemplateMatcher\\ModuleConfigurationException' => __DIR__ . '/includes/Rest/PathTemplateMatcher/ModuleConfigurationException.php',
'MediaWiki\\Rest\\PathTemplateMatcher\\PathConflict' => __DIR__ . '/includes/Rest/PathTemplateMatcher/PathConflict.php',
'MediaWiki\\Rest\\PathTemplateMatcher\\PathMatcher' => __DIR__ . '/includes/Rest/PathTemplateMatcher/PathMatcher.php',
'MediaWiki\\Rest\\PathTemplateMatcher\\PathSegmentException' => __DIR__ . '/includes/Rest/PathTemplateMatcher/PathSegmentException.php',
@ -2568,7 +2570,6 @@ $wgAutoloadLocalClasses = [
'MediaWiki\\Specials\\SpecialRemoveCredentials' => __DIR__ . '/includes/specials/SpecialRemoveCredentials.php',
'MediaWiki\\Specials\\SpecialRenameUser' => __DIR__ . '/includes/specials/SpecialRenameUser.php',
'MediaWiki\\Specials\\SpecialResetTokens' => __DIR__ . '/includes/specials/SpecialResetTokens.php',
'MediaWiki\\Specials\\SpecialRestSandbox' => __DIR__ . '/includes/specials/SpecialRestSandbox.php',
'MediaWiki\\Specials\\SpecialRevisionDelete' => __DIR__ . '/includes/specials/SpecialRevisionDelete.php',
'MediaWiki\\Specials\\SpecialRunJobs' => __DIR__ . '/includes/specials/SpecialRunJobs.php',
'MediaWiki\\Specials\\SpecialSearch' => __DIR__ . '/includes/specials/SpecialSearch.php',
@ -2660,6 +2661,7 @@ $wgAutoloadLocalClasses = [
'MediaWiki\\Title\\TitleFormatter' => __DIR__ . '/includes/title/TitleFormatter.php',
'MediaWiki\\Title\\TitleParser' => __DIR__ . '/includes/title/TitleParser.php',
'MediaWiki\\Title\\TitleValue' => __DIR__ . '/includes/title/TitleValue.php',
'MediaWiki\\Upload\\SVGCSSChecker' => __DIR__ . '/includes/upload/SVGCSSChecker.php',
'MediaWiki\\User\\ActorCache' => __DIR__ . '/includes/user/ActorCache.php',
'MediaWiki\\User\\ActorMigration' => __DIR__ . '/includes/user/ActorMigration.php',
'MediaWiki\\User\\ActorMigrationBase' => __DIR__ . '/includes/user/ActorMigrationBase.php',

1
cache/.htaccess vendored
View file

@ -1 +1,2 @@
Require all denied
Satisfy All

View file

@ -22,7 +22,6 @@
"prefer-stable": true,
"require": {
"composer/semver": "3.4.3",
"cssjanus/cssjanus": "2.3.0",
"ext-calendar": "*",
"ext-ctype": "*",
"ext-dom": "*",
@ -49,10 +48,10 @@
"psr/http-message": "1.1",
"psr/log": "1.1.4",
"ralouphie/getallheaders": "3.0.3",
"symfony/polyfill-php80": "1.31.0",
"symfony/polyfill-php81": "1.31.0",
"symfony/polyfill-php82": "1.31.0",
"symfony/polyfill-php83": "1.31.0",
"symfony/polyfill-php84": "1.32.0",
"symfony/polyfill-php85": "1.33.0",
"symfony/yaml": "5.4.45",
"wikimedia/assert": "0.5.1",
"wikimedia/at-ease": "3.0.0",
@ -62,14 +61,16 @@
"wikimedia/cldr-plural-rule-parser": "2.0.0",
"wikimedia/common-passwords": "0.5.0",
"wikimedia/composer-merge-plugin": "2.1.0",
"wikimedia/css-sanitizer": "^5.1.0 || ^5.2.0 || ^5.3.0 || ^5.4.0",
"wikimedia/cssjanus": "2.3.0",
"wikimedia/html-formatter": "4.1.0",
"wikimedia/ip-utils": "5.0.0",
"wikimedia/json-codec": "3.0.3",
"wikimedia/less.php": "5.1.2",
"wikimedia/minify": "2.8.0",
"wikimedia/minify": "2.9.0",
"wikimedia/normalized-exception": "2.0.0",
"wikimedia/object-factory": "5.0.1",
"wikimedia/parsoid": "0.20.1",
"wikimedia/parsoid": "0.20.4",
"wikimedia/php-session-serializer": "3.0.0",
"wikimedia/purtle": "2.0.0",
"wikimedia/relpath": "4.0.1",
@ -97,7 +98,7 @@
"mediawiki/mediawiki-codesniffer": "45.0.0",
"mediawiki/mediawiki-phan-config": "0.14.0",
"mediawiki/minus-x": "1.1.3",
"nikic/php-parser": "^4.10.2",
"nikic/php-parser": "^5.5.0",
"php-parallel-lint/php-console-highlighter": "1.0.0",
"php-parallel-lint/php-parallel-lint": "1.4.0",
"phpunit/phpunit": "9.6.19",
@ -112,7 +113,9 @@
"symfony/polyfill-ctype": "1.99",
"symfony/polyfill-intl-grapheme": "1.17.1",
"symfony/polyfill-intl-normalizer": "1.17.1",
"symfony/polyfill-mbstring": "1.99"
"symfony/polyfill-mbstring": "1.99",
"symfony/polyfill-php80": "1.99",
"symfony/polyfill-php81": "1.99"
},
"suggest": {
"ext-apcu": "Faster web responses overall.",

69
composer.local.json Normal file
View file

@ -0,0 +1,69 @@
{
"config": {
"allow-plugins": {
"wikimedia/composer-merge-plugin": true
}
},
"require": {
"mediawiki/semantic-media-wiki": "~6.0.0",
"mediawiki/semantic-result-formats": "dev-master#fd6dfd804bf44d5923a1527be9a1f6e421e08456",
"mediawiki/admin-links": "dev-master#4cec145ad82dbea4e0155bf9abc0ae566547da7b",
"mediawiki/page-forms": "dev-master#d8109745866f0860f66aecd31e009b68e5bedaf1",
"x-mediawiki/mobile-frontend": "^1.43",
"x-mediawiki/confirm-edit": "^1.43",
"x-mediawiki/headscript": "^1.43"
},
"repositories": [
{
"type": "vcs",
"url": "https://gerrit.wikimedia.org/r/mediawiki/extensions/AdminLinks.git"
},
{
"type": "package",
"package": {
"name": "x-mediawiki/mobile-frontend",
"type": "mediawiki-extension",
"version": "1.43.0",
"source": {
"type": "git",
"url": "https://gerrit.wikimedia.org/r/mediawiki/extensions/MobileFrontend.git",
"reference": "REL1_43"
}
}
},
{
"type": "package",
"package": {
"name": "x-mediawiki/confirm-edit",
"type": "mediawiki-extension",
"version": "1.43.0",
"source": {
"type": "git",
"url": "https://gerrit.wikimedia.org/r/mediawiki/extensions/ConfirmEdit.git",
"reference": "REL1_43"
}
}
},
{
"type": "package",
"package": {
"name": "x-mediawiki/headscript",
"type": "mediawiki-extension",
"version": "1.43.0",
"source": {
"type": "git",
"url": "https://gerrit.wikimedia.org/r/mediawiki/extensions/HeadScript.git",
"reference": "REL1_43"
}
}
}
],
"extra": {
"merge-plugin": {
"include": [
"extensions/Nuke/composer.json",
"skins/*/composer.json"
]
}
}
}

View file

@ -4516,7 +4516,7 @@ config-schema:
@since 1.36
ReauthenticateTime:
default:
default: 300
default: 3600
type: object
additionalProperties:
type: integer
@ -7745,26 +7745,6 @@ config-schema:
description: |-
Additional REST API Route files.
A common usage is to enable development/experimental endpoints only on test wikis.
RestSandboxSpecs:
default: { }
type: object
additionalProperties:
type: object
properties: { url: { type: string, format: url }, name: { type: string }, msg: { type: string, description: 'a message key' } }
required: [url]
description: |-
A list of OpenAPI specs to be made available for exploration on
Special:RestSandbox. If none are given, Special:RestSandbox is disabled.
This is an associative array, arbitrary spec IDs to spec descriptions.
Each spec description is an array with the following keys:
- url: the URL that will return the OpenAPI spec.
- name: the name of the API, to be shown on Special:RestSandbox.
Ignored if msg is given.
- msg: a message key for the name of the API, to be shown on
Special:RestSandbox.
@unstable Introduced in 1.43. We may want to rename or change this to
accommodate the need to list external APIs in a central discovery
document.
MaxShellMemory:
default: 307200
description: 'Maximum amount of virtual memory available to shell processes under linux, in KiB.'
@ -8028,7 +8008,7 @@ config-schema:
For details about what data is sent, see: https://www.mediawiki.org/wiki/Manual:$wgPingback
For the pingback privacy policy, see:
https://wikimediafoundation.org/wiki/MediaWiki_Pingback_Privacy_Statement
Aggregate pingback data is available at: https://pingback.wmflabs.org/
Aggregate pingback data is available at: https://pingback.wmcloud.org/
@since 1.28
OriginTrials:
default: []

View file

@ -4226,12 +4226,6 @@ $wgAllowedCorsHeaders = null;
*/
$wgRestAPIAdditionalRouteFiles = null;
/**
* Config variable stub for the RestSandboxSpecs setting, for use by phpdoc and IDEs.
* @see MediaWiki\MainConfigSchema::RestSandboxSpecs
*/
$wgRestSandboxSpecs = null;
/**
* Config variable stub for the MaxShellMemory setting, for use by phpdoc and IDEs.
* @see MediaWiki\MainConfigSchema::MaxShellMemory

@ -0,0 +1 @@
Subproject commit c608823de18308908f75052734529f0f9c8d354f

View file

@ -1 +1,2 @@
Require all denied
Satisfy All

View file

@ -46,48 +46,99 @@ class AutoLoader {
'MediaWiki\\Block\\' => __DIR__ . '/block/',
'MediaWiki\\Cache\\' => __DIR__ . '/cache/',
'MediaWiki\\ChangeTags\\' => __DIR__ . '/changetags/',
'MediaWiki\\Collation\\' => __DIR__ . '/collation/',
'MediaWiki\\Composer\\' => __DIR__ . '/composer/',
'MediaWiki\\Config\\' => __DIR__ . '/config/',
'MediaWiki\\Content\\' => __DIR__ . '/content/',
'MediaWiki\\Context\\' => __DIR__ . '/context/',
'MediaWiki\\DAO\\' => __DIR__ . '/dao/',
'MediaWiki\\DB\\' => __DIR__ . '/db/',
'MediaWiki\\Debug\\' => __DIR__ . '/debug/',
'MediaWiki\\Deferred\\' => __DIR__ . '/deferred/',
'MediaWiki\\Deferred\\LinksUpdate\\' => __DIR__ . '/deferred/LinksUpdate/',
'MediaWiki\\Diff\\' => __DIR__ . '/diff/',
'MediaWiki\\EditPage\\' => __DIR__ . '/editpage/',
'MediaWiki\\Edit\\' => __DIR__ . '/edit/',
'MediaWiki\\Exception\\' => __DIR__ . '/exception/',
'MediaWiki\\Export\\' => __DIR__ . '/export/',
'MediaWiki\\FileBackend\\' => __DIR__ . '/filebackend/',
'MediaWiki\\FileBackend\\FSFile\\' => __DIR__ . '/libs/filebackend/fsfile/',
'MediaWiki\\FileBackend\\LockManager\\' => __DIR__ . '/filebackend/lockmanager/',
'MediaWiki\\FileRepo\\' => __DIR__ . '/filerepo/',
'MediaWiki\\FileRepo\\File\\' => __DIR__ . '/filerepo/file/',
'MediaWiki\\HTMLForm\\' => __DIR__ . '/htmlform/',
'MediaWiki\\HTMLForm\\Field\\' => __DIR__ . '/htmlform/fields/',
'MediaWiki\\Http\\' => __DIR__ . '/http/',
'MediaWiki\\Installer\\' => __DIR__ . '/installer/',
'MediaWiki\\Interwiki\\' => __DIR__ . '/interwiki/',
'MediaWiki\\JobQueue\\' => __DIR__ . '/jobqueue/',
'MediaWiki\\JobQueue\\Exceptions\\' => __DIR__ . '/jobqueue/exception/',
'MediaWiki\\JobQueue\\Jobs\\' => __DIR__ . '/jobqueue/jobs/',
'MediaWiki\\JobQueue\\Utils\\' => __DIR__ . '/jobqueue/utils/',
'MediaWiki\\Json\\' => __DIR__ . '/json/',
'MediaWiki\\Languages\\' => __DIR__ . '/language/',
'MediaWiki\\Languages\\Data\\' => __DIR__ . '/languages/data/',
'MediaWiki\\Language\\' => __DIR__ . '/language/',
'MediaWiki\\Libs\\' => __DIR__ . '/libs/',
'MediaWiki\\LinkedData\\' => __DIR__ . '/linkeddata/',
'MediaWiki\\Linker\\' => __DIR__ . '/linker/',
'MediaWiki\\Logger\\' => __DIR__ . '/debug/logger/',
'MediaWiki\\Logger\\Monolog\\' => __DIR__ . '/debug/logger/monolog/',
'MediaWiki\\Logging\\' => __DIR__ . '/logging/',
'MediaWiki\\Mail\\' => __DIR__ . '/mail/',
'MediaWiki\\Maintenance\\' => __DIR__ . '/../maintenance/includes/',
'MediaWiki\\Page\\' => __DIR__ . '/page/',
'MediaWiki\\Parser\\' => __DIR__ . '/parser/',
'MediaWiki\\Password\\' => __DIR__ . '/password/',
'MediaWiki\\PoolCounter\\' => __DIR__ . '/poolcounter/',
'MediaWiki\\Preferences\\' => __DIR__ . '/preferences/',
'MediaWiki\\Profiler\\' => __DIR__ . '/profiler/',
'MediaWiki\\RCFeed\\' => __DIR__ . '/recentchanges/RCFeed/',
'MediaWiki\\RecentChanges\\' => __DIR__ . '/recentchanges/',
'MediaWiki\\Registration\\' => __DIR__ . '/registration/',
'MediaWiki\\RevisionList\\' => __DIR__ . '/revisionlist/',
'MediaWiki\\Search\\' => __DIR__ . '/search/',
'MediaWiki\\Search\\SearchWidgets\\' => __DIR__ . '/search/searchwidgets/',
'MediaWiki\\Session\\' => __DIR__ . '/session/',
'MediaWiki\\Shell\\' => __DIR__ . '/shell/',
'MediaWiki\\Site\\' => __DIR__ . '/site/',
'MediaWiki\\Skin\\' => __DIR__ . '/skins/',
'MediaWiki\\Sparql\\' => __DIR__ . '/sparql/',
'MediaWiki\\SpecialPage\\' => __DIR__ . '/specialpage/',
'MediaWiki\\Specials\\Contribute\\' => __DIR__ . '/specials/Contribute',
'MediaWiki\\Specials\\' => __DIR__ . '/specials/',
'MediaWiki\\Specials\\Contribute\\' => __DIR__ . '/specials/Contribute/',
'MediaWiki\\Specials\\Redirects\\' => __DIR__ . '/specials/redirects/',
'MediaWiki\\Tidy\\' => __DIR__ . '/tidy/',
'MediaWiki\\Title\\' => __DIR__ . '/title/',
'MediaWiki\\User\\' => __DIR__ . '/user/',
'MediaWiki\\Utils\\' => __DIR__ . '/utils/',
'MediaWiki\\Watchlist\\' => __DIR__ . '/watchlist/',
'MediaWiki\\Widget\\' => __DIR__ . '/widget/',
'MediaWiki\\Xml\\' => __DIR__ . '/xml/',
'Wikimedia\\' => __DIR__ . '/libs/',
'Wikimedia\\ArrayUtils\\' => __DIR__ . '/libs/',
'Wikimedia\\Composer\\' => __DIR__ . '/libs/composer/',
'Wikimedia\\DependencyStore\\' => __DIR__ . '/ResourceLoader/dependencystore/',
'Wikimedia\\EventRelayer\\' => __DIR__ . '/libs/eventrelayer/',
'Wikimedia\\FileBackend\\' => __DIR__ . '/libs/filebackend/',
'Wikimedia\\FileBackend\\FileIteration\\' => __DIR__ . '/libs/filebackend/fileiteration/',
'Wikimedia\\FileBackend\\FileOpHandle\\' => __DIR__ . '/libs/filebackend/fileophandle/',
'Wikimedia\\FileBackend\\FileOps\\' => __DIR__ . '/libs/filebackend/fileop/',
'Wikimedia\\FileBackend\\FSFile\\' => __DIR__ . '/libs/filebackend/fsfile/',
'Wikimedia\\HashRing\\' => __DIR__ . '/libs/',
'Wikimedia\\HtmlArmor\\' => __DIR__ . '/libs/',
'Wikimedia\\Http\\' => __DIR__ . '/libs/http/',
'Wikimedia\\LightweightObjectStore\\' => __DIR__ . '/libs/objectcache/utils/',
'Wikimedia\\MapCacheLRU\\' => __DIR__ . '/libs/',
'Wikimedia\\Mime\\' => __DIR__ . '/libs/mime/',
'Wikimedia\\NonSerializable\\' => __DIR__ . '/libs/',
'Wikimedia\\ObjectCache\\' => __DIR__ . '/libs/objectcache/',
'Wikimedia\\Rdbms\\Database\\' => __DIR__ . '/libs/rdbms/database/',
'Wikimedia\\Rdbms\\Platform\\' => __DIR__ . '/libs/rdbms/platform/',
'Wikimedia\\Rdbms\\Replication\\' => __DIR__ . '/libs/rdbms/database/replication/',
'Wikimedia\\StringUtils\\' => __DIR__ . '/libs/',
'Wikimedia\\Telemetry\\' => __DIR__ . '/libs/telemetry/',
'Wikimedia\\Timing\\' => __DIR__ . '/libs/',
'Wikimedia\\UUID\\' => __DIR__ . '/libs/uuid/',
];

View file

@ -88,6 +88,7 @@ class TrackingCategories {
'unstrip-depth-category',
'unstrip-size-category',
'bad-language-code-category',
'bad-double-underscore-category',
'double-px-category',
];

View file

@ -4,6 +4,7 @@ namespace MediaWiki\CommentFormatter;
use MediaWiki\Cache\LinkBatchFactory;
use MediaWiki\Cache\LinkCache;
use MediaWiki\Context\RequestContext;
use MediaWiki\HookContainer\HookContainer;
use MediaWiki\Language\Language;
use MediaWiki\Linker\LinkRenderer;
@ -24,8 +25,6 @@ class CommentParserFactory {
/** @var RepoGroup */
private $repoGroup;
/** @var Language */
private $userLang;
/** @var Language */
private $contLang;
/** @var TitleParser */
private $titleParser;
@ -39,7 +38,6 @@ class CommentParserFactory {
* @param LinkBatchFactory $linkBatchFactory
* @param LinkCache $linkCache
* @param RepoGroup $repoGroup
* @param Language $userLang
* @param Language $contLang
* @param TitleParser $titleParser
* @param NamespaceInfo $namespaceInfo
@ -50,7 +48,6 @@ class CommentParserFactory {
LinkBatchFactory $linkBatchFactory,
LinkCache $linkCache,
RepoGroup $repoGroup,
Language $userLang,
Language $contLang,
TitleParser $titleParser,
NamespaceInfo $namespaceInfo,
@ -60,7 +57,6 @@ class CommentParserFactory {
$this->linkBatchFactory = $linkBatchFactory;
$this->linkCache = $linkCache;
$this->repoGroup = $repoGroup;
$this->userLang = $userLang;
$this->contLang = $contLang;
$this->titleParser = $titleParser;
$this->namespaceInfo = $namespaceInfo;
@ -76,7 +72,7 @@ class CommentParserFactory {
$this->linkBatchFactory,
$this->linkCache,
$this->repoGroup,
$this->userLang,
RequestContext::getMain()->getLanguage(),
$this->contLang,
$this->titleParser,
$this->namespaceInfo,

View file

@ -34,7 +34,7 @@ use Wikimedia\Rdbms\IDatabase;
*
* @since 1.35 (also backported to 1.33.3 and 1.34.1)
*/
define( 'MW_VERSION', '1.43.0' );
define( 'MW_VERSION', '1.43.5' );
/** @{
* Obsolete IDatabase::makeList() constants

View file

@ -271,11 +271,11 @@ class LinkFilter {
$mailparts = explode( '@', $bits['path'], 2 );
if ( count( $mailparts ) === 2 ) {
$domainpart = rtrim( self::reverseDomain( $mailparts[0] ), '.' );
$bits['host'] = $mailparts[1] . '@' . $domainpart;
} else {
// No @, assume it's a local part with no domain
$domainpart = '';
$bits['host'] = $mailparts[0];
}
$bits['host'] = $mailparts[1] . '@' . $domainpart;
} else {
$bits['host'] = rtrim( self::reverseDomain( $bits['host'] ), '.' );
}

View file

@ -100,7 +100,7 @@ class AtomFeed extends ChannelFeed {
"url" => $this->xmlEncode(
$this->urlUtils->expand( $item->getUrlUnescaped(), PROTO_CURRENT ) ?? ''
),
"date" => $this->xmlEncode( $this->formatTime( $item->getDate() ) ),
"date" => $this->xmlEncodeNullable( $this->formatTime( $item->getDate() ) ),
"description" => $item->getDescription(),
"author" => $item->getAuthor()
];

View file

@ -100,6 +100,15 @@ class FeedItem {
return htmlspecialchars( $string );
}
/**
* Encode $string so that it can be safely embedded in a XML document,
* returning `null` if $string was `null`.
* @since 1.44 (also backported to 1.39.12, 1.42.6 and 1.43.1)
*/
public function xmlEncodeNullable( ?string $string ): ?string {
return $string !== null ? $this->xmlEncode( $string ) : null;
}
/**
* Get the unique id of this item; already xml-encoded
*

View file

@ -251,7 +251,7 @@ class FeedUtils {
$diffText = Html::rawElement(
'p',
[],
Html::rawElement( 'b', [], wfMessage( 'newpage' )->text() )
Html::element( 'b', [], wfMessage( 'newpage' )->text() )
);
$diffText .= Html::rawElement( 'div', [], $html );
}

View file

@ -78,7 +78,7 @@ class RSSFeed extends ChannelFeed {
"permalink" => $item->rssIsPermalink,
"uniqueID" => $item->getUniqueID(),
"description" => $item->getDescription(),
"date" => $this->xmlEncode( $this->formatTime( $item->getDate() ) ),
"date" => $this->xmlEncodeNullable( $this->formatTime( $item->getDate() ) ),
"author" => $item->getAuthor()
];
$comments = $item->getCommentsUnescaped();

View file

@ -28,6 +28,7 @@ namespace MediaWiki\Html;
use MediaWiki\Json\FormatJson;
use MediaWiki\MainConfigNames;
use MediaWiki\MediaWikiServices;
use MediaWiki\Parser\Sanitizer;
use MediaWiki\Request\ContentSecurityPolicy;
use UnexpectedValueException;
@ -193,6 +194,7 @@ class Html {
if ( isset( self::$voidElements[$element] ) ) {
return $start;
} else {
$contents = Sanitizer::escapeCombiningChar( $contents ?? '' );
return $start . $contents . self::closeElement( $element );
}
}
@ -847,7 +849,7 @@ class Html {
public static function textarea( $name, $value = '', array $attribs = [] ) {
$attribs['name'] = $name;
if ( substr( $value, 0, 1 ) == "\n" ) {
if ( substr( $value ?? '', 0, 1 ) == "\n" ) {
// Workaround for T14130: browsers eat the initial newline
// assuming that it's just for show, but they do keep the later
// newlines, which we may want to preserve during editing.

View file

@ -23,7 +23,8 @@ class HtmlHelper {
* RemexHtml\Serializer\SerializerNode argument, and returns true if it should be modified.
* @param callable $modifyCallback A callback which takes a single
* RemexHtml\Serializer\SerializerNode argument and actually performs the modification on it.
* It must return the new node (which can be the original node object).
* It must return the new node (which can be the original node object)
* or a string, which is treated as the outerHTML of a replacement.
* @param bool $html5format Defaults to true, which uses standard HTML5
* serialization for the parsed HTML. If set to false, uses a
* serialization which is more compatible with the output of the

View file

@ -3,6 +3,7 @@
namespace MediaWiki\Html;
use Wikimedia\Assert\Assert;
use Wikimedia\RemexHtml\Serializer\HtmlFormatter;
use Wikimedia\RemexHtml\Serializer\SerializerNode;
/**
@ -23,6 +24,9 @@ trait HtmlHelperTrait {
parent::__construct( $options );
$this->shouldModifyCallback = $shouldModifyCallback;
$this->modifyCallback = $modifyCallback;
// Escape U+0338 (T387130)
'@phan-var HtmlFormatter $this';
$this->textEscapes["\u{0338}"] = '&#x338;';
}
public function element( SerializerNode $parent, SerializerNode $node, $contents ) {
@ -30,7 +34,11 @@ trait HtmlHelperTrait {
$node = clone $node;
$node->attrs = clone $node->attrs;
$newNode = ( $this->modifyCallback )( $node );
Assert::parameterType( SerializerNode::class, $newNode, 'return value' );
Assert::parameterType( [ SerializerNode::class, 'string' ], $newNode, 'return value' );
if ( is_string( $newNode ) ) {
// Replace this element with an "outerHTML" string.
return $newNode;
}
return parent::element( $parent, $newNode, $contents );
} else {
return parent::element( $parent, $node, $contents );

View file

@ -4241,12 +4241,6 @@ class MainConfigNames {
*/
public const RestAPIAdditionalRouteFiles = 'RestAPIAdditionalRouteFiles';
/**
* Name constant for the RestSandboxSpecs setting, for use with Config::get()
* @see MainConfigSchema::RestSandboxSpecs
*/
public const RestSandboxSpecs = 'RestSandboxSpecs';
/**
* Name constant for the MaxShellMemory setting, for use with Config::get()
* @see MainConfigSchema::MaxShellMemory

View file

@ -40,6 +40,7 @@ use MediaWiki\Auth\ResetPasswordSecondaryAuthenticationProvider;
use MediaWiki\Auth\TemporaryPasswordAuthenticationRequest;
use MediaWiki\Auth\TemporaryPasswordPrimaryAuthenticationProvider;
use MediaWiki\Auth\ThrottlePreAuthenticationProvider;
use MediaWiki\Config\ConfigException;
use MediaWiki\Content\CssContentHandler;
use MediaWiki\Content\FallbackContentHandler;
use MediaWiki\Content\JavaScriptContentHandler;
@ -5104,7 +5105,19 @@ class MainConfigSchema {
// in them, erroneously generated by the installer.
$localtimezone = $localtimezone ?: self::getDefaultLocaltimezone();
$offset = ( new DateTimeZone( $localtimezone ) )->getOffset( new DateTime() );
try {
$timezone = new DateTimeZone( $localtimezone );
} catch ( \Exception $e ) {
throw new ConfigException(
sprintf( "Invalid timezone '%s'. Please set a valid timezone in '$%s' in LocalSettings.php. Refer to the list of valid timezones at https://www.php.net/timezones. Error: %s",
$localtimezone,
"wgLocaltimezone",
$e->getMessage() ),
);
}
$offset = $timezone->getOffset( new DateTime() );
return (int)( $offset / 60 );
}
@ -7197,7 +7210,7 @@ class MainConfigSchema {
* @since 1.27
*/
public const ReauthenticateTime = [
'default' => [ 'default' => 300, ],
'default' => [ 'default' => 3600, ],
'type' => 'map',
'additionalProperties' => [ 'type' => 'integer', ],
];
@ -12373,36 +12386,6 @@ class MainConfigSchema {
'type' => 'list',
];
/**
* A list of OpenAPI specs to be made available for exploration on
* Special:RestSandbox. If none are given, Special:RestSandbox is disabled.
*
* This is an associative array, arbitrary spec IDs to spec descriptions.
* Each spec description is an array with the following keys:
* - url: the URL that will return the OpenAPI spec.
* - name: the name of the API, to be shown on Special:RestSandbox.
* Ignored if msg is given.
* - msg: a message key for the name of the API, to be shown on
* Special:RestSandbox.
*
* @unstable Introduced in 1.43. We may want to rename or change this to
* accommodate the need to list external APIs in a central discovery
* document.
*/
public const RestSandboxSpecs = [
'default' => [],
'type' => 'map',
'additionalProperties' => [
'type' => 'object',
'properties' => [
'url' => [ 'type' => 'string', 'format' => 'url' ],
'name' => [ 'type' => 'string' ],
'msg' => [ 'type' => 'string', 'description' => 'a message key' ]
],
'required' => [ 'url' ]
]
];
// endregion -- End AJAX and API
/***************************************************************************/
@ -12821,7 +12804,7 @@ class MainConfigSchema {
* For the pingback privacy policy, see:
* https://wikimediafoundation.org/wiki/MediaWiki_Pingback_Privacy_Statement
*
* Aggregate pingback data is available at: https://pingback.wmflabs.org/
* Aggregate pingback data is available at: https://pingback.wmcloud.org/
*
* @since 1.28
*/

View file

@ -62,6 +62,7 @@ use MediaWiki\Config\Config;
use MediaWiki\Config\ConfigFactory;
use MediaWiki\Config\ConfigRepository;
use MediaWiki\Config\GlobalVarConfig;
use MediaWiki\Content\ContentJsonCodec;
use MediaWiki\Content\IContentHandlerFactory;
use MediaWiki\Content\Renderer\ContentRenderer;
use MediaWiki\Content\Transform\ContentTransformer;
@ -966,6 +967,13 @@ class MediaWikiServices extends ServiceContainer {
return $this->getService( 'ContentHandlerFactory' );
}
/**
* @since 1.45
*/
public function getContentJsonCodec(): ContentJsonCodec {
return $this->getService( 'ContentJsonCodec' );
}
/**
* @since 1.32
*/

View file

@ -34,6 +34,7 @@ use MediaWiki\Page\PageReference;
use MediaWiki\Page\PageReferenceValue;
use MediaWiki\Parser\Parser;
use MediaWiki\Parser\ParserOutput;
use MediaWiki\Parser\Sanitizer;
use MediaWiki\StubObject\StubUserLang;
use MediaWiki\Title\Title;
use RuntimeException;
@ -1042,7 +1043,7 @@ class Message implements Stringable, MessageSpecifier, Serializable {
// '⧼' is used instead of '<' to side-step any
// double-escaping issues.
// (Keep synchronised with mw.Message#toString in JS.)
return '⧼' . htmlspecialchars( $this->key ) . '⧽';
return '⧼' . Sanitizer::escapeCombiningChar( htmlspecialchars( $this->key ) ) . '⧽';
}
if ( in_array( $this->getLanguage()->getCode(), [ 'qqx', 'x-xss' ] ) ) {
@ -1078,6 +1079,7 @@ class Message implements Stringable, MessageSpecifier, Serializable {
} elseif ( $format === self::FORMAT_ESCAPED ) {
$string = $this->transformText( $string );
$string = htmlspecialchars( $string, ENT_QUOTES, 'UTF-8', false );
$string = Sanitizer::escapeCombiningChar( $string );
}
# Raw parameter replacement
@ -1591,7 +1593,7 @@ class Message implements Stringable, MessageSpecifier, Serializable {
case self::FORMAT_BLOCK_PARSE:
case self::FORMAT_ESCAPED:
default:
return htmlspecialchars( $plaintext, ENT_QUOTES );
return Sanitizer::escapeCombiningChar( htmlspecialchars( $plaintext, ENT_QUOTES ) );
}
}

View file

@ -14,6 +14,7 @@ use MediaWiki\OutputTransform\Stages\ExtractBody;
use MediaWiki\OutputTransform\Stages\HandleParsoidSectionLinks;
use MediaWiki\OutputTransform\Stages\HandleSectionLinks;
use MediaWiki\OutputTransform\Stages\HandleTOCMarkers;
use MediaWiki\OutputTransform\Stages\HardenNFC;
use MediaWiki\OutputTransform\Stages\HydrateHeaderPlaceholders;
use MediaWiki\OutputTransform\Stages\ParsoidLocalization;
use MediaWiki\OutputTransform\Stages\RenderDebugInfo;
@ -98,6 +99,10 @@ class DefaultOutputPipelineFactory {
'HydrateHeaderPlaceholders' => [
'class' => HydrateHeaderPlaceholders::class,
],
# This should be last, in order to ensure final output is hardened
'HardenNFC' => [
'class' => HardenNFC::class,
],
];
public function __construct(

View file

@ -2,11 +2,12 @@
namespace MediaWiki\OutputTransform\Stages;
use MediaWiki\Html\Html;
use MediaWiki\Html\HtmlHelper;
use MediaWiki\OutputTransform\ContentTextTransformStage;
use MediaWiki\Parser\ParserOptions;
use MediaWiki\Parser\ParserOutput;
use MediaWiki\Parser\Sanitizer;
use Wikimedia\RemexHtml\Serializer\SerializerNode;
use Wikimedia\RemexHtml\Tokenizer\PlainAttributes;
/**
* Generates a list of unique style links
@ -20,28 +21,51 @@ class DeduplicateStyles extends ContentTextTransformStage {
protected function transformText( string $text, ParserOutput $po, ?ParserOptions $popts, array &$options ): string {
$seen = [];
return preg_replace_callback( '#<style\s+([^>]*data-mw-deduplicate\s*=[\'"][^>]*)>.*?</style>#s',
static function ( $m ) use ( &$seen ) {
$attr = Sanitizer::decodeTagAttributes( $m[1] );
if ( !isset( $attr['data-mw-deduplicate'] ) ) {
return $m[0];
}
$isParsoidContent = $options['isParsoidContent'] ?? false;
$key = $attr['data-mw-deduplicate'];
if ( !isset( $seen[$key] ) ) {
$seen[$key] = true;
$transform = static function ( $fragment ) use ( &$seen, $isParsoidContent ) {
return HtmlHelper::modifyElements(
$fragment,
static function ( SerializerNode $node ): bool {
return $node->name === 'style' &&
( $node->attrs['data-mw-deduplicate'] ?? '' ) !== '';
},
static function ( SerializerNode $node ) use ( &$seen ): SerializerNode {
$key = $node->attrs['data-mw-deduplicate'];
if ( !isset( $seen[$key] ) ) {
$seen[$key] = true;
return $node;
}
// We were going to use an empty <style> here, but there
// was concern that would be too much overhead for browsers.
// So let's hope a <link> with a non-standard rel and href isn't
// going to be misinterpreted or mangled by any subsequent processing.
$node->name = 'link';
$node->attrs = new PlainAttributes( [
'rel' => 'mw-deduplicated-inline-style',
'href' => "mw-data:" . wfUrlencode( $key ),
] );
$node->children = [];
$node->void = true;
return $node;
},
$isParsoidContent
);
};
return $m[0];
}
if ( !$isParsoidContent ) {
// Optimization: Only transform possible style nodes to avoid having to tokenize the entire output,
// which is expensive for large pages (T394059).
// This is unsafe to do for Parsoid content, since the naïve regex below might match encoded style
// tags within data-parsoid attribute values, so only apply it to legacy parser output.
// Parsoid content transformations will be further optimized in T394005.
return preg_replace_callback(
'#<style\s+([^>]*data-mw-deduplicate\s*=[\'"][^>]*)>.*?</style>#s',
static fn ( array $matches ) => $transform( $matches[0] ),
$text
);
}
// We were going to use an empty <style> here, but there
// was concern that would be too much overhead for browsers.
// So let's hope a <link> with a non-standard rel and href isn't
// going to be misinterpreted or mangled by any subsequent processing.
return Html::element( 'link', [
'rel' => 'mw-deduplicated-inline-style',
'href' => "mw-data:" . wfUrlencode( $key ),
] );
}, $text );
return $transform( $text );
}
}

View file

@ -155,6 +155,10 @@ class HandleSectionLinks extends ContentTextTransformStage {
$link, $fallbackAnchor, string $wrapperType
) {
$anchorEscaped = htmlspecialchars( $anchor, ENT_COMPAT );
$idAttr = " id=\"$anchorEscaped\"";
if ( isset( $attrs['id'] ) ) {
$idAttr = '';
}
$fallback = '';
if ( $fallbackAnchor !== false && $fallbackAnchor !== $anchor ) {
$fallbackAnchor = htmlspecialchars( $fallbackAnchor, ENT_COMPAT );
@ -164,16 +168,16 @@ class HandleSectionLinks extends ContentTextTransformStage {
switch ( $wrapperType ) {
case 'legacy':
return "<h$level" . Html::expandAttributes( $attrs ) . ">"
. "$fallback<span class=\"mw-headline\" id=\"$anchorEscaped\">$html</span>"
. "$fallback<span class=\"mw-headline\"$idAttr>$html</span>"
. $link
. "</h$level>";
case 'mwheading':
return "<div class=\"mw-heading mw-heading$level\">"
. "<h$level id=\"$anchorEscaped\"" . Html::expandAttributes( $attrs ) . ">$fallback$html</h$level>"
. "<h$level$idAttr" . Html::expandAttributes( $attrs ) . ">$fallback$html</h$level>"
. $link
. "</div>";
case 'none':
return "<h$level id=\"$anchorEscaped\"" . Html::expandAttributes( $attrs ) . ">$fallback$html</h$level>"
return "<h$level$idAttr" . Html::expandAttributes( $attrs ) . ">$fallback$html</h$level>"
. $link;
default:
throw new LogicException( "Bad wrapper type: $wrapperType" );

View file

@ -0,0 +1,23 @@
<?php
namespace MediaWiki\OutputTransform\Stages;
use MediaWiki\OutputTransform\ContentTextTransformStage;
use MediaWiki\Parser\ParserOptions;
use MediaWiki\Parser\ParserOutput;
use MediaWiki\Parser\Sanitizer;
/**
* Hardens the output against NFC normalization (T387130).
* @internal
*/
class HardenNFC extends ContentTextTransformStage {
public function shouldRun( ParserOutput $po, ?ParserOptions $popts, array $options = [] ): bool {
return true;
}
protected function transformText( string $text, ParserOutput $po, ?ParserOptions $popts, array &$options ): string {
return Sanitizer::escapeCombiningChar( $text );
}
}

View file

@ -20,6 +20,7 @@
// phpcs:disable Generic.Arrays.DisallowLongArraySyntax,PSR2.Classes.PropertyDeclaration,MediaWiki.Usage.DirUsage
// phpcs:disable Squiz.Scope.MemberVarScope.Missing,Squiz.Scope.MethodScope.Missing
// phpcs:disable MediaWiki.Usage.StaticClosure.StaticClosure
/**
* Check PHP Version, as well as for composer dependencies in entry points,
* and display something vaguely comprehensible in the event of a totally
@ -78,6 +79,8 @@ class PHPVersionCheck {
* Displays an error, if the installed PHP version does not meet the minimum requirement.
*/
function checkRequiredPHPVersion() {
// This value should match the PHP version specified in composer.json,
// .phan/config.php, and ScopeStructureTest.php
$minimumVersion = '8.1.0';
/**
@ -186,18 +189,29 @@ HTML;
$missingExtensions = array();
foreach ( $this->functionsExtensionsMapping as $function => $extension ) {
if ( !function_exists( $function ) ) {
$missingExtensions[] = $extension;
$missingExtensions[] = array( $extension );
}
}
// Special case: either of those is required, but only on 32-bit systems (T391169)
if ( PHP_INT_SIZE < 8 && !extension_loaded( 'gmp' ) && !extension_loaded( 'bcmath' ) ) {
$missingExtensions[] = array( 'bcmath', 'gmp' );
}
if ( $missingExtensions ) {
$missingExtText = '';
$missingExtHtml = '';
$baseUrl = 'https://www.php.net';
foreach ( $missingExtensions as $ext ) {
$missingExtText .= " * $ext <$baseUrl/$ext>\n";
$missingExtHtml .= "<li><b>$ext</b> "
. "(<a href=\"$baseUrl/$ext\">more information</a>)</li>";
foreach ( $missingExtensions as $extNames ) {
$plaintextLinks = array();
$htmlLinks = array();
foreach ( $extNames as $ext ) {
$plaintextLinks[] = "$ext <$baseUrl/$ext>";
$htmlLinks[] = "<b>$ext</b> (<a href=\"$baseUrl/$ext\">more information</a>)";
}
$missingExtText .= ' * ' . implode( ' or ', $plaintextLinks ) . "\n";
$missingExtHtml .= "<li>" . implode( ' or ', $htmlLinks ) . "</li>";
}
$cliText = "Error: Missing one or more required PHP extensions. Please see\n"

View file

@ -699,6 +699,7 @@ class PermissionManager {
// We avoid expensive display logic for quickUserCan's and such
if ( $short ) {
$status->fatal( 'badaccess-group0' );
return;
}
// TODO: it would be a good idea to replace the method below with something else like
@ -1130,14 +1131,32 @@ class PermissionManager {
): void {
// TODO: remove & rework upon further use of LinkTarget
$title = Title::newFromLinkTarget( $page );
if ( $rigor !== self::RIGOR_QUICK && !$title->isUserConfigPage() ) {
[ $cascadingSources, $restrictions ] = $this->restrictionStore->getCascadeProtectionSources( $title );
[ $sources, $restrictions, $tlSources, $ilSources ] = $this->restrictionStore
->getCascadeProtectionSources( $title );
// If the file Wikitext isn't transcluded then we
// don't care about edit cascade restrictions for edit action
if ( $action === 'edit' && $page->getNamespace() === NS_FILE && !$tlSources ) {
return;
}
// For the purposes of cascading protection, edit restrictions should apply to uploads or moves
// Thus remap upload and move to edit
// Unless the file content itself is not transcluded
if ( $ilSources && ( $action === 'upload' || $action === 'move' ) ) {
$restrictedAction = 'edit';
} else {
$restrictedAction = $action;
}
// Cascading protection depends on more than this page...
// Several cascading protected pages may include this page...
// Check each cascading level
// This is only for protection restrictions, not for all actions
if ( isset( $restrictions[$action] ) ) {
foreach ( $restrictions[$action] as $right ) {
if ( isset( $restrictions[$restrictedAction] ) ) {
foreach ( $restrictions[$restrictedAction] as $right ) {
// Backwards compatibility, rewrite sysop -> editprotected
if ( $right === 'sysop' ) {
$right = 'editprotected';
@ -1148,10 +1167,10 @@ class PermissionManager {
}
if ( $right != '' && !$this->userHasAllRights( $user, 'protect', $right ) ) {
$wikiPages = '';
foreach ( $cascadingSources as $pageIdentity ) {
foreach ( $sources as $pageIdentity ) {
$wikiPages .= '* [[:' . $this->titleFormatter->getPrefixedText( $pageIdentity ) . "]]\n";
}
$status->fatal( 'cascadeprotected', count( $cascadingSources ), $wikiPages, $action );
$status->fatal( 'cascadeprotected', count( $sources ), $wikiPages, $action );
}
}
}
@ -1563,6 +1582,11 @@ class PermissionManager {
$userObj->isRegistered()
&& $this->options->get( MainConfigNames::BlockDisablesLogin )
) {
// Stash the permissions as they are before triggering any block checks for BlockDisablesLogin
// to avoid a potential infinite loop, since GetUserBlock handlers may themselves check
// permissions on this user. (T384197)
$this->usersRights[ $rightsCacheKey ] = $rights;
$isExempt = in_array( 'ipblock-exempt', $rights, true );
if ( $this->blockManager->getBlock(
$userObj,

View file

@ -210,7 +210,8 @@ class RateLimiter {
$conds = $this->getConditions( $action );
$limiter = $this->wrstatsFactory->createRateLimiter( $conds, [ 'limiter', $action ] );
$limitBatch = $limiter->createBatch( $incrBy );
$peekMode = $incrBy === 0;
$limitBatch = $limiter->createBatch( $incrBy ?: 1 );
$this->logger->debug( __METHOD__ . ": limiting $action rate for {$user->getName()}" );
$id = $user->getId();
@ -311,7 +312,7 @@ class RateLimiter {
'ip' => $ip,
];
$batchResult = $limitBatch->tryIncr();
$batchResult = $peekMode ? $limitBatch->peek() : $limitBatch->tryIncr();
foreach ( $batchResult->getFailedResults() as $type => $result ) {
$this->logger->info(
'User::pingLimiter: User tripped rate limit',

View file

@ -54,7 +54,6 @@ class RestrictionStore {
* ?array `create_protection` => value for getCreateProtection
* bool `cascade` => cascade restrictions on this page to included templates and images?
* array[] `cascade_sources` => the results of getCascadeProtectionSources
* bool `has_cascading` => Are cascading restrictions in effect on this page?
* ]
*/
private $cache = [];
@ -266,7 +265,7 @@ class RestrictionStore {
public function isCascadeProtected( PageIdentity $page ): bool {
$page->assertWiki( PageIdentity::LOCAL );
return $this->getCascadeProtectionSourcesInternal( $page, true );
return $this->getCascadeProtectionSourcesInternal( $page )[0] !== [];
}
/**
@ -520,81 +519,96 @@ class RestrictionStore {
* Cascading protection: Get the source of any cascading restrictions on this page.
*
* @param PageIdentity $page Must be local
* @return array[] Two elements: First is an array of PageIdentity objects of the pages from
* which cascading restrictions have come, which may be empty. Second is an array like that
* returned by getAllRestrictions().
* @return array[] Four elements: First is an array of PageIdentity objects combining the
* third and fourth elements of this array, which may be empty.
* Second is an array like that returned by getAllRestrictions().
* Third is an array of PageIdentity objects of the pages from
* which cascading restrictions have come, orginating via templatelinks, which may be empty.
* Fourth is an array of PageIdentity objects of the pages from
* which cascading restrictions have come, orginating via imagelinks, which may be empty.
*/
public function getCascadeProtectionSources( PageIdentity $page ): array {
$page->assertWiki( PageIdentity::LOCAL );
return $this->getCascadeProtectionSourcesInternal( $page, false );
return $this->getCascadeProtectionSourcesInternal( $page );
}
/**
* Cascading protection: Get the source of any cascading restrictions on this page.
*
* @param PageIdentity $page Must be local
* @param bool $shortCircuit If true, just return true or false instead of the actual lists.
* @return array|bool If $shortCircuit is true, return true if there is some cascading
* protection and false otherwise. Otherwise, same as getCascadeProtectionSources().
* @return array[] Same as getCascadeProtectionSources().
*/
private function getCascadeProtectionSourcesInternal(
PageIdentity $page, bool $shortCircuit = false
) {
PageIdentity $page
): array {
if ( !$page->canExist() ) {
return $shortCircuit ? false : [ [], [] ];
return [ [], [], [], [] ];
}
$cacheEntry = &$this->cache[CacheKeyHelper::getKeyForPage( $page )];
if ( !$shortCircuit && isset( $cacheEntry['cascade_sources'] ) ) {
if ( isset( $cacheEntry['cascade_sources'] ) ) {
return $cacheEntry['cascade_sources'];
} elseif ( $shortCircuit && isset( $cacheEntry['has_cascading'] ) ) {
return $cacheEntry['has_cascading'];
}
$dbr = $this->loadBalancer->getConnection( DB_REPLICA );
$queryBuilder = $dbr->newSelectQueryBuilder();
$queryBuilder->select( [ 'pr_expiry' ] )
$baseQuery = $dbr->newSelectQueryBuilder()
->select( [
'pr_expiry',
'pr_page',
'page_namespace',
'page_title',
'pr_type',
'pr_level'
] )
->from( 'page_restrictions' )
->join( 'page', null, 'page_id=pr_page' )
->where( [ 'pr_cascade' => 1 ] );
if ( $page->getNamespace() === NS_FILE ) {
// Files transclusion may receive cascading protection in the future
// see https://phabricator.wikimedia.org/T241453
$queryBuilder->join( 'imagelinks', null, 'il_from=pr_page' );
$queryBuilder->andWhere( [ 'il_to' => $page->getDBkey() ] );
} else {
$queryBuilder->join( 'templatelinks', null, 'tl_from=pr_page' );
$queryBuilder->andWhere(
$this->linksMigration->getLinksConditions(
'templatelinks',
TitleValue::newFromPage( $page )
)
$imageQuery = clone $baseQuery;
$imageQuery->join( 'imagelinks', null, 'il_from=pr_page' )
->fields( [
'type' => $dbr->addQuotes( 'il' ),
] )
->andWhere( [ 'il_to' => $page->getDBkey() ] );
$templateQuery = clone $baseQuery;
$templateQuery->join( 'templatelinks', null, 'tl_from=pr_page' )
->fields( [
'type' => $dbr->addQuotes( 'tl' ),
] )
->andWhere(
$this->linksMigration->getLinksConditions( 'templatelinks', TitleValue::newFromPage( $page ) )
);
if ( $page->getNamespace() === NS_FILE ) {
$unionQuery = $dbr->newUnionQueryBuilder()
->add( $imageQuery )
->add( $templateQuery )
->all();
$res = $unionQuery->caller( __METHOD__ )->fetchResultSet();
} else {
$res = $templateQuery->caller( __METHOD__ )->fetchResultSet();
}
if ( !$shortCircuit ) {
$queryBuilder->fields( [ 'pr_page', 'page_namespace', 'page_title', 'pr_type', 'pr_level' ] );
$queryBuilder->join( 'page', null, 'page_id=pr_page' );
}
$res = $queryBuilder->caller( __METHOD__ )->fetchResultSet();
$sources = [];
$tlSources = [];
$ilSources = [];
$pageRestrictions = [];
$now = wfTimestampNow();
foreach ( $res as $row ) {
$expiry = $dbr->decodeExpiry( $row->pr_expiry );
if ( $expiry > $now ) {
if ( $shortCircuit ) {
$cacheEntry['has_cascading'] = true;
return true;
if ( $row->type === 'il' ) {
$ilSources[$row->pr_page] = new PageIdentityValue( $row->pr_page,
$row->page_namespace, $row->page_title, PageIdentity::LOCAL );
} elseif ( $row->type === 'tl' ) {
$tlSources[$row->pr_page] = new PageIdentityValue( $row->pr_page,
$row->page_namespace, $row->page_title, PageIdentity::LOCAL );
}
$sources[$row->pr_page] = new PageIdentityValue( $row->pr_page,
$row->page_namespace, $row->page_title, PageIdentity::LOCAL );
// Add groups needed for each restriction type if its not already there
// Make sure this restriction type still exists
@ -608,14 +622,11 @@ class RestrictionStore {
}
}
$cacheEntry['has_cascading'] = (bool)$sources;
$sources = array_replace( $tlSources, $ilSources );
if ( $shortCircuit ) {
return false;
}
$cacheEntry['cascade_sources'] = [ $sources, $pageRestrictions, $tlSources, $ilSources ];
$cacheEntry['cascade_sources'] = [ $sources, $pageRestrictions ];
return [ $sources, $pageRestrictions ];
return $cacheEntry['cascade_sources'];
}
/**

View file

@ -90,12 +90,12 @@ class HeaderCallback {
* @since 1.29
*/
public static function warnIfHeadersSent() {
if ( headers_sent() && !self::$messageSent ) {
if ( !self::$messageSent && headers_sent( $filename, $line ) ) {
self::$messageSent = true;
\MediaWiki\Debug\MWDebug::warning( 'Headers already sent, should send headers earlier than ' .
wfGetCaller( 3 ) );
$logger = \MediaWiki\Logger\LoggerFactory::getInstance( 'headers-sent' );
$logger->error( 'Warning: headers were already sent from the location below', [
$logger->error( 'Warning: headers were already sent (output started at ' . $filename . ':' . $line . ')', [
'exception' => self::$headersSentException,
'detection-trace' => new RuntimeException( 'Detected here' ),
] );

View file

@ -1344,7 +1344,7 @@ MESSAGE;
*/
public static function ensureNewline( $str ) {
$end = substr( $str, -1 );
if ( $end === false || $end === '' || $end === "\n" ) {
if ( $end === '' || $end === "\n" ) {
return $str;
}
return $str . "\n";

View file

@ -110,4 +110,13 @@ class CreationHandler extends EditHandler {
$response->setHeader( 'Location', $url );
}
/**
* This method specifies the JSON schema file for the response
* body when creating a new page.
*
* @return ?string The file path to the NewPage JSON schema.
*/
public function getResponseBodySchemaFileName( string $method ): ?string {
return 'includes/Rest/Handler/Schema/NewPage.json';
}
}

View file

@ -289,18 +289,6 @@ class HtmlOutputRendererHelper implements HtmlOutputHelper {
}
}
/**
* Controls how the parser cache is used.
*
* @param bool $read Whether we should look for cached output before parsing
* @param bool $write Whether we should cache output after parsing
*/
public function setUseParserCache( bool $read, bool $write ) {
$this->parserOutputAccessOptions =
( $read ? 0 : ParserOutputAccess::OPT_FORCE_PARSE ) |
( $write ? 0 : ParserOutputAccess::OPT_NO_UPDATE_CACHE );
}
/**
* Determine whether stashing should be applied.
*

View file

@ -299,6 +299,9 @@ class PageContentHelper {
$restrictions[] = 'userhidden';
}
$publicUser = $revision->getUser();
$publicComment = $revision->getComment();
return [
'title' => $title->getPrefixedDBkey(),
'page_id' => $page->getId(),
@ -312,9 +315,9 @@ class PageContentHelper {
'namespace' => $page->getNamespace(),
'user_id' => $revision->getUser( RevisionRecord::RAW )->getId(),
'user_text' => $revision->getUser( RevisionRecord::FOR_PUBLIC )->getName(),
'user_text' => $publicUser ? $publicUser->getName() : null,
'comment' => $publicComment ? $publicComment->text : null,
'timestamp' => wfTimestampOrNull( TS_ISO_8601, $revision->getTimestamp() ),
'comment' => $revision->getComment()->text,
'tags' => $tags,
'restrictions' => $restrictions,
'page_language' => $title->getPageLanguage()->getCode(),

View file

@ -190,4 +190,7 @@ class LanguageLinksHandler extends SimpleHandler {
return (bool)$this->getPage();
}
public function getResponseBodySchemaFileName( string $method ): ?string {
return 'includes/Rest/Handler/Schema/PageLanguageLinks.json';
}
}

View file

@ -171,4 +171,8 @@ class MediaFileHandler extends SimpleHandler {
$file = $this->getFile();
return $file && $file->exists();
}
public function getResponseBodySchemaFileName( string $method ): ?string {
return 'includes/Rest/Handler/Schema/MediaFile.json';
}
}

View file

@ -192,4 +192,8 @@ class MediaLinksHandler extends SimpleHandler {
protected function getMaxNumLinks(): int {
return self::MAX_NUM_LINKS;
}
public function getResponseBodySchemaFileName( string $method ): ?string {
return 'includes/Rest/Handler/Schema/MediaLinks.json';
}
}

View file

@ -99,6 +99,7 @@ class PageHTMLHandler extends SimpleHandler {
);
if ( $redirectResponse !== null ) {
$redirectResponse->setHeader( 'Cache-Control', 'max-age=60' );
return $redirectResponse;
}
@ -181,4 +182,23 @@ class PageHTMLHandler extends SimpleHandler {
HtmlOutputRendererHelper::getParamSettings()
);
}
protected function generateResponseSpec( string $method ): array {
$spec = parent::generateResponseSpec( $method );
// TODO: Consider if we prefer something like:
// text/html; charset=utf-8; profile="https://www.mediawiki.org/wiki/Specs/HTML/2.8.0"
// That would be more specific, but fragile when the profile version changes. It could
// also be inaccurate if the page content was not in fact produced by Parsoid.
if ( $this->getOutputMode() == 'html' ) {
unset( $spec['200']['content']['application/json'] );
$spec['200']['content']['text/html']['schema']['type'] = 'string';
}
return $spec;
}
public function getResponseBodySchemaFileName( string $method ): ?string {
return 'includes/Rest/Handler/Schema/ExistingPageHtml.json';
}
}

View file

@ -484,4 +484,8 @@ class PageHistoryHandler extends SimpleHandler {
protected function hasRepresentation() {
return (bool)$this->getPage();
}
public function getResponseBodySchemaFileName( string $method ): ?string {
return 'includes/Rest/Handler/Schema/PageHistory.json';
}
}

View file

@ -166,4 +166,22 @@ class PageSourceHandler extends SimpleHandler {
protected function hasRepresentation() {
return $this->contentHelper->hasContent();
}
public function getResponseBodySchemaFileName( string $method ): ?string {
// This does not include restbase compatibility mode, which is triggered by request
// headers. Presumably, such callers will look at the RESTBase spec instead.
switch ( $this->getConfig()['format'] ) {
case 'bare':
$schema = 'includes/Rest/Handler/Schema/ExistingPageBare.json';
break;
case 'source':
$schema = 'includes/Rest/Handler/Schema/ExistingPageSource.json';
break;
default:
$schema = null;
break;
}
return $schema;
}
}

View file

@ -0,0 +1,62 @@
{
"description": "Page without content",
"required": [
"id",
"key",
"title",
"latest",
"content_model",
"license",
"html_url"
],
"properties": {
"id": {
"type": "integer",
"description": "Page identifier"
},
"key": {
"type": "string",
"description": "Page title in URL-friendly format"
},
"title": {
"type": "string",
"description": "Page title"
},
"latest": {
"type": "object",
"description": "Information about the latest revision",
"properties": {
"id": {
"type": "integer",
"description": "Revision identifier for the latest revision"
},
"timestamp": {
"type": "string",
"description": " Timestamp of the latest revision"
}
}
},
"content_model": {
"type": "string",
"description": "Page content type"
},
"license": {
"type": "object",
"description": "Information about the wiki's license",
"properties": {
"url": {
"type": "string",
"description": "URL of the applicable license"
},
"title": {
"type": "string",
"description": "Name of the applicable license"
}
}
},
"html_url": {
"type": "string",
"description": "API route to fetch the content of the page in HTML"
}
}
}

View file

@ -0,0 +1,62 @@
{
"description": "Page with HTML content",
"required": [
"id",
"key",
"title",
"latest",
"content_model",
"license",
"html"
],
"properties": {
"id": {
"type": "integer",
"description": "Page identifier"
},
"key": {
"type": "string",
"description": "Page title in URL-friendly format"
},
"title": {
"type": "string",
"description": "Page title in reading-friendly format"
},
"latest": {
"type": "object",
"description": "Information about the latest revision",
"properties": {
"id": {
"type": "integer",
"description": "Revision identifier for the latest revision"
},
"timestamp": {
"type": "string",
"description": " Timestamp of the latest revision in ISO 8601 format"
}
}
},
"content_model": {
"type": "string",
"description": "Type of content on the page"
},
"license": {
"type": "object",
"description": "Information about the wiki's license",
"properties": {
"url": {
"type": "string",
"description": "URL of the applicable license based on the $wgRightsUrl setting"
},
"title": {
"type": "string",
"description": "Name of the applicable license based on the $wgRightsText setting"
}
}
},
"html": {
"type": "string",
"description": "Latest page content in HTML, following the HTML specification"
}
}
}

View file

@ -0,0 +1,62 @@
{
"description": "Page with source (usually wikitext)",
"required": [
"id",
"key",
"title",
"latest",
"content_model",
"license",
"source"
],
"properties": {
"id": {
"type": "integer",
"description": "Page identifier"
},
"key": {
"type": "string",
"description": "Page title in URL-friendly format"
},
"title": {
"type": "string",
"description": "Page title"
},
"latest": {
"type": "object",
"description": "Information about the latest revision",
"properties": {
"id": {
"type": "integer",
"description": "Revision identifier for the latest revision"
},
"timestamp": {
"type": "string",
"description": " Timestamp of the latest revision"
}
}
},
"content_model": {
"type": "string",
"description": "Page content type"
},
"license": {
"type": "object",
"description": "Information about the wiki's license",
"properties": {
"url": {
"type": "string",
"description": "URL of the applicable license"
},
"title": {
"type": "string",
"description": "Name of the applicable license"
}
}
},
"source": {
"type": "string",
"description": "Latest page content in the format specified by the content_model property"
}
}
}

View file

@ -0,0 +1,165 @@
{
"description": "Information about the file",
"required": [
"title",
"file_description_url",
"latest",
"preferred",
"original",
"thumbnail"
],
"properties": {
"title": {
"type": "string",
"description": "File title"
},
"file_description_url": {
"type": "string",
"description": "URL for the page describing the file, including license information and other metadata"
},
"latest": {
"type": "object",
"nullable": true,
"description": "Information about the latest revision to the file",
"properties": {
"timestamp": {
"type": "string",
"format": "date-time",
"description": "Last modified timestamp in ISO 8601 format"
},
"user": {
"type": "object",
"description": "Information about the user who uploaded the file",
"properties": {
"id": {
"type": "integer",
"nullable": true,
"description": "User identifier"
},
"name": {
"type": "string",
"nullable": true,
"description": "Username"
}
},
"required": [ "id", "name" ]
}
},
"required": [ "timestamp", "user" ]
},
"preferred": {
"type": "object",
"nullable": true,
"description": "Information about the file's preferred preview format, original format, and thumbnail format",
"properties": {
"mediatype": {
"type": "string",
"enum": [ "BITMAP", "DRAWING", "AUDIO", "VIDEO", "MULTIMEDIA", "UNKNOWN", "OFFICE", "TEXT", "EXECUTABLE", "ARCHIVE", "3D" ],
"description": "The file type"
},
"size": {
"type": "integer",
"nullable": true,
"description": "File size in bytes or null if not available"
},
"width": {
"type": "integer",
"nullable": true,
"description": "Maximum recommended image width in pixels or null if not available"
},
"height": {
"type": "integer",
"nullable": true,
"description": "Maximum recommended image height in pixels or null if not available"
},
"duration": {
"type": "number",
"nullable": true,
"description": "The length of the video, audio, or multimedia file or null for other media types"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL to download the file"
}
},
"required": [ "mediatype", "size", "width", "height", "duration", "url" ]
},
"original": {
"type": "object",
"nullable": true,
"description": "Original file details",
"properties": {
"mediatype": {
"type": "string",
"enum": [ "BITMAP", "DRAWING", "AUDIO", "VIDEO", "MULTIMEDIA", "UNKNOWN", "OFFICE", "TEXT", "EXECUTABLE", "ARCHIVE", "3D" ],
"description": "The file type"
},
"size": {
"type": "integer",
"nullable": true,
"description": "File size in bytes or null if not available"
},
"width": {
"type": "integer",
"nullable": true,
"description": "Maximum recommended image width in pixels or null if not available"
},
"height": {
"type": "integer",
"nullable": true,
"description": "Maximum recommended image height in pixels or null if not available"
},
"duration": {
"type": "number",
"nullable": true,
"description": "The length of the video, audio, or multimedia file or null for other media types"
},
"url": {
"type": "string",
"format": "url",
"description": "URL to download the file"
}
},
"required": [ "mediatype", "size", "width", "height", "duration", "url" ]
},
"thumbnail": {
"type": "object",
"nullable": true,
"description": "Thumbnail information",
"properties": {
"mediatype": {
"type": "string",
"enum": [ "BITMAP", "DRAWING", "AUDIO", "VIDEO", "MULTIMEDIA", "UNKNOWN", "OFFICE", "TEXT", "EXECUTABLE", "ARCHIVE", "3D" ],
"description": "The file type"
},
"size": {
"type": "integer",
"nullable": true,
"description": "File size in bytes or null if not available"
},
"width": {
"type": "integer",
"nullable": true,
"description": "Maximum recommended image width in pixels or null if not available"
},
"height": {
"type": "integer",
"nullable": true,
"description": "Maximum recommended image height in pixels or null if not available"
},
"duration": {
"type": "number",
"nullable": true,
"description": "The length of the video, audio, or multimedia file or null for other media types"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL to download the file"
}
},
"required": [ "mediatype", "size", "width", "height", "duration", "url" ]
}
}
}

View file

@ -0,0 +1,182 @@
{
"description": "Media links for the page",
"required": [
"files"
],
"properties": {
"files": {
"type": "array",
"description": "Array of media used on the page",
"items": {
"type": "object",
"required": [
"title",
"file_description_url",
"latest",
"preferred",
"original"
],
"properties": {
"title": {
"type": "string",
"description": "File title"
},
"file_description_url": {
"type": "string",
"description": "URL for the page describing the file, including license information and other metadata"
},
"latest": {
"type": "object",
"nullable": true,
"description": "Information about the latest revision to the file",
"properties": {
"timestamp": {
"type": "string",
"format": "date-time",
"description": "Last modified timestamp in ISO 8601 format"
},
"user": {
"type": "object",
"description": "Information about the user who uploaded the file",
"properties": {
"id": {
"type": "integer",
"nullable": true,
"description": "User identifier"
},
"name": {
"type": "string",
"nullable": true,
"description": "Username"
}
},
"required": [
"id",
"name"
]
}
},
"required": [
"timestamp",
"user"
]
},
"preferred": {
"type": "object",
"nullable": true,
"description": "Information about the file's preferred preview format, original format, and thumbnail format",
"properties": {
"mediatype": {
"type": "string",
"enum": [
"BITMAP",
"DRAWING",
"AUDIO",
"VIDEO",
"MULTIMEDIA",
"UNKNOWN",
"OFFICE",
"TEXT",
"EXECUTABLE",
"ARCHIVE",
"3D"
],
"description": "The file type"
},
"size": {
"type": "integer",
"nullable": true,
"description": "File size in bytes or null if not available"
},
"width": {
"type": "integer",
"nullable": true,
"description": "Maximum recommended image width in pixels or null if not available"
},
"height": {
"type": "integer",
"nullable": true,
"description": "Maximum recommended image height in pixels or null if not available"
},
"duration": {
"type": "number",
"nullable": true,
"description": "The length of the video, audio, or multimedia file or null for other media types"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL to download the file"
}
},
"required": [
"mediatype",
"size",
"width",
"height",
"duration",
"url"
]
},
"original": {
"type": "object",
"nullable": true,
"description": "Original file details",
"properties": {
"mediatype": {
"type": "string",
"enum": [
"BITMAP",
"DRAWING",
"AUDIO",
"VIDEO",
"MULTIMEDIA",
"UNKNOWN",
"OFFICE",
"TEXT",
"EXECUTABLE",
"ARCHIVE",
"3D"
],
"description": "The file type"
},
"size": {
"type": "integer",
"nullable": true,
"description": "File size in bytes or null if not available"
},
"width": {
"type": "integer",
"nullable": true,
"description": "Maximum recommended image width in pixels or null if not available"
},
"height": {
"type": "integer",
"nullable": true,
"description": "Maximum recommended image height in pixels or null if not available"
},
"duration": {
"type": "number",
"nullable": true,
"description": "The length of the video, audio, or multimedia file or null for other media types"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL to download the file"
}
},
"required": [
"mediatype",
"size",
"width",
"height",
"duration",
"url"
]
}
}
}
}
}
}

View file

@ -0,0 +1,62 @@
{
"description": "The new page, including source (usually wikitext)",
"required": [
"id",
"title",
"key",
"latest",
"license",
"content_model",
"source"
],
"properties": {
"id": {
"type": "integer",
"description": "Page identifier"
},
"title": {
"type": "string",
"description": "Page title"
},
"key": {
"type": "string",
"description": "Page title in URL-friendly format"
},
"latest": {
"type": "object",
"description": "Information about the latest revision",
"properties": {
"id": {
"type": "integer",
"description": "Revision identifier for the latest revision"
},
"timestamp": {
"type": "string",
"description": " Timestamp of the latest revision"
}
}
},
"license": {
"type": "object",
"description": "Information about the wiki's license",
"properties": {
"url": {
"type": "string",
"description": "URL of the applicable license"
},
"title": {
"type": "string",
"description": "Name of the applicable license"
}
}
},
"content_model": {
"type": "string",
"description": "Page content type"
},
"source": {
"type": "string",
"description": "Page content in the format specified by the content_model property"
}
}
}

View file

@ -0,0 +1,78 @@
{
"description": "Page revision history",
"required": [
"revisions",
"latest"
],
"properties": {
"revisions": {
"type": "array",
"description": "List of revisions of the page",
"items": {
"type": "object",
"required": [
"id",
"timestamp",
"minor",
"size",
"comment",
"user",
"delta"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique revision identifier"
},
"timestamp": {
"type": "string",
"format": "date-time"
},
"minor": {
"type": "boolean",
"description": "True if the edit is marked as minor"
},
"size": {
"type": "integer",
"description": "Size of the revision in bytes"
},
"comment": {
"type": "string",
"nullable": true,
"description": "The comment the author associated with the revision"
},
"user": {
"type": "object",
"nullable": true,
"description": "Information about the user who made the revision",
"properties": {
"id": {
"type": "integer",
"nullable": true,
"description": "Unique identifier for the user; null for anonymous users"
},
"name": {
"type": "string",
"description": "Username of the editor, or IP address if the user is anonymous"
}
},
"required": [
"id",
"name"
]
},
"delta": {
"type": "integer",
"nullable": true,
"description": "Change in size between this revision and the preceding one; null if not available"
}
}
}
},
"latest": {
"type": "string",
"format": "uri",
"description": "URL to the latest revision of the page"
}
}
}

View file

@ -0,0 +1,30 @@
{
"description": "Interlanguage links for the page",
"type": "array",
"items": {
"required": [
"code",
"name",
"key",
"title"
],
"properties": {
"code": {
"type": "string",
"description": "Language code"
},
"name": {
"type": "string",
"description": "Translated language name"
},
"key": {
"type": "string",
"description": "Translated page title in URL-friendly format"
},
"title": {
"type": "string",
"description": "Translated page title in reading-friendly format"
}
}
}
}

View file

@ -0,0 +1,84 @@
{
"description": "Search results",
"required": [
"pages"
],
"properties": {
"pages": {
"type": "array",
"description": "List of search result pages",
"items": {
"type": "object",
"required": [
"id",
"key",
"title",
"excerpt",
"matched_title",
"description",
"thumbnail"
],
"properties": {
"id": {
"type": "integer",
"description": "Page identifier"
},
"key": {
"type": "string",
"description": "Page title in URL-friendly format"
},
"title": {
"type": "string",
"description": "Page title in reading-friendly format"
},
"excerpt": {
"type": "string",
"description": "Excerpt of the page content matching the search query"
},
"matched_title": {
"type": "string",
"nullable": true,
"description": "The title of a page redirection from, if applicable, or null"
},
"description": {
"type": "string",
"nullable": true,
"description": "Short summary of the page topic or null if no summary exists."
},
"thumbnail": {
"type": "object",
"nullable": true,
"description": "Information about the thumbnail image for the page, or null if no thumbnail exists.",
"properties": {
"mimetype": {
"type": "string",
"description": "The file type"
},
"width": {
"type": "integer",
"nullable": true,
"description": "Maximum recommended image width in pixels or null if not available"
},
"height": {
"type": "integer",
"nullable": true,
"description": "Maximum recommended image height in pixels or null if not available"
},
"duration": {
"type": "number",
"nullable": true,
"description": "The length of the video, audio, or multimedia file or null for other media types"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL to download the file"
}
},
"required": [ "mimetype", "width", "height", "duration", "url" ]
}
}
}
}
}
}

View file

@ -414,4 +414,8 @@ class SearchHandler extends Handler {
],
];
}
public function getResponseBodySchemaFileName( string $method ): ?string {
return 'includes/Rest/Handler/Schema/SearchResults.json';
}
}

View file

@ -253,4 +253,8 @@ class UpdateHandler extends EditHandler {
$json = ( $this->jsonDiffFunction )( $from->getText(), $to->getText(), 2 );
return FormatJson::decode( $json, true );
}
public function getResponseBodySchemaFileName( string $method ): ?string {
return 'includes/Rest/Handler/Schema/ExistingPageSource.json';
}
}

View file

@ -6,7 +6,8 @@
"Sibabrata Banerjee",
"Sourav Halder",
"ZI Jony",
"আফতাবুজ্জামান"
"আফতাবুজ্জামান",
"Shariyar Nayeem"
]
},
"rest-prefix-mismatch": "অনুরোধকৃত পথ ($1) রেস্ট API মূলপথের ($2) ভিতরে ছিল না।",

View file

@ -4,10 +4,24 @@
"Умар"
]
},
"rest-prefix-mismatch": "Дехар дина некъ ($1) ца карийна REST API бух некъан ($2) йукъахь",
"rest-bad-prefix": "ДӀакхачоран некъ ($1) нийса модулан дешхьалхе йац.",
"rest-wrong-method": "Дехаран метод ($1) йацара {{{{PLURAL:$3|}}|оцу некъан бакъо йелла метод}} ($2)",
"rest-no-match": "Дехар дина гергара некъ ($1) нийса ца богӀу цхьана а бевзаш болчу лелоран агӀонашца",
"rest-unknown-module": "Дехар дина модулан цӀе ($1) йевзаш йац.",
"rest-nonexistent-title": "Билгалйина агӀо ($1) йац",
"rest-nonexistent-title-revision": "Билгалйаьккхина верси ($1) йац билгалйаьккхинчу агӀонна ($2)",
"rest-nonexistent-revision": "Дехар дина хийцам ($1) бац",
"rest-nonexistent-user": "Билгалвина декъашхо ($1) вац.",
"rest-invalid-user": "Билгалйаьккхина декъашхочун цӀе ($1) нийса йац",
"rest-invalid-ip": "Билгалдаьккхина IP ($1) нийса дац",
"rest-invalid-title": "Билгалйаьккхина цӀе ($1) вики-агӀонца лелаш йац.",
"rest-unsupported-content-type": "ТӀе ца оьцу Content-Type: $1",
"rest-permission-error": "ТӀекхача ца магийна: $1",
"rest-permission-denied-anon": "Аноним декъашхочун тӀекхочуш йац",
"rest-permission-denied-title": "Декъашхочун бакъонаш йац ($1) корта беша",
"rest-permission-denied-revision": "Йоьхуш йолу ($1) версин декъашхо тӀекхача ца ло.",
"rest-rate-limit-exceeded": "Чехкаллин лимит тӀехйаьлла. Дехар до, тӀаьхьо йуха а хьажа.",
"rest-resource-limit-exceeded": "Дехар кечдеш ресурсийн лимиташ совйьхна.",
"rest-pagehistory-incompatible-params": "«older_than» а, «newer_than» а параметрш цхьана чуйихка ца мега",
"rest-pagehistory-param-range-error": "Версин идентификатор хила йеза 0 сов",
@ -16,7 +30,59 @@
"rest-pagehistorycount-parameters-invalid": "Билгалйина параметрийн комбинаци тӀе оьцуш йац.",
"rest-compare-page-mismatch": "Билгалйина версеш массийта агӀонийн йу, уьш йуьстилла дац.",
"rest-compare-permission-denied": "Йоьхуш йолу версин декъашхо тӀекхача ца ло.",
"rest-compare-nonexistent": "Параметр $1 билгалйаьккхина хийцам бац.",
"rest-compare-inaccessible": "$1 параметро билгалбаьккхина хийцам массо а берриге а тӀекхочуш бац.",
"rest-compare-wrong-content": "$2 ппараметро билгалйаьккхина йолу хас $1 чулацаман тайпа ду, тексте хийца йиш йоцуш.",
"rest-compare-wikidiff2": "ХӀокху чаккхенан меттиг wikidiff2 1.9.0 йа цул тӀаьхьара верси оьшу.",
"rest-pagehistorycount-too-many-revisions": "Билгалйаьккхинчу цӀарца тӀех дукха версеш йу, и барам схьаэца.",
"rest-search-error": "ГӀалат лехаман жамӀаш йухадерзорехь: $1",
"rest-page-source-type-error": "Дехначу агӀонан хьостан чулацаман тайпа ловш дац.",
"rest-no-revision": "$1 коьртана верси схьаэца аьтто ца баьлла.",
"rest-media-too-many-links": "ТӀех дукха медиа-хьажоргаш карийна $1 цӀарца (магийна $2)",
"rest-html-backend-error": "Parsoid HTML схьаэца аьтто бац: $1",
"rest-html-stash-failure": "Parsoid HTML къайлайаккха йиш йац.",
"rest-bad-json-body": "Нийса доцу дехаран дегӀ, JSON объект хила йеза.",
"rest-json-body-parse-error": "Дехаран дегӀ JSON санна синтаксин анализ йан аьтто ца баьлла: $1",
"rest-missing-body-field": "Дехаран дегӀехь оьшуш йолу меттиг «$1» йац.",
"rest-body-validation-error": "Дехаран нийса йоцу раж: $1",
"rest-extraneous-body-fields": "Дехаран декъехь карийна арахьара меттигаш: $1",
"rest-bad-content-model": "Чулацаман нийса йоцу модель: $1",
"rest-update-cannot-create-page": "«$1» агӀо кхолла йиш йац, хӀунда аьлча иза хӀинцале а йу. ХӀинца йолу агӀо карлайаккхархьама, структурехь билгалйаккха базин версин ID дехаран дегӀехь «latest» кӀел.",
"rest-extraneous-csrf-token": "Арахьара CSRF токен гучуйаьлла. CSRF токенаш лело ца йеза OAuth санна йолу аутентификацин механизмаш лелош, уьш кхерамза йу CSRF тӀелетарех.",
"rest-cannot-load-file": "«$1» коьртана файл чуйаккха мегаш дац.",
"rest-badtoken-nosession": "CSRF гӀалат — сеанс йац."
"rest-cross-origin-anon-write": "Тайп-тайпанчу хьостанашкара анониман дӀайаздар дехарш дихкина ду.",
"rest-requires-safe-against-csrf": "ХӀокху чаккхенан меттигна оьшу CSRF-кхерамза сеансийн провайдер.",
"rest-badtoken": "ДӀайелла CSRF токен нийса йац.",
"rest-badtoken-missing": "<var>token</var> параметр оьшу, нагахь санна CSRF-кхерамза аутентификацин метод лелош йацахь.",
"rest-badtoken-nosession": "CSRF гӀалат — сеанс йац.",
"rest-mock-error": "Харц гӀалат.",
"rest-specified-revision-unavailable": "Билгалйаьккхина верси дӀайаьккхина йа йохийна.",
"rest-previous-revision-unavailable": "Хьалха хилла верси ца карийра. АгӀо блоктоьхна йа дӀайаьккхина йу?",
"rest-requires-content-type-header": "Content-Type корта дӀабала беза пайдехьа дехаран халонца.",
"rest-transform-missing-html": "HTML-код ца йелла.",
"rest-transform-missing-title": "Цхьа а цӀе а, вики-текст а ца йелла.",
"rest-unsupported-target-format": "Дехар дина Ӏалашонан формат лелош йац.",
"rest-parsoid-resource-exceeded": "Ресурсийн лимит тӀехйаьлла",
"rest-parsoid-error": "Parsoid гӀалат.",
"rest-parsoid-bad-render-id": "Parsoid рендеран нийса йоцу идентификатор: $1",
"rest-bad-stash-key": "Къайлен нис ца луш долу догӀа.",
"rest-html-key-expected": "Хьоьжуш долу <var>HTML-</var> догӀа дегӀехь",
"rest-invalid-transform": "Нийса йоцу трансформаци: $1 - $2 кхаччалц.",
"rest-request-body-expected": "$1 дехаран методо хьоьжу дехаран дегӀе",
"rest-request-body-unaccepted": "$1 дехаран методо тӀе ца оьцу дехаран дегӀ",
"rest-unmapped-action-error": "Гайтина йоцу модулан гӀалаташ: $1.",
"rest-unsupported-transform-input": "Ловш доцу дӀайаздар: $1",
"rest-bad-etag": "Нийса йоцу ETag: $1",
"rest-unsupported-profile-version": "Профилан ловш йоцу верси: $1",
"rest-no-json-decode": "Пайдечу халонца JSON декодировка ца йо массивехь",
"rest-parsoid-unsupported-media": "Ловш доцу Медиа тайпа",
"rest-missing-revision-html": "html верси йац",
"rest-missing-revision-html-content-type": "html версин чулацаман тайпа дац.",
"rest-unsupported-profile-conversion": "Муха хийца деза ца хаьа тхуна.",
"rest-edit-conflict": "Тадарна дойнаш ($1)",
"rest-unknown-parsoid-transformation": "Ца йевза трансформаци.",
"rest-target-variant-required": "Ӏалашонан вариант йоьху.",
"rest-unsupported-language-conversion": "Ловш боцу мотт хийцар: $1 — $2",
"rest-unknown-content-model": "Чулацаман ца йевза модель: $1.",
"rest-page-bundle-validation-error": "PageBundle нийса ца йогӀу contentVersion: $1"
}

View file

@ -9,21 +9,25 @@
"Thibaut120094",
"Verdy p",
"Wladek92",
"Mahabarata"
"Mahabarata",
"JLTRY",
"Bananax47",
"Derugon",
"Goombiis"
]
},
"rest-prefix-mismatch": "Le chemin demandé ($1) nétait pas dans le chemin de base de lAPI REST ($2)",
"rest-bad-prefix": "Le chemin du point de terminaison ($1) ne contient pas de préfixe de module valide",
"rest-wrong-method": "La méthode requise ($1) nétait pas {{PLURAL:$3|la méthode autorisée pour ce chemin|une des méthodes autorisées pour ce chemin}} ($2)",
"rest-no-match": "Le chemin relatif requis ($1) ne correspondait à aucun gestionnaire connu",
"rest-wrong-method": "La méthode de la requête ($1) nétait pas {{PLURAL:$3|la méthode autorisée pour ce chemin|une des méthodes autorisées pour ce chemin}} ($2)",
"rest-no-match": "Le chemin relatif demandé ($1) ne correspondait à aucun gestionnaire connu",
"rest-unknown-module": "Le nom du module demandé ($1) est inconnu",
"rest-nonexistent-title": "Le page indiquée ($1) nexiste pas",
"rest-nonexistent-title": "La page spécifiée ($1) nexiste pas",
"rest-nonexistent-title-revision": "La version spécifiée ($1) nexiste pas pour la page spécifiée ($2)",
"rest-nonexistent-revision": "La version spécifiée ($1) nexiste pas",
"rest-nonexistent-user": "Lutilisateur ou lutilisatrice « $1» spécifié(e) nexiste pas.",
"rest-nonexistent-user": "Lutilisateur ou lutilisatrice spécifié(e) ($1) nexiste pas",
"rest-invalid-user": "Le nom dutilisateur spécifié ($1) nest pas valide",
"rest-invalid-ip": "Le nom dutilisateur spécifié ($1) nest pas valide",
"rest-invalid-title": "Le titre spécifié ($1) ne fait pas référence à une page wiki.",
"rest-invalid-ip": "Ladresse IP spécifiée ($1) nest pas valide",
"rest-invalid-title": "Le titre spécifié ($1) ne fait pas référence à une page du wiki.",
"rest-unsupported-content-type": "Content-Type non pris en charge: $1",
"rest-permission-error": "Autorisation refusée : $1",
"rest-permission-denied-anon": "Non accessible par un utilisateur anonyme",
@ -32,31 +36,31 @@
"rest-rate-limit-exceeded": "Une limite de débit a été dépassée. Veuillez réessayer ultérieurement.",
"rest-resource-limit-exceeded": "Limites de ressources dépassées lors du traitement de la requête.",
"rest-pagehistory-incompatible-params": "Les paramètres «older_than» (plus ancien que) et «newer_than» (plus récent que) ne peuvent pas être spécifiés simultanément",
"rest-pagehistory-param-range-error": "LID de version doit être supérieur à 0",
"rest-pagehistory-param-range-error": "Lidentifiant de version doit être supérieur à 0",
"rest-pagehistory-timestamp-error": "Impossible de récupérer lhorodatage de la version spécifiée ($1)",
"rest-pagehistorycount-type-unrecognized": "Le type de compteur indiqué ($1) est incorrect",
"rest-pagehistorycount-parameters-invalid": "La combinaison spécifiée de paramètres nest pas prise en charge.",
"rest-compare-page-mismatch": "Les révisions spécifiées appartiennent à des pages différentes; refus de les comparer.",
"rest-compare-permission-denied": "Lutilisateur na pas accès aux versions demandées.",
"rest-pagehistorycount-type-unrecognized": "Le type de compteur spécifié ($1) nest pas valide",
"rest-pagehistorycount-parameters-invalid": "La combinaison de paramètres spécifiée nest pas prise en charge.",
"rest-compare-page-mismatch": "Les versions spécifiées appartiennent à des pages différentes; refus de les comparer.",
"rest-compare-permission-denied": "Lutilisateur na pas accès aux versions demandées",
"rest-compare-nonexistent": "La version spécifiée par le paramètre $1 nexiste pas.",
"rest-compare-inaccessible": "La version spécifiée par le paramètre $1 nest pas accessible publiquement.",
"rest-compare-wrong-content": "Lemplacement $1 de la version spécifiée par le paramètre $2 a un type de contenu qui ne peut pas être converti en texte.",
"rest-compare-wikidiff2": "Ce point de terminaison nécessite wikidiff2 1.9.0 ou supérieur.",
"rest-pagehistorycount-too-many-revisions": "Le titre spécifié contient trop de versions pour en récupérer ce nombre.",
"rest-search-error": "Erreur en renvoyant les résultats de recherche: $1",
"rest-search-error": "Erreur en renvoyant les résultats de la recherche: $1",
"rest-page-source-type-error": "Le type de contenu de la page source demandée nest pas pris en charge",
"rest-no-revision": "Impossible de récupérer la révision du titre $1",
"rest-media-too-many-links": "Trop de liens de média trouvés dans le titre $1 ($2 autorisés)",
"rest-no-revision": "Impossible de récupérer la version du titre $1",
"rest-media-too-many-links": "Trop de liens multimédias trouvés dans le titre $1 ($2 autorisés)",
"rest-html-backend-error": "Impossible de récupérer le HTML de Parsoid : $1",
"rest-html-stash-failure": "Impossible de stocker Parsoid HTML.",
"rest-html-stash-failure": "Impossible de stocker le HTML de Parsoid.",
"rest-bad-json-body": "Mauvais corps de requête, doit être un objet JSON.",
"rest-json-body-parse-error": "Échec de lanalyse du corps de la requête en JSON: $1",
"rest-missing-body-field": "Champ obligatoire « $1» manquant dans le corps de la requête.",
"rest-body-validation-error": "Corps de requête invalide : $1",
"rest-extraneous-body-fields": "Champs supplémentaires trouvés dans le corps de la requête : $1",
"rest-body-validation-error": "Corps de requête non valide : $1",
"rest-extraneous-body-fields": "Champs superflus trouvés dans le corps de la requête : $1",
"rest-bad-content-model": "Mauvais modèle de contenu: $1",
"rest-update-cannot-create-page": "La page « $1» na pas pu être créée car elle existe déjà. Pour mettre à jour la page existante, fournir lidentifiant de la révision de base dans la structure sous la clé «latest» (la plus récente) dans le corps de la requête.",
"rest-extraneous-csrf-token": "Jeton CRSF superflu trouvé. Les jetons CSRF ne doivent pas être utilisés lors de lutilisation de mécanismes dauthentification tels que OAuth, qui sont sûrs vis-à-vis des attaques CSRF.",
"rest-update-cannot-create-page": "La page « $1» na pas pu être créée car elle existe déjà. Pour mettre à jour la page existante, fournissez lidentifiant de la version de base dans la structure sous la clé «latest» (la plus récente) dans le corps de la requête.",
"rest-extraneous-csrf-token": "Jeton CRSF superflu trouvé. Les jetons CSRF ne doivent pas être utilisés lors de lutilisation de mécanismes dauthentification tels quOAuth, qui sont sûrs vis-à-vis des attaques CSRF.",
"rest-cannot-load-file": "Le fichier de titre « $1» na pas pu être chargé.",
"rest-cross-origin-anon-write": "Les requêtes décriture anonymes dorigine croisée ne sont pas autorisées",
"rest-requires-safe-against-csrf": "Ce point de terminaison exige un fournisseur de session qui protège des usurpations de sites (CSRF).",
@ -64,32 +68,33 @@
"rest-badtoken-missing": "Le paramètre <var>token</var> est obligatoire à moins dutiliser une méthode dauthentification sécurisée contre les attaques CSRF.",
"rest-badtoken-nosession": "Erreur CSRF — aucune session.",
"rest-mock-error": "Erreur de simulation.",
"rest-specified-revision-unavailable": "La modification spécifiée est supprimée.",
"rest-previous-revision-unavailable": "Impossible de trouver la modification précédente. La page a-t-elle été verrouillée ou supprimée ?",
"rest-requires-content-type-header": "Un en-tête Content-Type doit être fourni pour ce type de requête.",
"rest-transform-missing-html": "Aucun code HTML n'a été fourni.",
"rest-transform-missing-title": "Aucun titre ou codewiki n'a été fourni.",
"rest-unsupported-target-format": "Le format cible demandé n'est pas pris en charge.",
"rest-specified-revision-unavailable": "La modification spécifiée est supprimée ou masquée.",
"rest-previous-revision-unavailable": "Impossible de trouver la version précédente. La page a-t-elle été verrouillée ou supprimée ?",
"rest-requires-content-type-header": "Un en-tête Content-Type doit être fourni en combinaison avec une charge utile de requête.",
"rest-transform-missing-html": "Aucun HTML na été fourni.",
"rest-transform-missing-title": "Aucun titre ou wikitexte na été fourni.",
"rest-unsupported-target-format": "Le format cible demandé nest pas pris en charge.",
"rest-parsoid-resource-exceeded": "Limite de ressources dépassée",
"rest-parsoid-error": "Erreur Parsoid.",
"rest-parsoid-error": "Erreur de Parsoid.",
"rest-parsoid-bad-render-id": "Mauvais identifiant de rendu de Parsoid : $1",
"rest-bad-stash-key": "Mauvaise clé de stockage.",
"rest-html-key-expected": "Clé <var>html</var> attendue dans le corps",
"rest-invalid-transform": "Transformation non valide : $1 à $2",
"rest-invalid-transform": "Transformation non valide : $1 vers $2",
"rest-request-body-expected": "La méthode de requête $1 nécessite un corps de requête",
"rest-request-body-unaccepted": "La méthode de requête $1 n'accepte pas de corps de requête",
"rest-unmapped-action-error": "Erreur du module d'action non mappé : $1",
"rest-request-body-unaccepted": "La méthode de requête $1 naccepte pas de corps de requête",
"rest-unmapped-action-error": "Erreur du module daction non mappé : $1",
"rest-unsupported-transform-input": "Entrée non prise en charge : $1",
"rest-bad-etag": "Mauvais ETag : $1",
"rest-unsupported-profile-version": "Version de profil non prise en charge : $1",
"rest-no-json-decode": "Payload ne se décode pas en JSON dans un tableau",
"rest-no-json-decode": "La charge utile ne se décode pas en tableau JSON",
"rest-parsoid-unsupported-media": "Type de média non pris en charge",
"rest-missing-revision-html": "Révision HTML manquante",
"rest-missing-revision-html-content-type": "Le Content-type de la révision HTML est manquant.",
"rest-missing-revision-html": "HTML de la version manquant",
"rest-missing-revision-html-content-type": "Le Content-type du HTML de la version est manquant.",
"rest-unsupported-profile-conversion": "Nous ne savons pas comment faire cette conversion.",
"rest-edit-conflict": "Conflit de modification($1)",
"rest-unknown-parsoid-transformation": "Transformation inconnue.",
"rest-target-variant-required": "Une variante cible est requise.",
"rest-unsupported-language-conversion": "Conversion de formats non prise en charge : $1 à $2",
"rest-unsupported-language-conversion": "Conversion de formats non prise en charge : $1 vers $2",
"rest-unknown-content-model": "Modèle de contenu inconnu : $1",
"rest-page-bundle-validation-error": "PageBundle ne correspond pas à contentVersion : $1",
"rest-param-desc-revision-id": "Identifiant de la révision"

View file

@ -2,7 +2,8 @@
"@metadata": {
"authors": [
"Elisardojm",
"Toliño"
"Toliño",
"Xosecalvo"
]
},
"rest-prefix-mismatch": "O camiño solicitado ($1) non estaba no interior do camiño base da API REST ($2)",
@ -24,18 +25,18 @@
"rest-permission-denied-revision": "O usuario non ten acceso á revisión solicitada ($1).",
"rest-rate-limit-exceeded": "Superouse un límite de peticións. Por favor, inténtao de novo máis tarde.",
"rest-resource-limit-exceeded": "Superáronse os límites de recursos ao procesar a solicitude.",
"rest-pagehistory-incompatible-params": "Non se poden especificar á vez os parámetros \"older_than\" e \"newer_than\"",
"rest-pagehistory-incompatible-params": "Non se poden especificar á vez os parámetros «older_than» e «newer_than»",
"rest-pagehistory-param-range-error": "O identificador da revisión debe ser maior que 0",
"rest-pagehistory-timestamp-error": "Non se puido recuperar a marca de tempo para a revisión especificada ($1)",
"rest-pagehistorycount-type-unrecognized": "O tipo de reconto especificado ($1) non é válido",
"rest-pagehistorycount-type-unrecognized": "O tipo de contaxe especificado ($1) non é válido",
"rest-pagehistorycount-parameters-invalid": "Non se admite a combinación de parámetros especificada.",
"rest-compare-page-mismatch": "As revisións especificadas pertencen a páxinas diferentes; non se poden comparar.",
"rest-compare-permission-denied": "O usuario non ten acceso ás revisións solicitadas",
"rest-compare-nonexistent": "A revisión especificada polo parámetro \"$1\" non existe.",
"rest-compare-inaccessible": "A revisión especificada polo parámetro \"$1\" non é de acceso público.",
"rest-compare-wrong-content": "O espazo \"$1\" da revisión especificada polo parámetro \"$2\" ten un tipo de contido que non se pode converter a texto.",
"rest-compare-nonexistent": "A revisión especificada polo parámetro «$1» non existe.",
"rest-compare-inaccessible": "A revisión especificada polo parámetro «$1» non é de acceso público.",
"rest-compare-wrong-content": "O espazo «$1» da revisión especificada polo parámetro «$2» ten un tipo de contido que non se pode converter a texto.",
"rest-compare-wikidiff2": "Este extremo necesita wikidiff2 1.9.0 ou posterior.",
"rest-pagehistorycount-too-many-revisions": "O título especificado contén demasiadas revisións para recuperar este reconto.",
"rest-pagehistorycount-too-many-revisions": "O título especificado contén demasiadas revisións para recuperar esta contaxe.",
"rest-search-error": "Erro ao devolver os resultados da busca: $1",
"rest-page-source-type-error": "O tipo de contido da páxina fonte solicitada non é compatible",
"rest-no-revision": "Non se puido recuperar a revisión do título $1",
@ -44,13 +45,13 @@
"rest-html-stash-failure": "Non se puido almacenar o HTML de Parsoid.",
"rest-bad-json-body": "O corpo da solicitude é incorrecto, debe ser un obxecto JSON.",
"rest-json-body-parse-error": "Produciuse un erro ao analizar o corpo da solicitude como JSON: $1",
"rest-missing-body-field": "Falta o campo obrigatorio \"$1\" no corpo da solicitude.",
"rest-missing-body-field": "Falta o campo obrigatorio «$1» no corpo da solicitude.",
"rest-body-validation-error": "Corpo da solicitude non válido: $1",
"rest-extraneous-body-fields": "Atopáronse campos estraños no corpo da solicitude: $1",
"rest-bad-content-model": "Modelo de contido incorrecto: $1",
"rest-update-cannot-create-page": "Non se pode crear a páxina \"$1\" porque xa existe. Para actualizar a páxina existente, proporciona o identificador de revisión base na estrutura baixo a clave \"latest\" no corpo da solicitude.",
"rest-update-cannot-create-page": "Non se pode crear a páxina «$1» porque xa existe. Para actualizar a páxina existente, proporciona o identificador de revisión base na estrutura baixo a clave «latest» no corpo da solicitude.",
"rest-extraneous-csrf-token": "Atopouse un token CSRF estraño. Os tokens CSRF non se deben empregar cando se usan mecanismos de autenticación como OAuth que son seguros contra ataques CSRF.",
"rest-cannot-load-file": "Non se pode subir o ficheiro para o título \"$1\".",
"rest-cannot-load-file": "Non se pode subir o ficheiro co título «$1».",
"rest-cross-origin-anon-write": "Non se permiten as solicitudes de escritura anónimas entre orixes cruzadas",
"rest-requires-safe-against-csrf": "Este extremo necesita un provedor de sesión seguro contra ataques CSRF.",
"rest-badtoken": "O token CSRF proporcionado non é válido.",
@ -65,7 +66,7 @@
"rest-unsupported-target-format": "O formato de destino solicitado non é compatible.",
"rest-parsoid-resource-exceeded": "Superouse o límite de recursos",
"rest-parsoid-error": "Erro de Parsoid.",
"rest-parsoid-bad-render-id": "ID de renderizado de Parsoid incorrecto: $1",
"rest-parsoid-bad-render-id": "ID de renderización de Parsoid incorrecto: $1",
"rest-bad-stash-key": "Clave de reserva incorrecta.",
"rest-html-key-expected": "Agardábase unha clave <var>html</var> no corpo",
"rest-invalid-transform": "Transformación non válida: $1 a $2",

View file

@ -1,34 +1,60 @@
{
"@metadata": {
"authors": [
"Dj"
"Dj",
"Tacsipacsi"
]
},
"rest-prefix-mismatch": "A kért elérési út ($1) nem volt a REST API gyökérútvonalán ($2) belül.",
"rest-prefix-mismatch": "A kért elérési út ($1) nem volt a REST API gyökérútvonalán ($2) belül",
"rest-bad-prefix": "A végpont elérési útja ($1) nem tartalmaz érvényes modulelőtagot",
"rest-wrong-method": "A kérésmetódus ($1) nem az ezen az elérési úton engedélyezett {{PLURAL:$3|metódus ($2)|metódusok ($2) egyike}}",
"rest-no-match": "A kért relatív elérési út ($1) nem egyezett egyetlen ismert kezelővel sem",
"rest-unknown-module": "A kért modulnév ($1) nem ismert",
"rest-nonexistent-title": "A megadott lap ($1) nem létezik",
"rest-nonexistent-title-revision": "A megadott változat ($1) nem létezik a megadott lapon ($2)",
"rest-nonexistent-revision": "A megadott változat ($1) nem létezik",
"rest-nonexistent-user": "A megadott felhasználó ($1) nem létezik",
"rest-invalid-user": "A megadott felhasználónév ($1) érvénytelen",
"rest-invalid-title": "A megadott cím ($1) nem mutat wiki oldalra.",
"rest-unsupported-content-type": "Nem támogatott tartalomtípus: $1",
"rest-invalid-ip": "A megadott IP-cím ($1) érvénytelen",
"rest-invalid-title": "A megadott cím ($1) nem hivatkozik wikilapra.",
"rest-unsupported-content-type": "Nem támogatott Content-Type (tartalomtípus) fejléc: $1",
"rest-permission-error": "Engedély megtagadva: $1",
"rest-permission-denied-anon": "Névtelen felhasználó nem férhet hozzá",
"rest-permission-denied-title": "A felhasználónak nincs joga a cím olvasásához ($1)",
"rest-permission-denied-title": "A felhasználónak nincs jogosultsága a cím olvasásához ($1)",
"rest-permission-denied-revision": "A felhasználónak nincs hozzáférése a kért változathoz ($1).",
"rest-rate-limit-exceeded": "Túllépték a korlátot. Kérlek, próbáld újra később.",
"rest-resource-limit-exceeded": "Az erőforrás-korlátok túllépték a kérelem feldolgozását.",
"rest-rate-limit-exceeded": "Egy sebességkorlát túllépve. Próbáld újra később.",
"rest-resource-limit-exceeded": "Erőforrás-korlátok túllépve a kérés feldolgozása közben.",
"rest-pagehistory-incompatible-params": "Az „older_than” és „newer_than” paraméterek nem adhatók meg egyszerre",
"rest-pagehistory-param-range-error": "A változat azonosítójának nagyobbnak kell lennie 0-nál",
"rest-pagehistory-timestamp-error": "Nem sikerült lekérni az időbélyeget a megadott változathoz ($1)",
"rest-pagehistorycount-type-unrecognized": "A megadott számtípus ($1) érvénytelen",
"rest-pagehistorycount-type-unrecognized": "A megadott számlálótípus ($1) érvénytelen",
"rest-pagehistorycount-parameters-invalid": "A megadott paraméterkombináció nem támogatott.",
"rest-compare-page-mismatch": "A megadott változatok különböző oldalakhoz tartoznak; összehasonlítás megtagadva.",
"rest-compare-permission-denied": "A felhasználónak nincs hozzáférése a kért változatokhoz",
"rest-compare-nonexistent": "A $1 paraméter által megadott változat nem létezik.",
"rest-compare-inaccessible": "A $1 paraméter által megadott változat nem érhető el nyilvánosan.",
"rest-compare-wrong-content": "A(z) $2 paraméterrel megadott változat $1 része olyan tartalomtípust tartalmaz, amely nem alakítható szöveggé",
"rest-compare-wikidiff2": "Ehhez a végponthoz a wikidiff2 1.9.0 vagy újabb verziója szükséges.",
"rest-pagehistorycount-too-many-revisions": "A megadott cím túl sok revíziót tartalmaz a szám lekéréséhez.",
"rest-pagehistorycount-too-many-revisions": "A megadott cím túl sok lapváltozatot tartalmaz ennek a számlálónak a lekéréséhez.",
"rest-search-error": "Hiba a keresési eredmények visszaküldésekor: $1",
"rest-page-source-type-error": "A kért lapforrás tartalomtípusa nem támogatott"
"rest-page-source-type-error": "A kért lapforrás tartalomtípusa nem támogatott",
"rest-no-revision": "Nem sikerült lekérni a változatot a(z) $1 címhez",
"rest-media-too-many-links": "Túl sok médiára mutató hivatkozás található a(z) $1 címen ($2 engedélyezett)",
"rest-html-backend-error": "Nem sikerült lekérni a Parsoid-HTML-t: $1",
"rest-html-stash-failure": "Nem sikerült ideiglenesen tárolni a Parsoid-HTML-t.",
"rest-bad-json-body": "Érvénytelen kéréstörzs, JSON objektumnak kell lennie.",
"rest-json-body-parse-error": "A kérés törzsének JSON-ként történő feldolgozása sikertelen: $1",
"rest-missing-body-field": "A kötelező „$1” mező hiányzik a kérés törzséből.",
"rest-body-validation-error": "Érvénytelen kéréstörzs: $1",
"rest-extraneous-body-fields": "Felesleges mezők találhatók a kérés törzsében: $1",
"rest-bad-content-model": "Érvénytelen tartalommodell: $1",
"rest-update-cannot-create-page": "A(z) „$1” oldal nem hozható létre, mert már létezik. A meglévő oldal frissítéséhez add meg az alapváltozat azonosítóját a kérés törzsében a „latest” kulcs alatti struktúrában.",
"rest-extraneous-csrf-token": "Felesleges CSRF-token található. A CSRF-tokenek nem használhatók olyan hitelesítési mechanizmusokkal, mint az OAuth, amelyek biztonságosak a CSRF-támadásokkal szemben.",
"rest-cannot-load-file": "A(z) „$1” címhez tartozó fájl nem tölthető be.",
"rest-cross-origin-anon-write": "Névtelen, eltérő eredetű írási kérések nem engedélyezettek",
"rest-requires-safe-against-csrf": "Ez a végpont CSRF-biztos munkamenet-szolgáltatót igényel.",
"rest-badtoken": "A megadott CSRF-token érvénytelen.",
"rest-badtoken-missing": "A <var>token</var> paraméter megadása kötelező, kivéve CSRF-biztos hitelesítési módszert használata esetén.",
"rest-badtoken-nosession": "CSRF-hiba nincs munkamenet.",
"rest-mock-error": "Tesztelési hiba."
}

View file

@ -0,0 +1,43 @@
{
"@metadata": {
"authors": [
"Epiphanus Jidechukwu"
]
},
"rest-prefix-mismatch": "Ụzọ a ịrịọrọ ($1) anọghị n'ime ụzọ isi REST API ($2)",
"rest-bad-prefix": "Ụzọ isinjedebe ($1) enweghị modul prefix dị irè",
"rest-wrong-method": "Usoro ịrịrịọ ($1) abụghị {{PLURAL:$3|usoro ekwenyere maka ụzọ a|otu n'ime ụzọ ekwenyere maka ụzọ a}} ($2)",
"rest-no-match": "Ụzọ ikwu nke a rịọrọ ($1) amakọghị na onye nlekọta a maara",
"rest-unknown-module": "Amaghị aha modul a rịọrọ ($1).",
"rest-nonexistent-title": "Ibe akọwapụtara ($1) adịghị",
"rest-nonexistent-title-revision": "Ndozigharị akọwapụtara ($1) adịghị maka ibe akọwapụtara ($2)",
"rest-nonexistent-revision": "Ntụgharị ahụ akọwapụtara ($1) adịghị",
"rest-nonexistent-user": "Onye ọrụ akọwapụtara ($1) adịghị",
"rest-invalid-user": "Aha njirimara akọwapụtara ($1) ekwesịghị ekwesị",
"rest-invalid-ip": "IP akọwapụtara ($1) ekwesịghị ekwesị",
"rest-invalid-title": "Aha akọwapụtara ($1) anaghị arụtụ aka na ibe wiki.",
"rest-unsupported-content-type": "Anaghị akwado ụdị ọdịnaya a: $1",
"rest-permission-error": "A jụrụ inye ikike: $1",
"rest-permission-denied-anon": "Onye ọrụ a na-amaghị aha ya enweghị ike ịnweta ya",
"rest-permission-denied-title": "Onye ọrụ enweghị ikike ịgụ isiokwu ($1)",
"rest-permission-denied-revision": "Onye ọrụ enweghị ike ịnweta nyocha a rịọrọ ($1).",
"rest-rate-limit-exceeded": "A gefere oke ọnụego. Biko nwaa ọzọ ma emechaa.",
"rest-resource-limit-exceeded": "Agafere oke akụrụngwa na nhazi arịrịọ a.",
"rest-pagehistory-incompatible-params": "Enweghị ike ịkọwapụta oke \"kachasị_okenye\" na \"kachasị_ọhụrụ\".",
"rest-pagehistory-param-range-error": "Id ntụgharị ga-adịrịrị ukwuu karịa 0",
"rest-pagehistory-timestamp-error": "Enweghị ike iweghachite akara oge maka mmezigharị akọwapụtara ($1)",
"rest-pagehistorycount-type-unrecognized": "Ụdị ọnụ ọgụgụ akọwapụtara ($1) adịghị ire",
"rest-pagehistorycount-parameters-invalid": "A kwadoghị nchikọta akọwapụtara.",
"rest-compare-page-mismatch": "Ndozigharị ndị akọwapụtara bụ nke ibe dị iche iche nwe; na-ajụ ịtụlee ha.",
"rest-compare-permission-denied": "Onye ọrụ enweghị ikike ịnweta nyocha a rịọrọ.",
"rest-compare-nonexistent": "Ndozigharị akọwapụtara site na oke $1 adịghị.",
"rest-compare-inaccessible": "Ndozigharị nke $1 kọwapụtara adịghị na nweta ọhaneze.",
"rest-compare-wrong-content": "Oghere $1 nke mmezigharị ahụ akọwapụtara site na paramita $2 nwere ụdị ọdịnaya nke enweghị ike ịtụgharị ka ọbụrụ ederede.",
"rest-compare-wikidiff2": "Ebe njedebe a chọrọ wikidiff2 1.9.0 ma ọ bụ karịa.",
"rest-search-error": "Njehie mgbe a na-eweghachi nsonaazụ ihe ịchọrọ: $1",
"rest-page-source-type-error": "Ụdị ọdịnaya nke isi iyi ibe a achọrọ akwadoghị ya",
"rest-no-revision": "Enweghị ike iweghachite mmezigharị maka isiokwu $1",
"rest-media-too-many-links": "Ahụrụ otụtụ njikọ mgbasa ozi na isiokwu $1 ($2 kwere)",
"rest-html-backend-error": "Enweghị ike ị nweta Parsoid HTML: $1",
"rest-bad-json-body": "Òtù arịrịọ ọjọọ, ga-abụrịrị ihe JSON."
}

View file

@ -7,7 +7,8 @@
"Kokage si",
"MathXplore",
"Omotecho",
"Shirayuki"
"Shirayuki",
"Shulmj"
]
},
"rest-prefix-mismatch": "リクエストされたパス ($1) は REST API ベースパス ($2) 内にありませんでした",
@ -18,8 +19,10 @@
"rest-nonexistent-revision": "指定された版 ($1) は存在しません",
"rest-nonexistent-user": "指定した利用者「$1」は存在しません",
"rest-invalid-user": "指定した利用者名($1は無効です",
"rest-invalid-ip": "指定したIP$1は無効です",
"rest-invalid-title": "指定されたタイトル ($1) はウィキページを示していません。",
"rest-unsupported-content-type": "非対応Content-Type$1",
"rest-permission-error": "許可されていません: $1",
"rest-permission-denied-anon": "匿名利用者はアクセスできません",
"rest-permission-denied-title": "利用者にはページ名 ($1) の読み取り権限がありません",
"rest-permission-denied-revision": "利用者はリクエストした版 ($1) へのアクセス権がありません。",
@ -35,7 +38,7 @@
"rest-compare-inaccessible": "パラメータ$1が指定した版は公開されていません。",
"rest-compare-wrong-content": "パラメータ$2が指定したスロット$1のコンテンツタイプはテキストに変換できません。",
"rest-compare-wikidiff2": "このエンドポイントは wikidiff2 1.9.0 以降が必要です。",
"rest-pagehistorycount-too-many-revisions": "指定したタイトルの版は多すぎるため、計数することができません。",
"rest-pagehistorycount-too-many-revisions": "指定されたページ名には版が多すぎるため、この件数を取得できません。",
"rest-search-error": "検索結果を返す時、エラーが発生しました:$1",
"rest-page-source-type-error": "リクエストしたページソースのコンテンツタイプはサポートされていません。",
"rest-no-revision": "タイトル$1の版を取得できません",
@ -47,11 +50,12 @@
"rest-extraneous-body-fields": "リクエストボディで無関係なフィールドが見つかりました: $1",
"rest-bad-content-model": "無効なコンテンツモデル:$1",
"rest-update-cannot-create-page": "ページ「$1」が既に存在しているため、作成できません。既存のページを更新するには、リクエストボディにある「latest」の構造にベースとなる版を提供してください。",
"rest-extraneous-csrf-token": "外来の CSRF トークンを検出しました。OAuth のような CSRF 攻撃を防ぐ認証メカニズムを利用している場合は、CSRF トークンを使用することができません。",
"rest-cannot-load-file": "タイトル「$1」のファイルをロードできません。",
"rest-extraneous-csrf-token": "余分な CSRF トークンが見つかりました。OAuth のように CSRF 攻撃に対して安全な認証メカニズムを使用している場合、CSRF トークンは使用してはいけません。",
"rest-cannot-load-file": "ページ名「$1」のファイルを読み込めません。",
"rest-cross-origin-anon-write": "匿名のオリジン間書き込みリクエストは許可されません",
"rest-requires-safe-against-csrf": "このエンドポイントはCSRFを防げるセッションプロバイダーが必要です。",
"rest-badtoken": "与えられたCSRFトークンは無効です",
"rest-badtoken-missing": "CSRFを防げる認証方法を使用しない限り、<var>token</var>パラメータが必須です。",
"rest-badtoken-nosession": "CSRFエラー - sessionがありません。"
"rest-badtoken-nosession": "CSRFエラー - sessionがありません。",
"rest-edit-conflict": "編集の競合($1"
}

View file

@ -3,7 +3,9 @@
"authors": [
"Bluehill",
"Suleiman the Magnificent Television",
"Ykhwong"
"Ykhwong",
"Tensama0415",
"YeBoy371"
]
},
"rest-prefix-mismatch": "요청한 경로($1)가 REST API 기본 경로($2) 안에 없었습니다",
@ -56,6 +58,7 @@
"rest-badtoken": "제공된 CSRF 토큰이 잘못되었습니다.",
"rest-badtoken-missing": "CSRF 안전 인증 방법을 사용하지 않는 한 <var>token</var> 변수는 필수입니다.",
"rest-badtoken-nosession": "CSRF 오류 - 세션이 없습니다.",
"rest-mock-error": "가짜 오류.",
"rest-specified-revision-unavailable": "지정된 판은 삭제되었거나 숨겨져 있습니다.",
"rest-previous-revision-unavailable": "이전 판을 찾을 수 없습니다. 문서가 잠겼거나 삭제되었습니까?",
"rest-requires-content-type-header": "Content-Type 헤더는 요청 페이로드와 함께 제공되어야 합니다.",
@ -64,6 +67,8 @@
"rest-unsupported-target-format": "요청한 대상 형식은 지원되지 않습니다.",
"rest-parsoid-resource-exceeded": "리소스 한도를 초과했습니다",
"rest-parsoid-error": "파소이드 오류입니다.",
"rest-parsoid-bad-render-id": "잘못된 파소이드 렌더 ID: $1",
"rest-invalid-transform": "유효하지 않은 변환: $1에서 $2",
"rest-request-body-expected": "$1 요청 메소드는 요청 본문을 예상합니다",
"rest-request-body-unaccepted": "$1 요청 메소드는 요청 본문을 허용하지 않습니다",
"rest-unmapped-action-error": "매핑되지 않은 작업 모듈 오류: $1",

View file

@ -5,10 +5,22 @@
"Volvox"
]
},
"rest-nonexistent-title": "D'Säit „$1“, déi ugi gouf, gëtt et net",
"rest-nonexistent-revision": "Déi spezifizéiert Versioun ($1) gëtt et net",
"rest-nonexistent-title": "D'Säit, déi ugi gouf, ($1) gëtt et net",
"rest-nonexistent-title-revision": "D'Versioun, déi ugi gouf, ($1) gëtt et net fir d'Säit, déi ugi gouf ($2)",
"rest-nonexistent-revision": "D'Versioun, déi ugi gouf, ($1) gëtt et net",
"rest-nonexistent-user": "De Benotzer, deen ugi gouf, ($1) gëtt et net",
"rest-invalid-user": "De Benotzernumm, deen ugi gouf, ($1) ass ongülteg",
"rest-invalid-ip": "D'IP, déi ugi gouf, ($1) ass ongülteg",
"rest-invalid-title": "Den Titel, deen ugi gouf, ($1) verweist net op eng Wikisäit.",
"rest-unsupported-content-type": "Net ënnerstëtzten Inhaltstyp: $1",
"rest-permission-denied-anon": "Net zougänglech fir anonym Benotzer",
"rest-permission-denied-title": "De Benotzer huet net d'Rechter fir den Titel ($1) ze liesen",
"rest-cannot-load-file": "De Fichier fir den Titel ''$1'' kann net geluede ginn.",
"rest-badtoken": "De CSRF-Token, deen ugi gouf, ass ongülteg.",
"rest-badtoken-nosession": "CSRF-Feeler keng Sitzung.",
"rest-transform-missing-html": "Et gouf keen HTML geliwwert.",
"rest-transform-missing-title": "Et gouf keen Titel oder Wikitext uginn.",
"rest-parsoid-error": "Parsoid-Feeler.",
"rest-unsupported-transform-input": "Net ënnerstëtzten Input: $1",
"rest-unsupported-profile-version": "Net ënnerstëtzte Profilversioun: $1",
"rest-parsoid-unsupported-media": "Net ënnerstëtzte Medientyp",

View file

@ -0,0 +1,88 @@
{
"@metadata": {
"authors": [
"N. Longo"
]
},
"rest-prefix-mismatch": "O percórso domandòu ($1) no l'é drénto a-o percórso bâze REST API ($2)",
"rest-bad-prefix": "O percórso de endpoint ($1) o no contêgne 'n prefìsso mòdolo vàlido.",
"rest-wrong-method": "O método domandòu ($1) o no l'é {{PLURAL:$3|'n método permìsso|un di métodi permìssi}} pe sto percórso chi ($2)",
"rest-no-match": "O percórso relatîvo ($1) o no coincìdde con di âtri controller conosciûi",
"rest-unknown-module": "O nómme do mòdolo domandòu ($1) o no l'é conosciûo",
"rest-nonexistent-title": "A pàgina indicâ ($1) a no l'exìste",
"rest-nonexistent-title-revision": "A versción domandâ ($1) a no l'é exìste pe-a pàgina indicâ ($2)",
"rest-nonexistent-revision": "A versción domandâ ($1) a no l'exìste",
"rest-nonexistent-user": "L'uténte indicòu ($1) o no l'exìste",
"rest-invalid-user": "O nómme uténte indicòu ($1) o no l'é vàlido",
"rest-invalid-ip": "L'IP indicòu ($1) o no l'é vàlido",
"rest-invalid-title": "O tìtolo indicòu ($1) o no se riferìsce a 'na pàgina wiki.",
"rest-unsupported-content-type": "Tîpo de contegnûo no suportòu: $1",
"rest-permission-error": "Permisción negâ: $1",
"rest-permission-denied-anon": "No acescìbile a-i uténti anònimi",
"rest-permission-denied-title": "L'uténte o no gh'à i dirìtti pe lêze o tìtolo ($1)",
"rest-permission-denied-revision": "L'uténte o no peu intrâ a-a versción domandâ ($1).",
"rest-rate-limit-exceeded": "In lìmite de tàsso o l'é stæto sconpasòu. Pe piâxéi, prêuva tórna ciù tàrdi.",
"rest-resource-limit-exceeded": "Sconpasòu i lìmiti de vivàgne pe elaborâ a domànda.",
"rest-pagehistory-incompatible-params": "No peu êse specificòu tùtti doî i paràmetri \"older_than\" e \"newer_than\"",
"rest-pagehistory-param-range-error": "ID versción o gh'à da êse ciù èrto de 0",
"rest-pagehistory-timestamp-error": "Inposcìbile repigiâ l'orâio pe-a versción indicâ ($1)",
"rest-pagehistorycount-type-unrecognized": "O tîpo de contézzo specificòu ($1) o no l'é vàlido",
"rest-pagehistorycount-parameters-invalid": "A conbinaçión de paràmetri specificâ a no l'é suportâ.",
"rest-compare-page-mismatch": "A versción specificâ a l'apartêgne a de pàgine diferénti; o paragón o l'é refuòu.",
"rest-compare-permission-denied": "L'uténte o no peu intrâ a-a versción domandâ.",
"rest-compare-nonexistent": "A versción specificâ do paràmetro $1 a no l'exìste.",
"rest-compare-inaccessible": "A versción specificâ da-o paràmetro $1 a no l'é acescìbile a-o pùblico.",
"rest-compare-wrong-content": "O spàçio $1 da versción specificâ pe-o paràmetro $2 a gh'à 'n tîpo de contegnûo ch'o no se peu trasformâ inte 'n tèsto.",
"rest-compare-wikidiff2": "St'endpoint chi o gh'à de bezéugno de wikidiff2 1.9.0 ò ciù modèrno.",
"rest-pagehistorycount-too-many-revisions": "O tìtolo indicòu o contêgne tròppe verscioìn pe repigiâ sto contézzo chi.",
"rest-search-error": "Erô into restitoî o rizultâto da riçèrca: $1",
"rest-page-source-type-error": "O tîpo de contegnûo da pàgina vivàgna domandâ o no l'é suportòu",
"rest-no-revision": "Inposcìbile repigiâ a versción pe-o tìtolo $1",
"rest-media-too-many-links": "Tròppi ligàmmi a media trovæ co-o tìtolo $1 (n'é permìsso $2)",
"rest-html-backend-error": "Inposcìbile repigiâ o Parsoid HTML: $1",
"rest-html-stash-failure": "Inposcìbile ascónde o Parsoid HTML.",
"rest-bad-json-body": "Còrpo da domànda no vàlido, o gh'à da êse 'n ògètto JSON.",
"rest-json-body-parse-error": "Anàlixi do còrpo da domànda cómme JSON falîa: $1",
"rest-missing-body-field": "O cànpo òbligatöio \"$1\" o mànca into còrpo da domànda.",
"rest-body-validation-error": "Còrpo da domànda no vàlido: $1",
"rest-extraneous-body-fields": "Cànpi forèsti trovæ into còrpo da domànda: $1",
"rest-bad-content-model": "Modéllo de contegnûo eròu: $1",
"rest-update-cannot-create-page": "A pàgina \"$1\" a no peu êse creâ scicómme ch'a l'exìste za. Pe métte a giórno a pàgina ch'a l'exìste za, indicâ l'ID versción bâze inta strutûa de sótta de \"l'ùrtima\" ciâve into còrpo domandòu.",
"rest-extraneous-csrf-token": "Token CSRF forèsto trovòu. I token CSRF no pêuan êse dêuviæ quànde se dêuvian di scistêmi de aotenticaçión cómme i OAuth, che són segûi cóntri i atàcchi CSRF.",
"rest-cannot-load-file": "O file pe-o tìtolo \"$1\" o no peu êse caregòu.",
"rest-cross-origin-anon-write": "E domànde de scritûa anònima d'òrìgine incroxâ no són permìsse",
"rest-requires-safe-against-csrf": "Sto endpoint chi o domànda 'n fornitô de seçioìn segûo pe CSRF.",
"rest-badtoken": "O token CSFR fornîo o no l'é vàlido.",
"rest-badtoken-missing": "O paràmetro <var>token</var> o l'é domandòu, levòu quànde se dêuvia 'n método d'aotenticaçión segûo pe CSRF.",
"rest-badtoken-nosession": "Erô CSRF - nisciùnn-a seçión.",
"rest-mock-error": "Erô de fâso.",
"rest-specified-revision-unavailable": "A versción indicâ a l'é stæta scancelâ ò soprèssa.",
"rest-previous-revision-unavailable": "No l'é stæto poscìbile trovâ a versción de prìmma. A pàgina a l'é stæta blocâ ò scancelâ?",
"rest-requires-content-type-header": "In'intestaçión Content-Type a dêv'êse fornîa co-in càrego ùtile de domànda.",
"rest-transform-missing-html": "Nisciùn html o l'é stæto fornîo.",
"rest-transform-missing-title": "Nisciùn tìtolo ò wikitèsto o l'é stæto fornîo.",
"rest-unsupported-target-format": "O formâto de destinaçión domandòu o no l'é suportòu.",
"rest-parsoid-resource-exceeded": "Sconpasòu o lìmite de vivàgne",
"rest-parsoid-error": "Erô de parsoid.",
"rest-parsoid-bad-render-id": "ID de réiza Parsoid gràmmo: $1",
"rest-bad-stash-key": "Ciâve de stash gràmma.",
"rest-html-key-expected": "Prevìsto 'na ciâve <var>html</var> into còrpo",
"rest-invalid-transform": "Trasformaçión no vàlida: $1 a $2",
"rest-request-body-expected": "O método de domànda $1 o prevédde 'n còrpo de domànda",
"rest-request-body-unaccepted": "O método de domànda $1 o prevédde 'n còrpo de domànda",
"rest-unmapped-action-error": "Erô do mòdolo d'açión no mapòu: $1",
"rest-unsupported-transform-input": "Input no suportòu: $1",
"rest-bad-etag": "ETag gràmmo: $1",
"rest-unsupported-profile-version": "Versción do profî no suportâ: $1",
"rest-no-json-decode": "O payload o no decodìfica o JSON inte 'n array",
"rest-parsoid-unsupported-media": "Tîpo de media no suportòu",
"rest-missing-revision-html": "O mànca a versción html",
"rest-missing-revision-html-content-type": "A versción html do tîpo de contegnûo a mànca.",
"rest-unsupported-profile-conversion": "No saxémmo cómme fâ sta conversción chi.",
"rest-edit-conflict": "Conflìtto d'ediçión ($1)",
"rest-unknown-parsoid-transformation": "Trasformaçión sconosciûa.",
"rest-target-variant-required": "A variànte de destinaçión a l'é necesâia.",
"rest-unsupported-language-conversion": "Conversción de léngoa no suportâ: $1 a $2",
"rest-unknown-content-model": "Modéllo de contegnûo sconosciûo: $1",
"rest-page-bundle-validation-error": "O PageBundle o no corispónde a-o contentVersion: $1"
}

View file

@ -1,7 +1,8 @@
{
"@metadata": {
"authors": [
"Jon Harald Søby"
"Jon Harald Søby",
"EdoAug"
]
},
"rest-prefix-mismatch": "Den forespurte stien ($1) var ikke i REST-API-ets grunnsti ($2)",
@ -63,7 +64,23 @@
"rest-unsupported-target-format": "Det forespurte målformatet støttes ikke.",
"rest-parsoid-resource-exceeded": "Ressursgrense overskredet",
"rest-parsoid-error": "Parsoid-feil.",
"rest-parsoid-bad-render-id": "Ugyldig Paroid-rendrings-ID: $1",
"rest-bad-stash-key": "Ugyldig stash-nøkkel.",
"rest-html-key-expected": "Uventet <var>html</var>-nøkkel i brødteksten",
"rest-invalid-transform": "Ugyldig transformasjon: $1 til $2"
"rest-invalid-transform": "Ugyldig transformasjon: $1 til $2",
"rest-request-body-expected": "Forespørselsmetoden $1 forventer en forespørselstekst",
"rest-request-body-unaccepted": "Forespørselsmetoden $1 aksepterer ikke en forespørselstekst",
"rest-unsupported-transform-input": "Ustøttet inndata: $1",
"rest-bad-etag": "Ugyldig ETag: $1",
"rest-unsupported-profile-version": "Ustøttet profilversjon: $1",
"rest-parsoid-unsupported-media": "Ustøttet medietype",
"rest-missing-revision-html": "Mangler sideversjons-HTML",
"rest-missing-revision-html-content-type": "Innholdstypen til sideversjons-HTML-en mangler.",
"rest-unsupported-profile-conversion": "Vi vet ikke hvordan denne konverteringen kan gjøres.",
"rest-edit-conflict": "Redigeringskonflikt ($1)",
"rest-unknown-parsoid-transformation": "Ukjent transformering.",
"rest-target-variant-required": "Målvariant er påkrevd.",
"rest-unsupported-language-conversion": "Ustøttet språkkonvertering: $1 til $2",
"rest-unknown-content-model": "Ukjent innholdsmodell: $1",
"rest-page-bundle-validation-error": "PageBundle samsvarer ikke med contentVersion: $1"
}

View file

@ -11,13 +11,13 @@
},
"rest-prefix-mismatch": "Het gevraagde pad ($1) bevind zich niet in het basispad van de REST API ($2)",
"rest-bad-prefix": "Het eindpuntpad ($1) bevat geen geldig modulevoorvoegsel",
"rest-wrong-method": "De requestmethode ($1) is {{PLURAL:$3|niet de toegestane methode voor dit pad|een van de toegestane methoden voor dit pad}} ($2)",
"rest-wrong-method": "De aanvraagmethode ($1) is niet {{PLURAL:$3|de toegestane methode|één van de toegestane methoden}} voor dit pad ($2)",
"rest-no-match": "Het gevraagde relatieve pad ($1) komt niet overeen met een bekende handler",
"rest-unknown-module": "De gevraagde modulenaam ($1) is niet bekend",
"rest-nonexistent-title": "De opgegeven pagina ($1) bestaat niet",
"rest-nonexistent-title-revision": "De opgegeven revisie ($1) bestaat niet voor de opgegeven pagina ($2)",
"rest-nonexistent-revision": "De opgevraagde versie ($1) bestaat niet",
"rest-nonexistent-user": "De opgegeven gebruiker ($1) bestaat niet.",
"rest-nonexistent-title-revision": "De opgegeven versie ($1) bestaat niet voor de opgegeven pagina ($2)",
"rest-nonexistent-revision": "De opgegeven versie ($1) bestaat niet",
"rest-nonexistent-user": "De opgegeven gebruiker ($1) bestaat niet",
"rest-invalid-user": "De opgegeven gebruikersnaam ($1) is niet geldig",
"rest-invalid-ip": "Het opgegeven IP-adres ($1) is ongeldig",
"rest-invalid-title": "De opgegeven titel ($1) verwijst niet naar een wikipagina.",
@ -29,12 +29,12 @@
"rest-rate-limit-exceeded": "Er is een tempobeperking overschreden. Probeer het later nog eens.",
"rest-resource-limit-exceeded": "Er zijn systeembegrenzingen overschreden tijdens het verwerken van deze aanvraag.",
"rest-pagehistory-incompatible-params": "Parameters \"older_than\" en \"newer_than\" kunnen niet beide worden opgegeven",
"rest-pagehistory-param-range-error": "Versie ID moet groter zijn dan 0",
"rest-pagehistory-param-range-error": "Versie-ID moet groter zijn dan 0",
"rest-pagehistory-timestamp-error": "De datum en tijd van de aangegeven versie kunnen niet opgeroepen worden ($1)",
"rest-pagehistorycount-type-unrecognized": "Het opgegeven aantaltype ($1) is niet geldig",
"rest-pagehistorycount-parameters-invalid": "De opgegeven combinatie van parameters wordt niet ondersteund.",
"rest-compare-page-mismatch": "De opgegeven versies behoren tot verschillende paginas. Er wordt geweigerd ze te vergelijken.",
"rest-compare-permission-denied": "Gebruiker heeft geen toegang tot de gevraagde herzieningen",
"rest-compare-permission-denied": "Gebruiker heeft geen toegang tot de gevraagde versies",
"rest-compare-nonexistent": "De door de parameter “$1” opgegeven versie bestaat niet.",
"rest-compare-inaccessible": "De door de parameter “$1” opgegeven versie is niet openbaar toegankelijk.",
"rest-compare-wrong-content": "Het segment “$1” van de door de parameter “$2” opgegeven versie is van een inhoudstype dat niet naar tekst kan worden omgezet.",
@ -69,6 +69,7 @@
"rest-unsupported-target-format": "Het gevraagde doelformaat wordt niet ondersteund.",
"rest-parsoid-resource-exceeded": "Limiet systeembelasting overschreden",
"rest-parsoid-error": "Fout van Parsoid.",
"rest-parsoid-bad-render-id": "Onjuiste Parsoid-render-ID: $1",
"rest-bad-stash-key": "Foutieve opbergsleutel.",
"rest-html-key-expected": "Er wordt een <var>html</var>-sleutel in de tekst verwacht",
"rest-invalid-transform": "Ongeldige transformatie: $1 naar $2",

View file

@ -5,27 +5,31 @@
"Pietrasagh",
"Rail",
"Rainbow P",
"Woytecr"
"Woytecr",
"Nux"
]
},
"rest-prefix-mismatch": "Żądana ścieżka ($1) nie była wewnątrz ścieżki root REST API ($2)",
"rest-wrong-method": "Żądana metoda ($1) nie była{{PLURAL:$3|dozwoloną metodą dla tej ścieżki|jedną z dozwolonych metod dla tej ścieżki}} ($2)",
"rest-prefix-mismatch": "Żądana ścieżka ($1) nie była wewnątrz ścieżki bazowej REST API ($2)",
"rest-bad-prefix": "Ścieżka punktu końcowego ($1) nie zawiera prawidłowego przedrostka modułu",
"rest-wrong-method": "Żądana metoda ($1) nie była {{PLURAL:$3|dozwoloną metodą dla tej ścieżki|jedną z dozwolonych metod dla tej ścieżki}} ($2)",
"rest-no-match": "Żądana względna ścieżka ($1) nie pasowała do żadnego modułu obsługi",
"rest-unknown-module": "Żądana nazwa modułu ($1) jest nieznana",
"rest-nonexistent-title": "Podana strona ($1) nie istnieje",
"rest-nonexistent-title-revision": "Podana wersja ($1) strony ($2) nie istnieje",
"rest-nonexistent-revision": "Żądana wersja ($1) nie istnieje.",
"rest-nonexistent-revision": "Żądana wersja ($1) nie istnieje",
"rest-nonexistent-user": "Podany użytkownik ($1) nie istnieje",
"rest-invalid-user": "Podana nazwa użytkownika ($1) jest nieprawidłowa",
"rest-invalid-ip": "Podany adres IP ($1) jest nieprawidłowy",
"rest-invalid-title": "Podany tytuł ($1) nie odnosi się do strony na wiki.",
"rest-unsupported-content-type": "Nieobsługiwany typ treści: $1",
"rest-permission-error": "Brak dostępu: $1",
"rest-permission-denied-anon": "Niedostępne dla anonimowego użytkownika",
"rest-permission-denied-title": "Użytkownik nie posiada uprawnień do czytania tytułu ($1)",
"rest-permission-denied-revision": "Użytkownik nie ma dostępu do żądanej wersji ($1).",
"rest-rate-limit-exceeded": "Przekroczono limit przepustowości. Spróbuj ponownie poźniej.",
"rest-rate-limit-exceeded": "Przekroczono limit przepustowości. Spróbuj ponownie później.",
"rest-resource-limit-exceeded": "Podczas wykonywania żądania przekroczono limit użycia zasobów.",
"rest-pagehistory-incompatible-params": "Parametry „older_than” i „newer_than” nie mogą być podawane razem",
"rest-pagehistory-param-range-error": "ID wersji musi być większe niż 0",
"rest-pagehistory-param-range-error": "Identyfikator wersji musi być większe niż 0",
"rest-pagehistory-timestamp-error": "Nie można pozyskać czasu dla podanej wersji ($1)",
"rest-pagehistorycount-type-unrecognized": "Podany typ liczenia ($1) jest niepoprawny",
"rest-pagehistorycount-parameters-invalid": "Podana kombinacja parametrów nie jest wspierana.",
@ -34,8 +38,8 @@
"rest-compare-nonexistent": "Wersja podana przez parametr $1 nie istnieje.",
"rest-compare-inaccessible": "Wersja podana przez parametr $1 nie jest publicznie dostępna.",
"rest-compare-wrong-content": "Slot $1 wersji podanej przez parametr $2 posiada typ treści, który nie może zostać zamieniony na tekst.",
"rest-compare-wikidiff2": "Ten endpoint wymaga oprogramowania wikidiff2 w wersji 1.9.0 lub nowszej.",
"rest-pagehistorycount-too-many-revisions": "Podany tytuł zawiera za dużo wersji aby móc pobrać tę liczbę.",
"rest-compare-wikidiff2": "Ten punkt końcowy wymaga oprogramowania wikidiff2 w wersji 1.9.0 lub nowszej.",
"rest-pagehistorycount-too-many-revisions": "Podany tytuł zawiera za dużo wersji, aby móc pobrać tę liczbę.",
"rest-search-error": "Błąd podczas zwracania wyników wyszukiwania: $1",
"rest-page-source-type-error": "Typ zawartości żądanej strony źródłowej jest niewspierany",
"rest-no-revision": "Nie udało się pobrać wersji dla tytułu $1",
@ -50,12 +54,17 @@
"rest-extraneous-csrf-token": "Znaleziono obcy token CSRF. Nie można używać tokenów CSRF podczas korzystania z mechanizmów uwierzytelniania takich jak OAuth, które są odporne na ataki CSRF.",
"rest-cannot-load-file": "Plik o tytule „$1” nie mógł zostać wczytany.",
"rest-cross-origin-anon-write": "Anonimowe żądania zapisu w innych domen nie są dozwolone",
"rest-requires-safe-against-csrf": "Ten endpoint wymaga sesji odpornej na CSRF.",
"rest-requires-safe-against-csrf": "Ten punkt końcowy wymaga sesji odpornej na CSRF.",
"rest-badtoken": "Podany token CSRF jest nieprawidłowy.",
"rest-badtoken-missing": "Parametr <var>token</var> jest wymagany, chyba że używana jest bezpieczna dla CSRF metoda uwierzytelniania.",
"rest-badtoken-nosession": "Błąd CSRF brak sesji.",
"rest-specified-revision-unavailable": "Wskazana wersja została usunięta lub ukryta.",
"rest-previous-revision-unavailable": "Nie można znaleźć poprzedniej wersji. Czy strona została zablokowana lub usunięta?",
"rest-transform-missing-html": "Nie podano kodu HTML.",
"rest-transform-missing-title": "Nie podano tytułu albo wikitekstu."
"rest-transform-missing-title": "Nie podano tytułu albo wikitekstu.",
"rest-unsupported-target-format": "Żądany format docelowy nie jest wspierany.",
"rest-parsoid-resource-exceeded": "Przekroczono limit zasobów",
"rest-parsoid-error": "Błąd Parsoida.",
"rest-parsoid-bad-render-id": "Identyfikator problematycznego renderowania Parsoida: $1",
"rest-html-key-expected": "Oczekiwano klucza <var>html</var> w zawartości"
}

View file

@ -0,0 +1,16 @@
{
"@metadata": {
"authors": [
"شاه زمان پټان"
]
},
"rest-invalid-user": "ټاکل شوی کارن‌نوم ($1) ناچله دی",
"rest-mock-error": "خيالي تېروتنه.",
"rest-specified-revision-unavailable": "ځانگړې‌شوې بیاکتنه ړنگه‌شوې يا ځپل‌شوې ده.",
"rest-previous-revision-unavailable": "پخوانۍ بیاکتنه ونهٔ موندل شوه. ايا مخ تاله‌شوی يا ړنگ‌شوی دی؟",
"rest-transform-missing-html": "هېڅ اېچ‌ټي‌اېم‌اېل نه دی ورکړل‌شوی.",
"rest-transform-missing-title": "هېڅ سرليک يا ويکي‌ليک نه دی ورکړل‌شوی.",
"rest-unsupported-target-format": "غوښتل‌شوې موخې بڼه نه ملاتړ کېږي.",
"rest-parsoid-resource-exceeded": "سرچينې حد زيات شوی",
"rest-parsoid-error": "پارسويډ تېروتنه"
}

View file

@ -5,7 +5,9 @@
"Eduardoaddad",
"Felipe L. Ewald",
"Jhonnatanricardo",
"Re demz"
"Re demz",
"Ninawauwau",
"Mitternachtvega"
]
},
"rest-prefix-mismatch": "O caminho pedido ($1) não estava no interior do caminho raiz da API REST ($2)",
@ -17,9 +19,11 @@
"rest-nonexistent-user": "O usuário especificado ($1) não existe",
"rest-invalid-user": "O nome de usuário especificado ($1) é inválido",
"rest-unsupported-content-type": "Tipo de conteúdo não supportado: $1",
"rest-permission-error": "Permissão negada: $1",
"rest-permission-denied-anon": "Não acessível por usuário anônimo",
"rest-permission-denied-title": "O usuário não tem o direitos de ler o título ($1)",
"rest-permission-denied-revision": "O usuário não tem acesso à revisão solicitada ($1).",
"rest-rate-limit-exceeded": "Limite de taxa excedido. Por favor, tente novamente mais tarde.",
"rest-resource-limit-exceeded": "Limites de recursos ultrapassados ao processar o pedido.",
"rest-pagehistory-incompatible-params": "Os parâmetros \"older_than\" ''(anterior a)'' e \"newer_than\" ''(posterior a)'' não podem ser especificados em simultâneo",
"rest-pagehistory-param-range-error": "O ID da revisão deve ser maior que 0",
@ -37,7 +41,7 @@
"rest-page-source-type-error": "O tipo de conteúdo da fonte da página solicitada não é suportado",
"rest-no-revision": "Não foi possível recuperar a revisão para o título $1",
"rest-media-too-many-links": "Muitos links de mídia encontrados no título $1 ($2 permitidos)",
"rest-html-backend-error": "Não foi possível buscar o HTML Parsoid",
"rest-html-backend-error": "Não foi possível buscar o HTML Parsoid: $1",
"rest-bad-json-body": "Corpo de solicitação inválido, deve ser um objeto JSON.",
"rest-json-body-parse-error": "A análise do corpo da solicitação como JSON falhou: $1",
"rest-missing-body-field": "Campo obrigatório \"$1\" ausente do corpo da solicitação.",

View file

@ -7,17 +7,24 @@
"Katunchik",
"Megakott",
"Okras",
"Vlad5250"
"Vlad5250",
"Cabadeck",
"Yurina Tatiana",
"Mitte27",
"Engineer56"
]
},
"rest-prefix-mismatch": "Запрашиваемый путь ($1) не найден внутри базового пути REST API ($2)",
"rest-bad-prefix": "Путь к конечному пункту ($1) не содержит допустимого префикса модуля.",
"rest-wrong-method": "Метод запроса ($1) не был {{{{PLURAL:$3|}}|разрешённым методом для этого пути|одним из разрешённых методов для этого пути}} ($2)",
"rest-no-match": "Запрошенный относительный путь ($1) не соответствует ни одному известному обработчику",
"rest-unknown-module": "Запрошенное имя модуля ($1) неизвестно.",
"rest-nonexistent-title": "Указанной страницы ($1) не существует",
"rest-nonexistent-title-revision": "Указанной версии ($1) не существует для указанной страницы ($2)",
"rest-nonexistent-revision": "Запрошенная редакция ($1) не существует",
"rest-nonexistent-user": "Указанный пользователь ($1) не существует",
"rest-invalid-user": "Указанное имя участника ($1) некорректно",
"rest-invalid-ip": "Указанный IP ($1) некорректен",
"rest-invalid-title": "Указанный заголовок ($1) не относится к вики-странице.",
"rest-unsupported-content-type": "Неподдерживаемый Content-Type: $1",
"rest-permission-error": "Доступ запрещён: $1",
@ -57,6 +64,12 @@
"rest-badtoken": "Предоставленный CSRF-токен недействителен.",
"rest-badtoken-missing": "Параметр <var>token</var> является обязательным, если только не используется метод аутентификации, безопасный для CSRF.",
"rest-badtoken-nosession": "Ошибка CSRF — нет сеанса.",
"rest-specified-revision-unavailable": "Указанная версия удалена или подавлена.",
"rest-previous-revision-unavailable": "Не удалось найти предыдущую версию. Страница была заблокирована или удалена?",
"rest-requires-content-type-header": "Заголовок Content-Type должен быть предоставлен вместе с полезной нагрузкой запроса.",
"rest-transform-missing-html": "HTML-код не предоставлен.",
"rest-transform-missing-title": "Ни заголовка, ни викитекста предоставлено не было.",
"rest-unsupported-target-format": "Запрошенный целевой формат не поддерживается.",
"rest-parsoid-error": "Ошибка Parsoid.",
"rest-html-key-expected": "Ожидаемый <var>HTML-</var> ключ в теле",
"rest-unsupported-transform-input": "Неподдерживаемый ввод: $1",

View file

@ -15,6 +15,7 @@
"rest-nonexistent-revision": "Navedena redakcija ($1) ne obstaja",
"rest-nonexistent-user": "Navedeni uporabnik ($1) ne obstaja",
"rest-invalid-user": "Navedeno uporabniško ime ($1) je neveljavno",
"rest-invalid-ip": "Navedeni IP ($1) je neveljaven",
"rest-invalid-title": "Navedeni naslov ($1) se ne nanaša na viki stran.",
"rest-unsupported-content-type": "Nepodprta vrsta vsebine: $1",
"rest-permission-error": "Dovoljenje zavrnjeno: $1",
@ -44,6 +45,7 @@
"rest-bad-json-body": "Neustrezno telo zahtevke, biti mora objekt JSON.",
"rest-json-body-parse-error": "Razčlenjevanje telesa zahtevka kot JSON ni uspelo: $1",
"rest-missing-body-field": "Telesu zahtevka manjka obvezno polje »$1«.",
"rest-body-validation-error": "Neveljavno telo zahtevka: $1",
"rest-extraneous-body-fields": "Dodatna polja v telesu zahtevka: $1",
"rest-bad-content-model": "Neustrezen vsebinski model: $1",
"rest-update-cannot-create-page": "Strani »$1« ni mogoče ustvariti, ker že obstaja. Za posodobitev obstoječe strani navedite ID osnovne redakcije v strukturi v telesu zahtevka pod ključem »latest« (najnovejše).",
@ -53,5 +55,35 @@
"rest-requires-safe-against-csrf": "Ta končna točka zahteva ponudnika, ki zagotavlja zaščito pred ugrabitvijo sej (CSRF).",
"rest-badtoken": "Predloženi žeton CSRF je neveljaven.",
"rest-badtoken-missing": "Potreben je parameter <var>token</var>, razen če uporabljate CSRF-varen način avtentikacije.",
"rest-badtoken-nosession": "Napaka CSRF ni seje."
"rest-badtoken-nosession": "Napaka CSRF ni seje.",
"rest-mock-error": "Simulirana napaka.",
"rest-specified-revision-unavailable": "Navedena redakcija je izbrisana ali skrita.",
"rest-previous-revision-unavailable": "Prejšnje redakcije ni bilo mogoče najti. Ali je bila stran zaklenjena ali izbrisana?",
"rest-requires-content-type-header": "V kombinaciji s tovorom zahtevka mora biti podana glava Content-Type.",
"rest-transform-missing-html": "Predložen ni bil noben HTML.",
"rest-transform-missing-title": "Predložen ni bil noben naslov ali vikibesedilo.",
"rest-unsupported-target-format": "Zahtevani ciljni format ni podprt.",
"rest-parsoid-resource-exceeded": "Presežena omejitev virov",
"rest-parsoid-error": "Napaka Parsoida.",
"rest-parsoid-bad-render-id": "Napačen ID upodabljanja Parsoid: $1",
"rest-bad-stash-key": "Neveljaven shranjevalni ključ.",
"rest-html-key-expected": "Pričakovan ključ <var>html</var> v telesu",
"rest-invalid-transform": "Neveljavna transformacija: $1 v $2",
"rest-request-body-expected": "Metoda zahtevka $1 zahteva telo zahtevka",
"rest-request-body-unaccepted": "Metoda zahtevka $1 ne sprejme telesa zahtevka.",
"rest-unmapped-action-error": "Napaka modula nepreslikanega dejanja: $1",
"rest-unsupported-transform-input": "Nepodprt vnos: $1",
"rest-bad-etag": "Slab ETag: $1",
"rest-unsupported-profile-version": "Nepodprta različica profila: $1",
"rest-no-json-decode": "Uporabni tovor ne dekodira JSON v matriko",
"rest-parsoid-unsupported-media": "Nepodprta vrsta predstavnosti",
"rest-missing-revision-html": "Manjkajoč HTML redakcije",
"rest-missing-revision-html-content-type": "Manjka Content-Type HTML-ja redakcije.",
"rest-unsupported-profile-conversion": "Ne vemo, kako izvesti to pretvorbo.",
"rest-edit-conflict": "Navzkrižje urejanj ($1)",
"rest-unknown-parsoid-transformation": "Neznana transformacija.",
"rest-target-variant-required": "Potrebna je ciljna varianta.",
"rest-unsupported-language-conversion": "Nepodprta jezikovna pretvorba: $1 v $2",
"rest-unknown-content-model": "Neznan vsebinski model: $1",
"rest-page-bundle-validation-error": "PageBundle se ne ujema s contentVersion: $1"
}

View file

@ -6,7 +6,7 @@
"WikiPhoenix"
]
},
"rest-prefix-mismatch": "Den begärda sökvägen ($1) fanns inte inuti rotsökvägen för REST API ($2)",
"rest-prefix-mismatch": "Den begärda sökvägen ($1) fanns inte inuti bassökvägen för REST API ($2)",
"rest-wrong-method": "Den begärda metoden ($1) var inte {{PLURAL:$3|den tillåtna metoden för denna sökväg|en av de tillåtna metoderna för denna sökväg}} ($2)",
"rest-no-match": "Den begärda relativa sökvägen ($1) matchade inte några kända hanterare",
"rest-nonexistent-title": "Den angivna titeln ($1) finns inte.",
@ -15,6 +15,7 @@
"rest-nonexistent-user": "Den angivna användaren ($1) finns inte",
"rest-invalid-user": "Det angivna användarnamnet ($1) är ogiltigt",
"rest-unsupported-content-type": "Innehållstyp som inte stöds: $1",
"rest-permission-error": "Behörighet nekad: $1",
"rest-permission-denied-anon": "Inte tillgänglig för anonyma användare",
"rest-permission-denied-title": "Användaren har inte behörighet att läsa titeln ($1)",
"rest-permission-denied-revision": "Användaren har inte åtkomst till den begärda sidversionen ($1).",
@ -48,5 +49,6 @@
"rest-requires-safe-against-csrf": "Denna slutpunkt kräver en CSRF-säker sessionsleverantör.",
"rest-badtoken": "Den angivna CSRF-nyckeln är ogiltig.",
"rest-badtoken-missing": "Parametern <var>token</var> krävs om inte en CSRF-säker autentiseringsmetod används.",
"rest-badtoken-nosession": "CSRF-fel - ingen session."
"rest-badtoken-nosession": "CSRF-fel - ingen session.",
"rest-mock-error": "Testfel."
}

View file

@ -9,7 +9,7 @@
"Stonecy"
]
},
"rest-prefix-mismatch": "İstenen yol ($1), REST API kök yolunun içinde değildi ($2)",
"rest-prefix-mismatch": "İstenen yol ($1), REST API temel yolunun ($2) içinde değildi",
"rest-wrong-method": "İstek yöntemi ($1), {{PLURAL:$3|bu yol için izin verilen yöntem|bu yol için izin verilen yöntemlerden biri}} değildi ($2)",
"rest-no-match": "İstenen göreceli yol ($1) bilinen herhangi bir işleyiciyle eşleşmedi",
"rest-nonexistent-title": "Belirtilen sayfa ($1) yok",

View file

@ -7,7 +7,8 @@
"Vlad5250",
"Ата",
"Пан Хаунд",
"Marvire"
"Marvire",
"METROKOP228 UA"
]
},
"rest-prefix-mismatch": "Зазначений шлях ($1) не знайдено всередині базового шляху REST API ($2)",

View file

@ -14,7 +14,14 @@
"Tr jason",
"VulpesVulpes825",
"沈澄心",
"铁桶"
"铁桶",
"Administrator66",
"Kcx36",
"Lily9814",
"Mishidexfc",
"Peterxy12",
"WaitSpring",
"范"
]
},
"rest-prefix-mismatch": "请求的路径($1不在REST API基本路径$2中",
@ -77,6 +84,7 @@
"rest-unsupported-target-format": "不支持请求的目标格式。",
"rest-parsoid-resource-exceeded": "超出资源限制",
"rest-parsoid-error": "Parsoid错误。",
"rest-parsoid-bad-render-id": "错误的Parsoid渲染ID$1",
"rest-bad-stash-key": "错误的stash key。",
"rest-html-key-expected": "正文中应包含<var>html</var>键",
"rest-invalid-transform": "无效转换:$1到$2",

View file

@ -4,7 +4,10 @@
"Kly",
"Xiplus",
"列维劳德",
"捍粵者"
"捍粵者",
"August.C",
"Peterxy12",
"Taiwania Justo"
]
},
"rest-prefix-mismatch": "請求的路徑($1不在REST API的基本路徑$2內",
@ -67,6 +70,7 @@
"rest-unsupported-target-format": "不支援的請求目標格式。",
"rest-parsoid-resource-exceeded": "超出資源限制",
"rest-parsoid-error": "Parsoid 錯誤。",
"rest-parsoid-bad-render-id": "错误的Parsoid渲染ID$1",
"rest-bad-stash-key": "錯誤的 stash key。",
"rest-html-key-expected": "正文裡預期的 <var>html</var> 鍵",
"rest-invalid-transform": "無效轉換:$1成$2",

View file

@ -83,6 +83,7 @@ use MediaWiki\Config\ConfigFactory;
use MediaWiki\Config\ConfigRepository;
use MediaWiki\Config\ServiceOptions;
use MediaWiki\Content\ContentHandlerFactory;
use MediaWiki\Content\ContentJsonCodec;
use MediaWiki\Content\IContentHandlerFactory;
use MediaWiki\Content\Renderer\ContentRenderer;
use MediaWiki\Content\Transform\ContentTransformer;
@ -575,7 +576,6 @@ return [
$services->getLinkBatchFactory(),
$services->getLinkCache(),
$services->getRepoGroup(),
RequestContext::getMain()->getLanguage(),
$services->getContentLanguage(),
$services->getTitleParser(),
$services->getNamespaceInfo(),
@ -631,6 +631,12 @@ return [
);
},
'ContentJsonCodec' => static function ( MediaWikiServices $services ): ContentJsonCodec {
return new ContentJsonCodec(
$services->getContentHandlerFactory(),
);
},
'ContentLanguage' => static function ( MediaWikiServices $services ): Language {
return $services->getLanguageFactory()->getLanguage(
$services->getMainConfig()->get( MainConfigNames::LanguageCode ) );
@ -1654,7 +1660,7 @@ return [
: $services->getMainObjectStash();
return new SimpleParsoidOutputStash(
$services->getContentHandlerFactory(),
$services->getJsonCodec(),
$backend,
$config['StashDuration']
);

View file

@ -129,15 +129,17 @@ require_once MW_INSTALL_PATH . '/includes/Defines.php';
// Assert that composer dependencies were successfully loaded
if ( !interface_exists( LoggerInterface::class ) ) {
$message = (
'MediaWiki requires the <a href="https://github.com/php-fig/log">PSR-3 logging ' .
"library</a> to be present. This library is not embedded directly in MediaWiki's " .
"git repository and must be installed separately by the end user.\n\n" .
'<strong>Error: Missing external libraries.</strong> ' .
'MediaWiki depends on external libraries bundled with most MediaWiki distributions. ' .
"When installing MediaWiki from its Git reposistory, these must be installed separately.\n\n" .
'Please see the <a href="https://www.mediawiki.org/wiki/Download_from_Git' .
'#Fetch_external_libraries">instructions for installing libraries</a> on mediawiki.org ' .
'for help on installing the required components.'
'for help on installing the required libraries.'
);
http_response_code( 500 );
echo $message;
trigger_error( $message, E_USER_ERROR );
error_log( $message );
exit( 1 );
}
// Deprecated global variable for backwards-compatibility.

View file

@ -71,6 +71,7 @@ class RevertAction extends FormAction {
}
public function getRestriction() {
// Required permissions of revert are complicated, will be checked below.
return 'upload';
}
@ -78,6 +79,16 @@ class RevertAction extends FormAction {
if ( $this->getTitle()->getNamespace() !== NS_FILE ) {
throw new ErrorPageError( $this->msg( 'nosuchaction' ), $this->msg( 'nosuchactiontext' ) );
}
$rights = [ 'reupload' ];
if ( $user->equals( $this->getFile()->getUploader() ) ) {
// reupload-own is more basic, put it in the front for error messages.
array_unshift( $rights, 'reupload-own' );
}
if ( !$user->isAllowedAny( ...$rights ) ) {
throw new PermissionsError( $rights[0] );
}
parent::checkCanExecute( $user );
$oldimage = $this->getRequest()->getText( 'oldimage' );

View file

@ -279,9 +279,18 @@ class ApiComparePages extends ApiBase {
*/
private function getRevisionById( $id ) {
$rev = $this->revisionStore->getRevisionById( $id );
if ( $rev ) {
$this->checkTitleUserPermissions( $rev->getPage(), 'read' );
}
if ( !$rev && $this->getAuthority()->isAllowedAny( 'deletedtext', 'undelete' ) ) {
// Try the 'archive' table
$rev = $this->archivedRevisionLookup->getArchivedRevisionRecord( null, $id );
if ( $rev ) {
$this->checkTitleUserPermissions( $rev->getPage(), 'deletedtext' );
}
}
return $rev;
}

View file

@ -111,7 +111,7 @@ class ApiFeedContributions extends ApiBase {
$this->dieWithError( 'apierror-sizediffdisabled' );
}
$msg = $this->msg( 'Contributions' )->inContentLanguage()->text();
$msg = $this->msg( 'Contributions' )->inContentLanguage()->escaped();
$feedTitle = $config->get( MainConfigNames::Sitename ) . ' - ' . $msg .
' [' . $config->get( MainConfigNames::LanguageCode ) . ']';
@ -125,7 +125,7 @@ class ApiFeedContributions extends ApiBase {
$feed = new $feedClasses[$params['feedformat']] (
$feedTitle,
htmlspecialchars( $msg ),
$msg,
$feedUrl
);
@ -235,7 +235,7 @@ class ApiFeedContributions extends ApiBase {
* @return string
*/
protected function feedItemDesc( RevisionRecord $revision ) {
$msg = $this->msg( 'colon-separator' )->inContentLanguage()->text();
$msg = $this->msg( 'colon-separator' )->inContentLanguage()->escaped();
try {
$content = $revision->getContent( SlotRecord::MAIN );
} catch ( RevisionAccessException $e ) {

View file

@ -61,6 +61,12 @@ class ApiFileRevert extends ApiBase {
// Check whether we're allowed to revert this file
$this->checkTitleUserPermissions( $this->file->getTitle(), [ 'edit', 'upload' ] );
$rights = [ 'reupload' ];
if ( $this->getUser()->equals( $this->file->getUploader() ) ) {
// reupload-own is more basic, put it in the front for error messages.
array_unshift( $rights, 'reupload-own' );
}
$this->checkUserRightsAny( $rights );
$sourceUrl = $this->file->getArchiveVirtualUrl( $this->archiveName );
$status = $this->file->upload(

View file

@ -136,7 +136,7 @@ class ApiLogin extends ApiBase {
// Try bot passwords
if ( $authRes === false && $this->getConfig()->get( MainConfigNames::EnableBotPasswords ) ) {
$botLoginData = BotPassword::canonicalizeLoginData( $params['name'], $params['password'] );
$botLoginData = BotPassword::canonicalizeLoginData( $params['name'] ?? '', $params['password'] ?? '' );
if ( $botLoginData ) {
$status = BotPassword::login(
$botLoginData[0], $botLoginData[1], $this->getRequest()

View file

@ -178,6 +178,7 @@ class ApiMain extends ApiBase {
'UserFactory',
'UrlUtils',
'TitleFormatter',
'JsonCodec',
]
],
'stashedit' => [

View file

@ -66,6 +66,7 @@ trait ApiMessageTrait {
'importuploaderrorpartial' => 'partialupload',
'importuploaderrorsize' => 'filetoobig',
'importuploaderrortemp' => 'notempdir',
'ipb-block-not-found' => 'alreadyblocked',
'ipb_already_blocked' => 'alreadyblocked',
'ipb_blocked_as_range' => 'blockedasrange',
'ipb_cant_unblock' => 'cantunblock',

View file

@ -33,6 +33,7 @@ use MediaWiki\Content\Transform\ContentTransformer;
use MediaWiki\Context\DerivativeContext;
use MediaWiki\EditPage\EditPage;
use MediaWiki\Json\FormatJson;
use MediaWiki\Json\JsonCodec;
use MediaWiki\Language\RawMessage;
use MediaWiki\Languages\LanguageNameUtils;
use MediaWiki\Message\Message;
@ -61,6 +62,7 @@ use Skin;
use SkinFactory;
use Wikimedia\ParamValidator\ParamValidator;
use Wikimedia\ParamValidator\TypeDef\EnumDef;
use Wikimedia\Parsoid\Core\TOCData;
use WikiPage;
/**
@ -95,6 +97,7 @@ class ApiParse extends ApiBase {
private UserFactory $userFactory;
private UrlUtils $urlUtils;
private TitleFormatter $titleFormatter;
private JsonCodec $jsonCodec;
public function __construct(
ApiMain $main,
@ -113,7 +116,8 @@ class ApiParse extends ApiBase {
TempUserCreator $tempUserCreator,
UserFactory $userFactory,
UrlUtils $urlUtils,
TitleFormatter $titleFormatter
TitleFormatter $titleFormatter,
JsonCodec $jsonCodec
) {
parent::__construct( $main, $action );
$this->revisionLookup = $revisionLookup;
@ -131,6 +135,7 @@ class ApiParse extends ApiBase {
$this->userFactory = $userFactory;
$this->urlUtils = $urlUtils;
$this->titleFormatter = $titleFormatter;
$this->jsonCodec = $jsonCodec;
}
private function getPoolKey(): string {
@ -605,6 +610,13 @@ class ApiParse extends ApiBase {
}
if ( isset( $prop['sections'] ) ) {
$result_array['sections'] = $p_result->getSections();
}
if ( isset( $prop['tocdata'] ) ) {
$result_array['tocdata'] = $this->jsonCodec->toJsonArray(
$p_result->getTOCData(), TOCData::class
);
}
if ( isset( $prop['sections'] ) || isset( $prop['tocdata'] ) ) {
$result_array['showtoc'] = $p_result->getOutputFlag( ParserOutputFlags::SHOW_TOC );
}
if ( isset( $prop['parsewarnings'] ) ) {
@ -736,6 +748,7 @@ class ApiParse extends ApiBase {
'externallinks' => 'el',
'iwlinks' => 'iw',
'sections' => 's',
'tocdata' => 'toc',
'headitems' => 'hi',
'modules' => 'm',
'indicators' => 'ind',
@ -1081,7 +1094,7 @@ class ApiParse extends ApiBase {
],
'prop' => [
ParamValidator::PARAM_DEFAULT => 'text|langlinks|categories|links|templates|' .
'images|externallinks|sections|revid|displaytitle|iwlinks|' .
'images|externallinks|sections|tocdata|revid|displaytitle|iwlinks|' .
'properties|parsewarnings',
ParamValidator::PARAM_ISMULTI => true,
ParamValidator::PARAM_TYPE => [
@ -1094,6 +1107,7 @@ class ApiParse extends ApiBase {
'images',
'externallinks',
'sections',
'tocdata',
'revid',
'displaytitle',
'subtitle',

View file

@ -152,7 +152,7 @@ class ApiQueryAllPages extends ApiQueryGeneratorBase {
$forceNameTitleIndex = false;
}
if ( isset( $params['maxsize'] ) ) {
if ( !$miserMode && isset( $params['maxsize'] ) ) {
$this->addWhere( 'page_len<=' . (int)$params['maxsize'] );
$forceNameTitleIndex = false;
}
@ -363,6 +363,7 @@ class ApiQueryAllPages extends ApiQueryGeneratorBase {
if ( $this->getConfig()->get( MainConfigNames::MiserMode ) ) {
$ret['filterredir'][ApiBase::PARAM_HELP_MSG_APPEND] = [ 'api-help-param-limited-in-miser-mode' ];
$ret['maxsize'][ApiBase::PARAM_HELP_MSG_APPEND] = [ 'api-help-param-disabled-in-miser-mode' ];
}
return $ret;

View file

@ -234,8 +234,9 @@ class ApiQueryBlocks extends ApiQueryBase {
}
if ( !$this->getAuthority()->isAllowed( 'hideuser' ) ) {
$this->addWhere( [ 'bl_deleted' => 0 ] );
$this->addWhere(
$this->hideUserUtils->getExpression( $db, $db->tableName( 'block_target' ) . '.bt_user' )
$this->hideUserUtils->getExpression( $db, 'block_target.bt_user' )
);
}

View file

@ -196,7 +196,8 @@ class ApiQueryImageInfo extends ApiQueryBase {
$info['badfile'] = (bool)$this->badFileLookup->isBadFile( $title, $badFileContextTitle );
}
$fit = $result->addValue( [ 'query', 'pages' ], (int)$pageId, $info );
// Use ApiResult::IGNORE_CONFLICT_KEYS, the module is extended and the value can be set twice (T402438)
$fit = $result->addValue( [ 'query', 'pages' ], (int)$pageId, $info, ApiResult::IGNORE_CONFLICT_KEYS );
if ( !$fit ) {
if ( count( $pageIds[NS_FILE] ) == 1 ) {
// The user is screwed. imageinfo can't be solely

View file

@ -248,7 +248,7 @@ abstract class ApiQueryRevisionsBase extends ApiQueryGeneratorBase {
if ( $params['diffto'] == 'cur' ) {
$params['diffto'] = 0;
}
if ( ( !ctype_digit( $params['diffto'] ) || $params['diffto'] < 0 )
if ( ( !ctype_digit( (string)$params['diffto'] ) || $params['diffto'] < 0 )
&& $params['diffto'] != 'prev' && $params['diffto'] != 'next'
) {
$p = $this->getModulePrefix();

View file

@ -73,6 +73,13 @@ class ApiResult implements ApiSerializable {
*/
public const NO_VALIDATE = self::NO_SIZE_CHECK | 8;
/**
* For addValue(), setValue() and similar functions, do allow override
* of conflicting keys.
* @since 1.45 (also backported to 1.43.6, 1.44.3)
*/
public const IGNORE_CONFLICT_KEYS = 16;
/**
* Key for the 'indexed tag name' metadata item. Value is string.
* @since 1.25
@ -309,7 +316,7 @@ class ApiResult implements ApiSerializable {
}
} elseif ( is_array( $arr[$name] ) && is_array( $value ) ) {
$conflicts = array_intersect_key( $arr[$name], $value );
if ( !$conflicts ) {
if ( !$conflicts || ( $flags & self::IGNORE_CONFLICT_KEYS ) ) {
$arr[$name] += $value;
} else {
$keys = implode( ', ', array_keys( $conflicts ) );

Some files were not shown because too many files have changed in this diff Show more