Commit graph

2408 commits

Author SHA1 Message Date
Translation updater bot c8e21c9f1d Localisation updates from https://translatewiki.net.
Change-Id: I503126feeed44e3768fa423e9d5ca7f152506666
2023-10-02 10:57:19 +02:00
Translation updater bot 2d525ce1c9 Localisation updates from https://translatewiki.net.
Change-Id: Ic5f986af6a9f022eb8afe71ef6f3769a8dbaccaa
2023-09-26 08:43:55 +02:00
Translation updater bot 81dc3dd6f5 Localisation updates from https://translatewiki.net.
Change-Id: I9d0c8fb0f71850781d1dd0d44a7c8d34607dc3da
2023-09-25 08:46:19 +02:00
jenkins-bot 8284344e6e Merge "Add support for content models in definitions" 2023-09-22 23:29:53 +00:00
Translation updater bot 08860aabdc Localisation updates from https://translatewiki.net.
Change-Id: Ib0b01c291aa4389f1a5443cb7a4dc57868a7a9f4
2023-09-22 08:46:54 +02:00
Siddharth VP 72cbb64069 Add support for content models in definitions
Adds a contentModels option to gadget definitions to restrict gadgets to
run in pages of the given content models only.

Use-cases include gadgets for tabular data[1] (for Tabular
.JsonConfig model), for editing map data[2] (for Map.JsonConfig model),
and for showing links in code pages[3] (restricted to javascript, css,
json, and scribunto models), as well as common gadgets like ProveIt[4]
which can be restricted to wikitext model.

[1]: https://commons.wikimedia.org/wiki/MediaWiki:Gadget-TabularImportExport.js
[2]: https://fr.wikipedia.org/wiki/MediaWiki:Gadget-KartoEditor.js
[3]: https://en.wiktionary.org/wiki/MediaWiki:Gadget-CodeLinks.js
[4]: https://commons.wikimedia.org/wiki/Help:Gadget-ProveIt

Bug: T204201
Bug: T63007
Change-Id: I7dcfc21d674ead8d710e7f77d13bf18bcad15079
2023-09-21 22:27:22 +05:30
Translation updater bot 3c50a61ebe Localisation updates from https://translatewiki.net.
Change-Id: Ia00896b807bb2bc9d9dbd17c0d8ddfca68b85bef
2023-09-21 10:15:48 +02:00
brandonxlf ec69cea0e3 Add support for namespaces in definitions
Adds a "namespaces" option to the gadget definition, which takes a
list of namespace IDs. Enabled gadgets will only load when the
viewed page is in one of the required namespaces.

Bug: T204201
Bug: T63007
Change-Id: I7f797e35352b242ad78704074e98c6569a1adf91
2023-09-20 14:50:33 -07:00
Timo Tijhof 5aaa843a28 tests: Enforce parity between Gadget::serializeDefinition and toArray
Follows-up 087ab65e24 (Ieae6706537). To avoid silent mistakes such
as during development of T63007 (I7f797e35352b242).

Bug: T303194
Change-Id: If675f8d02ed3fee768af3d2b4912249319ae9ef4
2023-09-20 14:41:33 -07:00
Translation updater bot 35179b9d7e Localisation updates from https://translatewiki.net.
Change-Id: I9a055c34fb1c3a3c1fe7b9d309cd078cda7ddd2a
2023-09-20 08:55:12 +02:00
Translation updater bot 314f1caff3 Localisation updates from https://translatewiki.net.
Change-Id: I8927b3d0c2a7e7b1b007e58a0cecbcc51b75d864
2023-09-19 09:25:28 +02:00
jenkins-bot 30e5766dd0 Merge "Hide gadgets on Special:Preferences when forcesafemode=true" 2023-09-18 22:13:11 +00:00
Translation updater bot 944255f58e Localisation updates from https://translatewiki.net.
Change-Id: I975802592b20dcb6444bb8ae801088f47c20b25b
2023-09-18 08:43:19 +02:00
Translation updater bot f1eeb43578 Localisation updates from https://translatewiki.net.
Change-Id: Ibd5677caf992908569f433f2b4732c8a32e791a0
2023-09-11 09:03:45 +02:00
Dringsim e292854740 Hide gadgets on Special:Preferences when forcesafemode=true
See https://gerrit.wikimedia.org/r/c/mediawiki/core/+/940156/comments/bdd88839_f9bdd28a

Bug: T342347
Depends-On: I6f2d024c01cdb1d7305ff024996175eb2656d0a8
Change-Id: Ia72bb33a3fd559cd5a30a44f736b0d3040843323
2023-09-08 17:15:15 +00:00
jsn 929bfc6404 Preserve Gadget prefs when they can't be enabled
- Always define gadget enable/disable preferences
- Show a gadget's preference when it can be enabled

