Commit graph

2024 commits

Author SHA1 Message Date
theknightwho acd7ec66ea Avoid modules that should return false wrongly returning true
When modules are first loaded by `require` in package.lua, it checks
for a return value with `if res then`. If that check fails, the module
will be cached with the default value `true` at line 109, and that
value is then returned.

That check should be changed to `if res ~= nil then`, because
otherwise a module with a return value of `false` will be cached with
the value `true`.

This also necessitates a corresponding change to the check at line 93,
which is when `package.loaded` is initially checked to see if a package
has been loaded before, as that value could be `false`.

Bug: T362045
Change-Id: Id42e26a922c13971c25ed8654e822dc6fdcb6ca7
2024-05-24 02:10:41 +00:00
theknightwho fc3104e9c6 Optimisations for mw.clone
`mw.clone` is called on the global table for each new `{{#invoke:}}`,
which is a major contributor to loading times on large pages. This
change introduces various speed optimisations that make it around
15% faster:

* `recursiveClone` is declared outside of the main function, to avoid
  generating a new closure each time `mw.clone` is called.
* This means `tableRefs` has to be passed as an argument to
  `recursiveClone` instead of being an upvalue, which also decreases
  access time.
* `recursiveClone` is only called after a `type` then `tableRefs` check
  confirms a value is an unseen table, meaning it's only called when
  needed, not for every key/value pair (which add noticeable overhead
  when cloning large tables).
* `getmetable` is only called once, not twice, by using a local
  variable.
* `tableRefs[elt]` is only accessed once, by using a ternary operator.
* Any global accesses have been replaced by local ones.

Bug: T357199
Change-Id: I51593a971f0be728255723ca300d1ce692ead256
2024-05-24 02:08:41 +00:00
Translation updater bot df7dee0e7c Localisation updates from https://translatewiki.net.
Change-Id: I6da01c5c313ce7e04491bc025cd375ed5b398b33
2024-05-20 09:26:04 +02:00
libraryupgrader 2e6cf9cafe build: Updating grunt-banana-checker to 0.13.0
Change-Id: I258c02573ddbefd0be087a9dba2738fadc935fec
2024-05-19 01:09:51 +00:00
Bartosz Dziewoński c6b1f32dff Update parser tests for new heading HTML
Bug: T13555
Depends-On: I1180169a8e83af834c2984ba16089e6277f2a8dd
Change-Id: I4d2be132e63aff7bf8953f0f371e806a834db10d
2024-05-16 16:35:58 +00:00
Translation updater bot 7c41511282 Localisation updates from https://translatewiki.net.
Change-Id: Ia426a54450c80a3b01fd6d78b167602417c14286
2024-05-16 09:27:24 +02:00
theknightwho a091b46d65 Use correct variable for error message in mw.loadJsonData
`mw.loadJsonData` in mw.lua throws an error if the input argument is
not a string. The error message should refer to the type of the input
argument `module`, not that of the variable `arg` (which is usually
undeclared, giving the type `nil`).

This also necessitates updating test `mw.loadJsonData, bad title (1)`
in CommonTests.lua, which checks for the error message if the input
is the number 0; the correct message should say "got number", not
"got nil".

Bug: T364987
Change-Id: I8362e91489a8ddc4c890e2799892f692c497c9b9
2024-05-15 14:05:32 +01:00
Translation updater bot c7036c9dc0 Localisation updates from https://translatewiki.net.
Change-Id: I4809c91a49d4131372909ecf0d237694081fa52a
2024-05-15 09:22:12 +02:00
Wandji69 a7111aac69 Use ObjectCacheFactory instead of deprecated ObjectCache method
Bug: T363770
Change-Id: I416c511ef22afde3d519f66818c9b64e0ef21178
2024-05-14 20:07:42 +00:00
SD0001 9ec60453f7 Revert "Localisation updates from https://translatewiki.net."
This reverts commit 551f90ba86.

Reason for revert: trailing whitespace in i18n message is causing builds to fail. Example: https://integration.wikimedia.org/ci/job/mwgate-node18/15679/console

Bug: T364727
Change-Id: I88fc8cd7b22d119089aeeb70f50042b3662ee929
2024-05-14 20:07:14 +00:00
Translation updater bot 551f90ba86 Localisation updates from https://translatewiki.net.
Change-Id: If755f652b21af2cd8560ad15bd81b34904fd0f95
2024-05-13 09:27:54 +02:00
libraryupgrader fec711cbb2 build: Updating dependencies
composer:
* mediawiki/minus-x: 1.1.1 → 1.1.3

npm:
* grunt-banana-checker: 0.11.1 → 0.12.0

