Commit graph

1248 commits

Author SHA1 Message Date
Translation updater bot 4fcc732610 Localisation updates from https://translatewiki.net.
Change-Id: I026dd80f0b248f6a4ca6c5402efe7c22daee30fe
2023-10-27 09:19:41 +02:00
Volker E c7662a4e74 docs: Remove reference to WikimediaUI Base
And replace with Codex color label, see
https://doc.wikimedia.org/codex/latest/style-guide/colors.html

Bug: T334934
Change-Id: Ia99eae4e09b2b5e622a9b0d316b03006e0ef94ed
2023-10-25 20:06:42 -07:00
MusikAnimal 314bd6d8c4 CodeMirrorWikiEditor: scroll selection into view on inital load
Without the scrollIntoView option set, CodeMirror will always scroll
to the bottom.

See:
https://codemirror.net/docs/ref/#state.TransactionSpec.scrollIntoView

Bug: T317243
Change-Id: I3174685cd3508abf8074eb47e8f2bf81bd303916
2023-10-20 20:47:13 -04:00
MusikAnimal 361741ec86 CodeMirrorWikiEditor: sync with textarea when using CodeMirror toggle
This was working before somehow… but according to the CodeMirror docs,
it never syncs with the textarea automatically, so regardless this is
a necessary safeguard at least.

Repro steps:
1) Have CodeMirror turned on
2) Open a page for editing
3) Add content
4) Toggle CodeMirror off

With this patch, it should now always be synced.

Also add selenium test to ensure this doesn't break again.

Bug: T317243
Change-Id: Ie44e62fe5838bf32f40c6a3595ec3f541380cfe1
2023-10-21 00:42:22 +00:00
MusikAnimal 65b864588b Enable support for RTL when using CodeMirror 6
Refactor common contentAttributes Facet into a default Extension

Bug: T170001
Change-Id: I648bac617b5939c1fc4e115144e55a5cb77d6d66
2023-10-17 20:33:01 -04:00
Fomafix 6a37fedf73 Use $this->getServiceContainer() in tests and update class names
Consistently use
	$this->getServiceContainer()
instead of
	MediaWikiServices::getInstance()
in tests.

Also use namespaced classes
* MediaWiki\Output\OutputPage instead of OutputPage and
* MediaWiki\User\User instead of User.

Change-Id: I0cc39ba6cc706bf01581687e440ef9fb4ad39d81
2023-10-11 20:11:49 +00:00
MusikAnimal c0b01008a4 Add $wgCodeMirrorConflictingGadgets instead of checking wikEd directly
Since wikEd and DotsSyntaxHighlighter are both popular gadgets in and
outside WMF wikis, they are included in this setting by default.

Change-Id: If6c953858f9cf73024959b5a3b71b33ab7b48b4c
2023-10-11 01:33:35 -04:00
MusikAnimal d1cb5a0d01 CodeMirror: fix scrollToCaretPosition $.textSelection implementation
Add selenium tests for textSelection API.

Bug: T317243
Change-Id: I0904a715698aa235fb0744cbc4ff0f9787387592
2023-10-11 01:25:10 -04:00
MusikAnimal 06829a5a0a CodeMirrorWikiEditor: add missing hook and fix reference to textarea
This fixes integration with some consumers of the
'ext.CodeMirror.switch' hook, such as Extension:Disambiguator.
The jQuery element passed to the hook is around the CodeMirror DOM
element which has the jQuery.textSelection() API registered to it.

Bug: T317243
Follow-Up: I2239d2449b2db3b638551f847eb4eff1aafa6276
Change-Id: Iec368613da3c69df52ce5e7ca441c31172cdc5de
2023-10-10 16:11:18 -04:00
jenkins-bot 39ed5a05fc Merge "CodeMirror6: add new modules, feature flag, and URL query parameter" 2023-10-10 08:49:11 +00:00
MusikAnimal 880c690a10 CodeMirror6: add new modules, feature flag, and URL query parameter
Add a new $wgCodeMirrorV6 temporary feature flag that when enabled,
will load the 'ext.CodeMirror.v6.WikiEditor' module that is built
against CodeMirror 6. You can also pass in the ?cm6enable=1 query
parameter to force use of CodeMirror 6. This is currently only
implemented for the 2010 editor.

Due to packaging constraints with CodeMirror 6, we now use Webpack to
bundle the files, which are then used by ResourceLoader. This is similar
to what is done for Extension:Popups, MobileFrontend, among other
extensions.

A new generic class CodeMirror can be used on other areas where syntax
highlighting is desirable, but not necessarily for editing (i.e. without
WikiEditor).

This commit merely lays the foundation for CodeMirror 6 and updates
WikiEditor to use it. The actual MediaWiki syntax highlighting will come
with a future commit.

With the new Webpack build, the Gruntfile was removed and the tasks
moved to npm commands.