Bug: T341421
Change-Id: If32eecebccf2c9b557d7dde273b7faf7118a7ac3
2023-09-06 19:32:31 -05:00
Translation updater bot 5e7dbab637 Localisation updates from https://translatewiki.net.
Change-Id: I16c3a8535c65ebf8534ea208c3d48289da400328
2023-09-06 08:42:04 +02:00
Translation updater bot 63629b4f3a Localisation updates from https://translatewiki.net.
Change-Id: I89a3c3e32fc2cee75f5d04a07e75fbfe9b6c4e3b
2023-09-01 09:02:55 +02:00
Translation updater bot d89d269d83 Localisation updates from https://translatewiki.net.
Change-Id: Ib3fb2b64bfbae982ab1aa671c9b17395b0c33949
2023-08-28 09:30:05 +02:00
Translation updater bot 6c37ea1bd0 Localisation updates from https://translatewiki.net.
Change-Id: I0e5127d6accdcb333d253cc8b6de6d23d090d36e
2023-08-21 08:47:46 +02:00
jenkins-bot c21d23006e Merge "Replace some moved Title class uses, now MediaWiki\Title\Title" 2023-08-19 09:05:36 +00:00
James D. Forrester 38084b1ea6 build: Update MediaWiki requirement to 1.41
All extensions in the MediaWiki tarball are expected to track MediaWiki's release directly.

Change-Id: I3f82a96139d4d5754898224016867683ef358289
2023-08-19 13:19:53 +08:00
gerritbot b9da596fe8 Replace some moved Title class uses, now MediaWiki\Title\Title
Bug: T321681
Change-Id: I9b9c59a564e81daf01bb99d48dc81c9357e94acc
2023-08-19 04:15:51 +00:00
Umherirrender 7f95440c4d Use HookHandlers for CodeEditor hook
This requires 1.41 for the interface (added in 4d6a470a)

Bug: T271014
Change-Id: Ic486f44bd9215ac7dad5bc70d7dca1e9aad470de
2023-08-16 05:30:40 +00:00
Translation updater bot 636c4482b3 Localisation updates from https://translatewiki.net.
Change-Id: I4374c8f442acbcbef480410d591edc1f502df470
2023-08-15 08:25:55 +02:00
Translation updater bot 847b5733a0 Localisation updates from https://translatewiki.net.
Change-Id: Ic046e7260f8ca8ac1472462c8c63700648bfdf49
2023-08-14 09:17:41 +02:00
Translation updater bot 1f7dc8d030 Localisation updates from https://translatewiki.net.
Change-Id: Ia70c66b1d3e43e9c58cb7a597319b06d28277551
2023-08-11 09:00:31 +02:00
Translation updater bot 977c8aacf3 Localisation updates from https://translatewiki.net.
Change-Id: I1867d052f7ac038f6b3c22b4b7bc3ad9b8067728
2023-08-09 09:15:08 +02:00
Translation updater bot f32888a3e2 Localisation updates from https://translatewiki.net.
Change-Id: I8b369947840cbd62b7fe372c78b7c945b2687ce9
2023-08-08 09:00:58 +02:00
Translation updater bot 4058837bb7 Localisation updates from https://translatewiki.net.
Change-Id: Ib09ccffc41ecb3769b7545ab18a959d9292a672a
2023-08-07 08:38:32 +02:00
Daimona Eaytoy b6e76eeb3a Add GadgetHooksTest to the Database group
The test uses black magic to override the behaviour of
MediaWikiGadgetsDefinitionRepo. However, this magic doesn't work well
with I2ac659a4, which disabled gadget loading in non-database tests.
This test is the only one that needs that code to be run, although it
won't actually make any queries because of said black magic.

Add the test to the Database group as a temporary (TM) workaround to
replacing the TestingAccessWrapper magic with something else.

Change-Id: I7d9fd612dd685a5728d3a7a9ced97fd5ac45f491
2023-08-06 22:55:00 +02:00
Umherirrender c800299653 i18n: Split apihelp for parameter list=gadgets/gadgetcategories prop=
Easier to translate
There is no visible change on Special:ApiHelp/query+gadgets

Also split for list=gadgetcategories&gcprop=
Visible on Special:ApiHelp/query+gadgetcategories

Bug: T285545
Change-Id: Ic40326cd747ffe2153cff7d10e0083bd5e51345e
2023-08-05 01:47:04 +02:00
Translation updater bot a5427e99c3 Localisation updates from https://translatewiki.net.
Change-Id: Id33bbc328c0fd83893c6e59a13200f58550ea924
2023-08-02 09:04:09 +02:00
Translation updater bot 8ee1b9f12a Localisation updates from https://translatewiki.net.
Change-Id: Ib9a3d79f02b2a1cfa2d29655d855d44e99a1e382
2023-08-01 08:36:33 +02:00
Daimona Eaytoy 76522d5c66 Avoid loading gadgets if the storage backend is disabled in tests
This method is possibly the main cause of DB access in non-database
tests, because it's called from the UserGetDefaultOptions hook handler,
which is triggered by most tests using UserOptionsLookup in any way.