Change-Id: Ifd2ceb4be1f3dc5a414b5c9946450f3bd822e68c
2024-05-10 22:19:13 +00:00
Translation updater bot 3f881a1919 Localisation updates from https://translatewiki.net.
Change-Id: I1012746f98b116d1b50d03c6e65188bca24e56c4
2024-05-06 09:26:30 +02:00
wfan fed1972733 Migrate MediaWiki.scribunto.traces.* to statslib
Bug: T359275
Change-Id: Idd234bbb34747b4557dcded73eace69131a2566a
2024-05-04 22:40:52 -07:00
Translation updater bot a7bf3cc073 Localisation updates from https://translatewiki.net.
Change-Id: I85db5b18de96f345e2eaba687dc1a39d32ea02eb
2024-05-01 09:22:43 +02:00
thiemowmde 4c4392b4f3 Use PHP's more recent ?? operator where it makes sense
… as well as avoid an overly complicated printf call where a string
cast does the same.

Change-Id: I66b51572d0f2f9e72b9ef7c32f9a62ebb698d739
2024-04-28 17:28:51 +00:00
thiemowmde fbbb56f1ef Stop using the Xml class in this codebase
Bug: T341775
Change-Id: I2ccecaccf1558d9c54d88e2d1f43ca59d7157d15
2024-04-26 13:20:06 +02:00
Translation updater bot d5bd9a2532 Localisation updates from https://translatewiki.net.
Change-Id: I5b66d84e22499c306f6682efdcd5dfaa599da0b2
2024-04-24 09:19:08 +02:00
libraryupgrader 755b549fe6 build: Updating dependencies
composer:
* php-parallel-lint/php-parallel-lint: 1.3.2 → 1.4.0

npm:
* eslint-config-wikimedia: 0.26.0 → 0.27.0

Change-Id: Ic6dfda29b5b2bce54eb5b94c92a5c5bcbf22b00b
2024-04-23 12:40:31 +00:00
Translation updater bot 2310a60f2b Localisation updates from https://translatewiki.net.
Change-Id: If3bb6b6e9e5f7a90c8df2e6720154cc6c89c5375
2024-04-23 09:28:59 +02:00
Umherirrender f79457d27b build: Remove suppression of PhanUndeclaredProperty for Parser property
Follow-Up: I701a27459704839f9f996a171b6982ed17cdd00b
Change-Id: I23523d45efd8c1e6707d4fb2e3cae981d07f139a
2024-04-23 02:06:26 +00:00
Umherirrender bdf882e1c9 build: Upgrade mediawiki/lua-sandbox to 4.1.2
This includes the declaration of a class property from 7ec7813b2e
to avoid phan issue and avoids use of
dynamic properties as deprecated in php8.2

Change-Id: I192d3a6716c400487fe534809197c0d2b42a439d
2024-04-23 02:06:24 +00:00
Dringsim 8307c6b328 Change use of AtEase to at operator
Change-Id: I0c92ba1ca00d43b3e7d636872372dd451f372a29
2024-04-23 01:57:14 +00:00
Translation updater bot 72167d97b7 Localisation updates from https://translatewiki.net.
Change-Id: I1c93d194bd49d341419b0db2c937f6dcdb0f8fec
2024-04-22 09:29:37 +02:00
Dringsim a978a00d00
Use ES6 features, replace jQuery bind() with on()
Bug: T334853
Change-Id: I33ce4c07613a53ef394b4addee0e2b1b6c58455c
2024-04-20 03:18:34 +08:00
C. Scott Ananian dfdf5cb54a LanguageLibrary: Ensure language code is a string
Defense in depth: catch the error early when calling mw.language.new()
with a non-string `code` argument; but also check late when popping
the code off the argument array in case something altered the code
property after construction.

Bug: T361664
Change-Id: I04476d3e1c32c87e1df95cc9a0dddcaff475b756
2024-04-11 16:20:24 +00:00
C. Scott Ananian 5bde75bf38 TitleLibrary: Don't register external titles as dependencies
In TitleLibrary::getContentInternal(), an external (interwiki) title will
fail when we try to `Parser::fetchCurrentRevisionRecordOfTitle`, but by
that time we've already tried to add it to the dependency list for the
page via `ParserOutput::addTemplate()`, which causes issues further on.

Bug: T362222
Change-Id: I171e97f17b6de176f92ced47757d10c341c979fd
2024-04-10 11:32:44 -04:00
Translation updater bot ffdbcf5723 Localisation updates from https://translatewiki.net.
Change-Id: I79343d5adc98a00ac7776884a4c7270bcf1be24b
2024-04-08 09:26:56 +02:00
Timo Tijhof 796c3dddfd Replace 'hash' with CACHE_HASH to improve discovery
Bug: T139216
Change-Id: Icd75953ccdb71543f3100f659fa32e1a1e7d1e26
2024-03-29 15:38:08 -07:00
Translation updater bot e7542a6756 Localisation updates from https://translatewiki.net.
Change-Id: I4c83442ac8c02aa1f27228871699f8683ffbe585
2024-03-25 08:36:38 +01:00
Umherirrender 52af61330f Add explicit parentheses around mixed boolean operator
Mixing different binary boolean operators within an expression
without using parentheses to clarify precedence is not allowed (T358966)