Bug: T317243
Change-Id: I2239d2449b2db3b638551f847eb4eff1aafa6276
2023-10-09 19:51:24 -04:00
jenkins-bot 35647af3f1 Merge "Use white-space: break-spaces" 2023-10-05 14:47:57 +00:00
Ed Sanders 1c853da980 Use white-space: break-spaces
Bug: T347902
Bug: T348006
Change-Id: I62cb4c4f55a9ed80c043c4a1c27dd276559b1cba
2023-10-05 14:30:54 +00:00
Fomafix b6c3eca38b Use namespaced classes
Change-Id: I2d9f6a9a8b7e0812a0a758455219aef826a0ffa5
2023-10-03 09:18:59 +00:00
jenkins-bot 1a19f48c70 Merge "[build] Bump wdio-mediawiki to v2.3.0" 2023-09-22 18:22:04 +00:00
WMDE-Fisch e6852a47f8 [build] Bump wdio-mediawiki to v2.3.0
Change-Id: I87225bc7cb311b6bbeb57f56e9ed4715f4958f76
2023-09-22 16:01:38 +00:00
James D. Forrester 764ff6478d resources: Manage upstream CodeMirror using ManageForeignResources
Depends-On: Ica6a80d6eb127cc10a00d3d6d0890ad724762ff2
Change-Id: I15721ef93c270a5a2f9194d678cd6876e14c7ea6
2023-09-21 12:40:53 +01:00
David Lynch e9e6361610 Update embedded CodeMirror library to 5.65.15
Was at 5.58.3

Bug: T334994
Change-Id: I74e792a5952973240a111180dde9f5097b48c278
2023-09-20 09:17:03 -05:00
jenkins-bot 4eed68bb4e Merge "build: Update linters" 2023-09-18 17:37:46 +00:00
Ed Sanders 21c121b898 build: Update linters
Change-Id: I49eb2de402a8c89065968cf927a2ca6a361ca684
2023-09-13 14:02:43 +01:00
Ed Sanders d0fe4c0673 Grunt: Use conf.MessagesDirs for banana
Change-Id: I50716a121eff72562a4ba2dd8ea499345da8a997
2023-09-12 18:19:53 +01:00
Translation updater bot 8e5e2170c3 Localisation updates from https://translatewiki.net.
Change-Id: I0ddca034e25562f029baf532a3b6f7b3634a4122
2023-09-12 08:26:32 +02:00
jenkins-bot 406d23f6de Merge "build: Update MediaWiki requirement to 1.41" 2023-08-31 05:34:02 +00:00
Translation updater bot 36b9492ced Localisation updates from https://translatewiki.net.
Change-Id: Ia33b3c9b598b181424e9b7385efa735cb997390c
2023-08-29 08:27:59 +02:00
jenkins-bot 2738060873 Merge "Convert applicable ResourceLoader modules to use packageFiles" 2023-08-24 22:21:10 +00:00
MusikAnimal 46b7208d13 Convert applicable ResourceLoader modules to use packageFiles
Move WikiEditor-specific code to ext.CodeMirror.WikiEditor, leaivng only
CodeMirror-specific things in ext.CodeMirror, including the logUsage
method which was duplicated in the VE plugin and now refactored.

Add .env to .gitignore so that selenium tests can be ran more easily

This patch leaves the other non-mediawiki modes still using the
'scripts' system instead of 'packageFiles'. These are not used in
MediaWiki directly but by some extensions (i.e. PhpTags) and using
packageFiles will break that integration.

Bug: T272035
Change-Id: I3bafef196c1f713443d7b8e9cb7dc2891b379f5d
2023-08-24 11:55:13 -04:00
gerritbot e1fb56e38e Replace some moved Title class uses, now MediaWiki\Title\Title
Bug: T321681
Change-Id: I4ac93c24d2c90d51532fc3c39e60efbb4f8f8bfb
2023-08-19 13:12:12 +00:00
James D. Forrester 2e46dcf630 build: Update MediaWiki requirement to 1.41
All extensions in Wikimedia production are expected to track MediaWiki's release directly.

Change-Id: I1898175817b67e3255376e4817ffca3d4a739d62
2023-08-19 13:10:57 +08:00
WMDE-Fisch 7a49382bdf Add Database group to tests
Tests that create a user account actually use the database and
most be marked as such or they will thow an exception.

See Ic4a72fbfaee730b8417848ae0603443d4995fefc

Change-Id: I827b536006130c9813a2a079eab01be112e691be
2023-08-09 10:51:58 +02:00
Sam Wilson 7d48f2d8bb Use editRecovery.loadEnd JS hook to add change handler
Add core's change handler for CodeMirror changes as well, to
save in-progress edit data.