Trying to obtain a DB connection will throw an exception in I96ecf9ff,
so just skip the lookup altogether.

Bug: T155147
Change-Id: I2ac659a472655b2a95e64dcbd3f709e465839b33
2023-07-29 14:42:56 +02:00
Ed Sanders d09c3fac78 Use strict equality with in_array
Change-Id: I09ebdf0dae540195d5bfcebf32b1e6dd22ff11c5
2023-07-24 18:41:00 +01:00
Ed Sanders 9b6cfa97a0 SpecialGadgets: Remove incorrect comment and test for $requiredSkins being true
$requiredSkins is always an array

Change-Id: I91bade025a9581c33b99f986e9497299483b8b59
2023-07-24 13:36:59 +01:00
Translation updater bot 31eef4328d Localisation updates from https://translatewiki.net.
Change-Id: I9ddd52b33efadafb27030b1e3c9e7828793fd2ab
2023-07-24 09:37:44 +02:00
Daimona Eaytoy b1b7bfefa3 Avoid using TestUser in non-database test
TestUser needs a database connection to create the User, but this test
doesn't need a real user, so just use a mock instead.

Ideally we'd use Authority, but the hook still takes a User object.

Change-Id: If6cb7e3756036fc458a4308b06499c4bc0d3d9b0
2023-07-17 23:12:13 +02:00
Translation updater bot 2e2c57c471 Localisation updates from https://translatewiki.net.
Change-Id: Id06dcf204b7eb92f15a72f16aaaa500f0a7f2a59
2023-07-17 10:17:17 +02:00
Amir E. Aharoni 33c3721f56 Add missing articles in a message
Change-Id: If20a7f9795a76d100a4d6b195151fa2510d3cb41
2023-07-14 18:47:37 +03:00
Translation updater bot 406c907fab Localisation updates from https://translatewiki.net.
Change-Id: I32de0b622ba8806d7b6b76700d08d6bf51a8de37
2023-07-14 09:34:05 +02:00
Siddharth VP 6d1ffbac15 Fix field name in schema.json
Change-Id: I7a89afe2876a1530cceb4884c8fdce348f8d6620
2023-07-08 21:13:26 +05:30
Ed Sanders f5466fca49 Use strict equality
Change-Id: Iccb15b405a6959238ba4f924ca4ec907e29a9ebf
2023-07-01 14:27:10 +01:00
Ed Sanders e93b13a4f1 build: Update linters
Change-Id: Ib6b6d6590d6f2c5158ddad6664bbfce5efc7ceb8
2023-07-01 14:26:21 +01:00
Jon Robson 8af75aa6e5 Gadget maintains its own version of targets system
The ResourceLoader module associated with the gadget will have
mobile and desktop targets, but this allows gadgets to disable
themselves on the mobile site if necessary by not adding the gadget
to the page if it's been marked as such.

This also has the benefit of not showing the gadget on the preferences
page if it's not relevant.

Bug: T328610
Change-Id: I4f2b57d1d22f641ff7520358a46cd0e6b2103aa9
2023-06-29 16:20:29 -07:00
Translation updater bot e0ce90e2ed Localisation updates from https://translatewiki.net.
Change-Id: I083fcdb8fd6b4cdeb4a9090e9de8d90dd4197495
2023-06-26 12:39:12 +02:00
Umherirrender 779f058aaf api: Remove old apihelp i18n description messages
No longer used since 1.33

Automatically removed message keys with "doc-apihelp-description" in qqq

Bug: T340253
Change-Id: Iea496e743506a71608ec7adaf26364fef29678fc
2023-06-23 23:46:23 +02:00
Siddharth VP 087ab65e24 Avoid caching serialized PHP object
Cache array representation of the Gadget object instead of the
php-serialized representation. Gadget::toArray() is an inverse of the
constructor which already constructs an object from an array of config
values.

Also, the static Gadget::newFromDefinitionContent method which accesses
the service container is replaced with the dependency-less
serializeDefinition() method.

Bug: T303194
Change-Id: Ieae6706537143d766777b2299c31726e2a1dfd29
2023-06-22 06:01:28 +00:00
Jon Robson 58463ce97c Gadgets should default to mobile and desktop targets
The targets system is being deprecated.

Bug: T127268
Bug: T340046
Change-Id: I69d11d52238ac852534cb9a4555208a0b0bb5fd7
2023-06-21 15:36:39 +00:00