Change-Id: I6d3edc5f8dddcfc6bd6a7d2a8f2ad9467372908d
2024-03-23 00:59:35 +01:00
Translation updater bot f449c209b8 Localisation updates from https://translatewiki.net.
Change-Id: I732714d8569fb97d66f5c8aca124dcd12f77f43c
2024-03-22 08:45:27 +01:00
Translation updater bot 4a87f8ec6a Localisation updates from https://translatewiki.net.
Change-Id: I3254a38e5e5ebec91ce75f38e22d771b912eb3de
2024-03-19 08:25:40 +01:00
Translation updater bot bfa39eb49f Localisation updates from https://translatewiki.net.
Change-Id: I0b2cdf1d0a436ee78c38cc720862a2a8f9c5ab68
2024-03-18 08:31:46 +01:00
Fomafix 2a45dbb577 Inject services into ApiScribuntoConsole, CodeEditorHooks and Hooks
Also use private instead of public for internal function reportTiming.

Change-Id: I52c301d11244436ddc142ec84a7c6740a4ea4d32
2024-03-18 04:40:47 +00:00
Fomafix 70605bf630 Replace global configuration variables
Use overrideConfigValues instead of setMwGlobals in tests.

Change-Id: Icaf7d8d9bb3a4c1eb981ef83a12719c2619039fa
2024-03-18 04:40:44 +00:00
Translation updater bot 076bcb2711 Localisation updates from https://translatewiki.net.
Change-Id: Iff42fe808157a18b87b3ac95f0691392ad75ee52
2024-03-11 08:27:59 +01:00
Umherirrender 09f2905ae6 build: Upgrade mediawiki/mediawiki-codesniffer to v43.0.0
Change-Id: Idf24dd1742439d80aaecc308eda386a1afbb0bdc
2024-03-10 23:46:30 +01:00
Translation updater bot c03d734c06 Localisation updates from https://translatewiki.net.
Change-Id: Iac5c367637c2791dcb1331e58db181e4d20c7d6f
2024-03-08 08:23:37 +01:00
Translation updater bot 64ed675207 Localisation updates from https://translatewiki.net.
Change-Id: I28fee3c666762fa985e8a9e44aff65f17a2ad1cb
2024-03-06 08:20:15 +01:00
Translation updater bot 45bbb57fa2 Localisation updates from https://translatewiki.net.
Change-Id: I83ff75f88411608b1f09745f5e9c28a4c737afc4
2024-03-05 08:28:20 +01:00
Translation updater bot 5e57c5478a Localisation updates from https://translatewiki.net.
Change-Id: I042970d541bf263c343be99420553a36950a0e00
2024-03-04 08:24:09 +01:00
Siddharth VP e6cf6bb161 Allow localising content model name
Define the content-model-$model message which is used by
ContentHandler::getLocalizedName.

Bug: T358341
Depends-On: I0f090f21ce2b0f6d92790ae9f2b755dabb2e7082
Change-Id: I221f98cbb7d06dc667fdacedcdbe77d5781b025b
2024-03-04 06:34:16 +00:00
Translation updater bot 6c87302e6a Localisation updates from https://translatewiki.net.
Change-Id: I59495da82120e3d443034bf1e350ad9c65169348
2024-02-26 08:36:57 +01:00
Translation updater bot b9e2934294 Localisation updates from https://translatewiki.net.
Change-Id: I9051f3e2cf4dd0af5f29b3eb5b225aa657166db6
2024-02-23 08:45:13 +01:00
C. Scott Ananian d00b6aa0ea ParserOutput::setText() has been renamed to ::setRawText()
Depends-On: I3ef34814ab9473cc70d0a6806e8c5a4a02b73491
Change-Id: Iaf220266c8544ab2f1969af4c2b4ec16aca1e46d
2024-02-21 17:13:48 +00:00
vlakoff 6c340bff8d Synchronize mw.text.nowiki() with wfEscapeWikiText in core
Added escapes for "!" and ";" as well as additional escapes
at beginning and end of string.

Bug: T168763
Co-Authored-By: vlakoff <vlakoff@gmail.com>
Co-Authored-By: C. Scott Ananian <cananian@wikimedia.org>
Depends-On: I34f2fa8c329e6f6771453b2f94dc4afbec31dac8
Change-Id: I6c9dcfdbbb2c6eff9414e24d3f2693ebe576505a
2024-02-15 05:29:36 +00:00
Translation updater bot bce8a82d66 Localisation updates from https://translatewiki.net.
Change-Id: Ic5bf9a5fb3a597b9d0338bd7f288ffabdf22636c
2024-02-14 08:19:20 +01:00
Translation updater bot ddf71f2904 Localisation updates from https://translatewiki.net.
Change-Id: I96fbf5743e546f236ea9c8bb01faaa03439dd87d
2024-02-12 14:50:28 +01:00
libraryupgrader ac6ea01347 build: Updating dependencies
composer:
* mediawiki/mediawiki-phan-config: 0.12.1 → 0.14.0

npm:
* grunt-banana-checker: 0.11.0 → 0.11.1

Change-Id: I5409769b09c1985b18d7b81809c549522236c949
2024-02-10 13:38:43 +00:00