Commit graph

128679 commits

Author SHA1 Message Date
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