Depends-On: I32c13c1eeec55dc442b0a00ede9cb74422b0307e
Bug: T342882
Change-Id: I352470752130c7b9b2dfc55a066cecf785d40067
2023-07-31 10:44:08 +08:00
Translation updater bot 1cff0e3f3e Localisation updates from https://translatewiki.net.
Change-Id: Ied0dc3d61d547e35b56f0d67d9f54d58361d8e1f
2023-07-24 09:36:52 +02:00
Translation updater bot c0efed8f61 Localisation updates from https://translatewiki.net.
Change-Id: I44184dd189129b86a7047bd326c530c4be493c40
2023-07-10 09:37:14 +02:00
Func a19cd9b94a ve.ui: Set the CM wrapper to the appropriate language
Bug: T341342
Change-Id: Ibdac3d360527429e396b0c124b57d1531b959a76
2023-07-07 20:54:00 +08:00
Translation updater bot 87ef023efd Localisation updates from https://translatewiki.net.
Change-Id: Ie9a76b8c035681721e6e47b1ddc0e3d6d87583eb
2023-07-06 10:11:29 +02:00
jenkins-bot c82ea859c3 Merge "selenium: run tests concurrently" 2023-06-30 11:39:21 +00:00
WMDE-Fisch 4bb409887d selenium: run tests concurrently
Includes a bit untangling of the setup. Concurrent tests should not
overwrite each others user settings so one of the tests gets it's
own user.

Bug: T337862
Change-Id: Iae245063932d4c5d9e6b61c1fe102505d70c1039
2023-06-30 11:29:32 +02:00
Ed Sanders 9520546e09 Add tool to VE toolbar automatically using 'utility' group
This removes the need for the init module.

Bug: T340751
Depends-On: Ibcc81c90bc9ba6c5fd012c512daf861973b03b2e
Change-Id: Iec3a4c6b00288aee376af47e778c4aa67a98d29b
2023-06-29 14:40:43 +00:00
Ed Sanders 5b69b2380c Always use the strict equality flag when using in_array
Change-Id: Ieb7dc53cbd5b45b6064e05fe5df0401918bbb36d
2023-06-06 13:37:54 +01:00
James D. Forrester 9e9a38d6fc Refactor CodeMirror WebdriverIO tests from sync to async mode
Bug: T300205
Change-Id: Idfcfc984833ca6ca6c09500cd4715a4e5504f84e
2023-06-06 10:49:22 +02:00
libraryupgrader c898ddf371 build: Updating npm dependencies
* grunt-banana-checker: 0.10.0 → 0.11.0
* stylelint-config-wikimedia: 0.14.0 → 0.15.0

Change-Id: I952b7bd8671bd684446b90d92d2b0ba2837b3cc8
2023-06-01 02:55:40 +00:00
Translation updater bot b6dbb27177 Localisation updates from https://translatewiki.net.
Change-Id: I725e26f0262bda7b89f871f9c28441f359ceda56
2023-05-31 08:19:57 +02:00
Translation updater bot 3e046ad947 Localisation updates from https://translatewiki.net.
Change-Id: I187b33194cb6736382471d69a61e0d7920781e75
2023-05-29 09:58:50 +02:00
WMDE-Fisch 6744545c61 Skip user setting for unnamed users
Bug: T329771
Change-Id: I0066c2411bf12fedb1e29cde8306b107c3ab95ba
2023-05-20 15:36:29 +03:00
Volker E ba64a52368 styles: Replace mentioning of WikimediaUI Base and add skin variables
It makes no difference to directly assign Codex Design System for
Wikimedia colors as values instead of re-assigning the outdated
`@wmui-color-*` variables.

Bump to required MediaWiki core version >= v1.41.0.

Also put stylelint-disable before the block it's actually needed.

Bug: T334934
Change-Id: I5696f160d39ef4edec7a1b966fe7e73608c86bdc
2023-05-16 17:58:24 +02:00
jenkins-bot 413adcf654 Merge "Migrate ResourceLoaderCodeMirrorModule to a virtual file callback" 2023-05-10 02:27:00 +00:00
gerritbot b704455012 Update moved class EditPage
See T321882. Moved in Ibefc44eb64aed

Bug: T321681
Change-Id: I2c9bf1c8289f3e45be6f88e685b52371291d66e9
2023-05-06 22:48:02 +00:00
Translation updater bot 49ca50fd1f Localisation updates from https://translatewiki.net.
Change-Id: I4a5e81349bccb7c5452fbf67c1f46937cc8bb733
2023-05-05 10:38:16 +02:00
Tim Starling 7a3f46b490 Migrate ResourceLoaderCodeMirrorModule to a virtual file callback
Bug: T47514
Depends-On: I97d61b5793159cea365740e0563f7b733e0f16de
Change-Id: I31b80fc1c7701fc1075d655270706e341942415d
2023-05-05 16:26:09 +10:00
libraryupgrader 025910fccd build: Updating eslint-config-wikimedia to 0.25.0
Change-Id: I1eab6254c50272e4b794eb60721cc52eae319ad9
2023-05-04 01:35:40 +00:00
Translation updater bot a1c5aeb6e7 Localisation updates from https://translatewiki.net.
Change-Id: I49d0b8a41f048bfb93f0e5f7a2e9e025b3c53cb0
2023-05-02 08:59:28 +02:00