Commit graph

1093 commits

Author SHA1 Message Date
jenkins-bot e4c4f63c32 Merge "Update VE core submodule to master (8cd2c4933)" 2023-07-18 02:10:15 +00:00
jenkins-bot 4231c7a328 Merge "Use different titles for "Edit" and "Edit source" links (section headings)" 2023-07-17 23:07:44 +00:00
David Lynch fde414149e Update VE core submodule to master (8cd2c4933)
New changes:
4ac9b4290 Localisation updates from https://translatewiki.net.
5db1e6972 Localisation updates from https://translatewiki.net.
439b29f3e PreviewElement: Remove slugs and nails using JS instead of CSS

Bug: T341901
Change-Id: I5da36fe06bd6631f17172029261b1c18daa72bf4
2023-07-17 10:38:04 -05:00
沈澄心 8523b5a876 Use different titles for "Edit" and "Edit source" links (section headings)
Bug: T337653
Change-Id: I6793d458b7a1573de6752177cab5a9bfae9ffca0
2023-07-13 02:47:50 +00:00
Bartosz Dziewoński 8091b5ce26 Update VE core submodule to master (245923176)
New changes:
4ca24a453 Fix ContextItem documentation
9135b868c ve.ce.Surface: Implement hasNativeCursorSelection
953ffb066 Mobile demo: Use 16px font ssize for global overlays as well
44f347a6b Provide alternate keyboard shortcut for toolbar search for Firefox
245923176 CompletionWidget: Add isolateInput mode

Bug: T341603
Change-Id: Iafedee8fc08fde5dbe82f8e1cc35162d5954c5a7
2023-07-11 23:14:12 +02:00
Derick Alangi f2bb8cf45d Remove VirtualRESTService code from VisualEditor
This follows the event of VE no longer using RESTBase anything. All
actions related to stashing and Parsoid and now handled in MW core.

Bug: T339227
Change-Id: I50b20ed5abb721a6ac8987cac37a6f395a4816dc
2023-07-11 19:38:05 +02:00
jenkins-bot 7ae61934a3 Merge "Remove remains of lossy-switching and discard-switching" 2023-07-11 15:34:52 +00:00
Ed Sanders 0f33f7193f Drop visualeditor-beta-warning from help menu
Bug: T341350
Change-Id: I69b886e7681281057c92ddb4175de2998512f0ed
2023-07-07 15:54:15 +01:00
Ed Sanders ea03287908 Convert MWPopupTool into MWHelpListToolGroup
The popup contains three buttons, one of which already exists
in core as a tool. By converting them all to tools we can reduce
some duplication, and better integrate with other features
that use the tool factory, such as HelpCompletionAction.

Bug: T339153
Change-Id: I81d217bc1ab9a1a6a9bf7c7ad588c2a3216b10db
2023-07-01 11:10:53 +01:00
jenkins-bot 55b04b8820 Merge "Replace the last use of mediawiki.Uri" 2023-06-30 19:57:45 +00:00
Bartosz Dziewoński be0b140965 Add option to unify display of VE enable preference
Setting `$wgVisualEditorUnifiedPreference = true` makes the VE enable
preference appear consistently on the preferences page, while still
being backed internally by the old 'visualeditor-enable' and
'visualeditor-betatempdisable' preferences.

(It effectively overrides `$wgVisualEditorEnableBetaFeature`, which
needs to remain unchanged to use the values from the right preference.)

Bug: T335056
Change-Id: Iad710a769c7176c4673c475d540dff2b7782e159
2023-06-29 01:33:51 +02:00
Bartosz Dziewoński e1cdab7931 Fix conditions for 'visualeditor-autodisable' that depended on WMF config
Previously, this code relied on 'visualeditor-enable' being set to '1'
when VE was opt-out (so not using that preference). That default does
not make sense for a beta feature (which uses that preference), so WMF
config was overriding it to 0 when the beta feature mode was wanted.

Instead of making assumptions about the default values of preferences
that depend on whether beta feature mode is enabled, just check the
beta feature config.

I also added and updated comments documenting this preference.
Previously I never really understood what it was for, and I think
I figured it out now.

Bug: T340696
Change-Id: I45eef42939149ff5be63bf299c48ef70ee535e76
2023-06-29 01:25:59 +02:00
Bartosz Dziewoński 34c6d3e1a3 Remove remains of lossy-switching and discard-switching
After the demise of RESTBase we are always able to switch from
wikitext to visual mode with changes, and we no longer need to
support these two poor experiences.

Bug: T339871
Bug: T339872
Change-Id: I2be4068447b21e16c87db0e56d6422ea64ba4708
2023-06-25 09:16:45 +00:00
jenkins-bot 68265fcd14 Merge "Use new helpers to show the post-edit message" 2023-06-22 15:33:28 +00:00
Bartosz Dziewoński dd509c1072 Use new helpers to show the post-edit message
Undo some changes from 95454e710f1b619f7c538bc1dc88f238409719ca,
as this functionality is now provided by the core code.

Depends-On: I1c9020b2efb2785279f5c09539a49208a310ccf7
Depends-On: Ifeffcf214719f0d5c1371dc7d51a410fb313c978
Bug: T338003
Change-Id: I90a618897699c844f9c558bbeb4d1563f8050fe3
2023-06-22 13:51:59 +00:00
Bartosz Dziewoński 2b8c3edab2 Replace the last use of mediawiki.Uri
Depends-On: Ia95a27c7d7ebc9e4779f82598152145f02993b29
Change-Id: I8736111c4ec3cf9a9480df2efbdf080b5d72d514
2023-06-21 15:35:06 +02:00
jenkins-bot ca8399d97c Merge "ApiVisualEditorEdit: Remove unnecessary check" 2023-06-15 18:09:26 +00:00
David Lynch 55b7f4ffea HelpCompletionTool wasn't added to extension.json
Follow-up to ac85050f2d

Bug: T338254
Change-Id: I8f66e5cb2b7237b1d0d63dc664854a66229cd6b5
2023-06-15 14:36:09 +00:00
Bartosz Dziewoński 8573df0233 ApiVisualEditorEdit: Remove unnecessary check
There are no occurrences of the error message in our error logging
data, so it most likely can never happen.

https://superset.wikimedia.org/superset/sqllab/
```
select count(*)
from editattemptstep
where event.save_failure_message = 'visualeditor-docserver'
```

Change-Id: I8172564057418283468c657cbc6d42ce8ddb35f4
2023-06-12 17:56:13 +00:00
jenkins-bot f1ce07c29d Merge "Move the diff-mode selector to the new TextSlotDiffRendererTablePrefix hook" 2023-06-06 18:26:57 +00:00
Ed Sanders 9f3d61ba6b Make new wikitext editor available by default for 3rd party installs
Note that it is still disabled by default in user options.

For WMF environments this value is set explicitly for all wikis, so
should result in no change.

Change-Id: I4629cd433107a3413933b4ea19c844dd869a2eb0
2023-06-05 14:46:10 +01:00
Ed Sanders 9e64821bd6 Add i18n for category sort key changes
Also treat the empty string as unset.

Change-Id: I72d9ab0180f416122ca31c44787fe86aa32e88e2
2023-06-01 00:23:23 +02:00
Sam Wilson 137124a837 Move the diff-mode selector to the new TextSlotDiffRendererTablePrefix hook
Use the new hook to add the diff-mode selector to the area directly before
the diff table.

Also toggles the new inline-diff legend, when the initial diff-type is 'inline'.

Depends-On: I2a3c67bcfa47313dee597e602a62073e4e298cd2
Bug: T324759
Change-Id: I1584a84b3caea9eb142afba976c6ff47650c3832
2023-05-31 15:45:22 +10:00
Ed Sanders 9520ef84aa extension.json: Add missing i18n message
Change-Id: I92ac152c882815aa34e110f86f0e136c9a368724
2023-05-24 18:33:25 +01:00
David Lynch 50c646050d Update VE core submodule to master (fd2f048e4)
Also supporting changes to support the new HelpCompletionAction,
including adding a preference to disable it if required.

New changes:
985b553cc Localisation updates from https://translatewiki.net.
aa26e27dc Localisation updates from https://translatewiki.net.
4cdc753ab Update OOUI to v0.47.0
bfc96a7ee Completions: always abandon if the first input is a space
616a6458f Fuzzy command bar
92b6525a2 Tweak the fuzzy command bar's behavior
fd2f048e4 Fuzzy bar: change how command groups are generated

Change-Id: Ic77b8822baecf5ad1ab466d94df29bb945172b55
2023-05-20 22:04:27 +03:00
jenkins-bot d6803f2533 Merge "Use edit intro messages and preloaded content from MediaWiki core" 2023-05-19 13:23:21 +00:00
Samtar 09bb8f9168
Revert "Move the diff-mode selector to the new DifferenceEngineBeforeDiffTable hook"
This reverts commit 7dbe385773.

Reason for revert: Reworking

Change-Id: I60784afa0d47e22acd9e8a981092784c84b250eb
2023-05-18 15:36:38 +01:00
Bartosz Dziewoński a88084509d Use edit intro messages and preloaded content from MediaWiki core
Use MediaWiki core helpers to provide intro messages (including edit
notices), initial page content, and CSS classes for the edit area.

The following intro messages were previously unimplemented,
and will be shown now:
* 'sharedupload-desc-create'
* 'sharedupload-desc-edit'

The following intro messages were previously unimplemented,
but they only apply to pages where VE should never be available,
and will be shown now when editing those pages with 2017WTE:
* 'code-editing-intro'
* 'talkpagetext'

The following intro messages were previously unimplemented,
and are now explicitly skipped:
* 'editpage-head-copy-warn'

The following intro messages were previously unimplemented,
but they only apply to pages where neither VE nor 2017WTE should
ever be available:
* 'userinvalidconfigtitle'
* 'usercssyoucanpreview'
* 'userjsonyoucanpreview'
* 'userjsyoucanpreview'

Depends-On: If0b05710cb52a977bf4e85947d72d68683a0a29e
Bug: T201613
Change-Id: If26e39e383b983f7ee834ed6dd73b80e0545b068
2023-05-16 02:34:35 +02:00
James D. Forrester 40ccea6a10 Add VisualEditor's libraries to Special:Version
Also add spark-md5, not listed before.

Change-Id: I58dcfcd0d0795350fcc49e86ba253cf2343e0a94
2023-05-10 08:46:51 +01:00
jenkins-bot 7c0259a3c3 Merge "Handle temporary users when dealing with user preferences" 2023-05-05 15:55:49 +00:00
Bartosz Dziewoński 37ab4c2a80 Expose automatic temporary user info in the API
Depends-On: I62b4bb630decac92cbb8c7ddf00307df0dadb516
Bug: T332435
Change-Id: I84ce108b4d46b4e19fad032382f8b69a1b0065d5
2023-05-04 00:44:10 +02:00
jenkins-bot 86568aff16 Merge "Move the diff-mode selector to the new DifferenceEngineBeforeDiffTable hook" 2023-04-28 17:23:09 +00:00
James D. Forrester a44cd6aea8 lib: Drop promise-finally polyfill, now required by MW
Follows-up Ia6cdb85d33d2b3e0e (c895c60907) from 2018. Was added to
support Chrome <= 64 within WMF CI at the time.

Change-Id: I870de7d148395926d60d8c360f8cae19ac7c4573
2023-04-28 14:01:13 +00:00
Bartosz Dziewoński 3b1a2d9dce Handle temporary users when dealing with user preferences
As temporary users will not have access to user preferences (T330815),
use cookies or localStorage to save them, like we already do for
logged-out users.

Also add some comments to point out where we intentionally distinguish
logged-out and temp users.

Bug: T332435
Change-Id: Ic83dd8bc8bc107f603a9b0340bd9e2bcaad8ff5a
2023-04-28 15:57:46 +02:00
Ed Sanders 51759c3f7e Remove DiffPageEnable config option
Visual diffs are always enabled on history pages, there is no
long a need for this to be configurable.

Change-Id: I9cef558b2b9d32bc86c47f6a6095270220d036db
2023-04-26 17:05:57 +01:00
Sam Wilson 7dbe385773 Move the diff-mode selector to the new DifferenceEngineBeforeDiffTable hook
Use the new hook to add the diff-mode selector to the area directly before
the diff table.

Also toggles the new inline-diff legend, when the initial diff-type is 'inline'.

Depends-On: I6de30bf79eb5ac262285951792782b870d075e00
Bug: T324759
Change-Id: Ifc133856dd793693c3a2722a7b1319dfe74555a2
2023-04-21 16:03:16 +08:00
Bartosz Dziewoński adc0bcdfcd Remove the BetaFeatures integration for historical visual diffs
Bug: T333448
Change-Id: If4f732851a42802b612cef618196c9854e2cf9da
2023-04-18 22:34:05 +02:00
Bartosz Dziewoński 1ca9261151 Remove the "Report incorrect…" button on visual diffs in save dialog
Bug: T282268
Change-Id: Ia6e0978fb43a7ffccaa8245728c86bc3a433a2c1
2023-04-18 22:28:51 +02:00
Ed Sanders de95fdf30d Update VE core submodule to master (58561f036)
New changes:
c239ab1fb Localisation updates from https://translatewiki.net.
0052cc2a1 Localisation updates from https://translatewiki.net.
47be93405 Localisation updates from https://translatewiki.net.
da198ce3a [BREAKING CHANGE] Drop support for ES5
5521054ce SupportCheck: Change ES5 test to ES6
4a38732ed [DEPRECATING CHANGE]: ve.init.Platform: Drop isInternetExplorer/isEdge
85a6560b0 ve.ce.Surface: Remove fallback for selectionchange event
0f6b9d65a ve.ce.Surface: Remove IE11 hack for iframe focus
2e2a51eb3 [DEPRECATING CHANGE] Drop ve.normalizeNode
c1e09cbb8 [DEPRECATING CHANGE] Drop IE11 DOM parsing hacks
28bd579f9 ve.resolveAttributes: Drop IE11 try/catch
e1db3af5b [DEPRECATING CHANGE] Drop ve.supportsIntl
3d317501e [DEPRECATING CHANGE] Drop ve.supportsSplice
58561f036 Localisation updates from https://translatewiki.net.

Change-Id: I7e13fb5826da2c1ded53520f40ff0470f34361ad
2023-04-13 16:05:37 +00:00
Ed Sanders 6ebd93b6eb Vector: Use greyed out version of bullet image in visual diffs
Bug: T332697
Change-Id: I50a7fedd8f1670daf668a6268fd12bebf578ced4
2023-03-29 21:05:24 +02:00
David Lynch 31108dda7c Add editcheck tags when VE thinks a reference is needed
Bug: T324733
Change-Id: Iddc57e07133c56000c1338e8d780fa55cc95ab89
2023-03-27 22:48:25 +00:00
Ed Sanders 6e77f963e4 Initial edit check tagging
Bug: T324730
Change-Id: I112015809e55da802e3840fdfeaf16a72e090cb3
2023-03-27 22:47:40 +00:00
Bartosz Dziewoński 766bdedf70 Centralize EditAttemptStep logging code in WikimediaEvents
* Use the new mw.track() handlers from WikimediaEvents
* Ensure that 'integration' and 'mode' are set on init
  events, since they're not guessed in the handler any more
* Remove the setting of 'editingStatsId' tracking parameter,
  now happens in WikimediaEvents by setting an API AJAX option
* Replace ve.track with mw.track in VE-MW, so that we don't have
  to copy the events manually here and in other extensions

This must be merged together with WikimediaEvents change
Iace4d53a972396ca5b8713000570cc47c9986034 (but we can't use
Depends-On, because CI requires code here to be removed first).

Bug: T332438
Change-Id: I0ef0a96aafdf89a4ebe32131a85b18c25744bb2c
2023-03-24 21:48:45 +01:00
Bartosz Dziewoński 1cdb641116 Simplify timing tracking code
Peel off some layers, remove some unused computation,
remove code from ve.init.mw.trackSubscriber.js (which
is to be removed in T332438).

Change-Id: I4073b9a2a4b2af06f30e603a9d2a1968203f3b6d
2023-03-24 21:48:14 +01:00
Jon Robson 4604c4a79f Remove unnecessary targets
VisualEditor already checks inside onBeforePageDisplay hook for
whether it is in the mobile site. The rest of the checks rely
on OO.ui.isMobile which operates using wgMFMode which is a configuration
variable added explictly by MobileFrontend so not affected by this change.

I verified that mw.loader.getState('ext.visualEditor.desktopArticleTarget.noscript')
returns 'ready' on desktop, but 'registered' on mobile site

Bug: T328497
Bug: T236944
Change-Id: Iea1135c22c750c47f2e34c7ae1fd2e828bd92cc7
2023-03-24 10:39:32 -07:00
Ed Sanders 55ded73e9d Remove visualeditor-enable-experimental and ext.visualEditor.experimental
These haven't been used for a while, and we usually enable experimental
features via BetaFeatures these days.

Change-Id: Iec3a7da3cc962d8ac9416b508780fcdc3ca58d3e
2023-03-08 15:05:10 +00:00
Ed Sanders 31879219bb Enable VE by default for 3rd party installs
This shouldn't affect WMF wikis as they always set
the config explicity:
https://github.com/wikimedia/operations-mediawiki-config/blob/master/wmf-config/CommonSettings.php#L2698-L2705

Change-Id: Iec2e0f97311befdfd5308aca3d339daaaa725760
2023-03-08 14:55:40 +00:00
Ed Sanders d813ddd85f Remove unused user option 'visualeditor-enable-language'
The features this used to control are now enabled unconditionally.

Change-Id: I77afdf36a96bac703f1c41d43fc7ddd2574fb78c
2023-03-08 14:55:40 +00:00
daniel 1d9af50f71 Per 1.40, VE should use parsoid directly in MW core.
VRS should no longer be needed to communicate with RESTbase.
The VisualEditorDefaultParsoidClient setting is retained for backwards
compatibility.

Change-Id: I1e7cdaa61d3d5b075b5551844d8b0293092c99ed
2023-03-02 18:39:17 +01:00
jenkins-bot b5b7d69c47 Merge "Enable visual diffs on history pages by default" 2023-02-13 22:08:41 +00:00
Ed Sanders 44f5f47636 Enable visual diffs on history pages by default
Bug: T314588
Depends-On: I1617433d307b92075cab33efae7e57f3a3fcc7d9
Change-Id: I0948add56007368bc95e20687d01d70495e013c5
2023-02-13 21:49:58 +00:00
Bartosz Dziewoński a9aade6d66 Don't unnecessarily load huge icons for Wikimedia logos
The only icon we use from 'oojs-ui.styles.icons-wikimedia'
is the CC licenses logo.

Recently in I6217692e98088814c7a33bbc7ef8174622e03f25 more
Wikimedia project logos were added to that pack, and some
of them are positively huge. They may be improved in T328492,
but we're not using them anyway, so it makes sense to me
to use a custom icon pack here.

This reduces the download size for opening the editor for
the first time (uncached) by around 500 KB.

Change-Id: Ibe8a9ce9e4f1ded28fc9fd7e4ee41d5823123ceb
2023-02-08 19:08:38 +01:00
jenkins-bot be9977ad8c Merge "Re-apply "Remove references to mediawiki.Uri"" 2023-02-02 09:23:43 +00:00
Bartosz Dziewoński cc72825835 Re-apply "Remove references to mediawiki.Uri"
This reverts commit afe3b7187e.

Bug: T325249
Change-Id: Ie2ce4816cd8fb6cc9805e0fd70dadb337719c551
2023-02-01 22:46:14 +00:00
jenkins-bot e9fd00aa7f Merge "build: Remove unused 'targets' property for QUnitTestModule" 2023-01-31 21:18:02 +00:00
Bartosz Dziewoński afe3b7187e Revert "Remove references to mediawiki.Uri"
This reverts commit 15bbafbe8c.

Bug: T328143
Change-Id: I57e6d953ed5a1735541987a256ad39037170da5a
2023-01-30 13:52:26 +00:00
Bartosz Dziewoński 15bbafbe8c Remove references to mediawiki.Uri
Remove dependencies (except a single one that we actually need)
and some config that allowed it to be used in doc comments.

Bug: T325249
Change-Id: I0db6e4ab1c025ac3868d2dc886c13a09d91f8086
2023-01-23 14:59:35 +00:00
Bartosz Dziewoński 8371d24c78 Remove unnecessary test file
Change-Id: Ib81f70d290374451c5164bff7adbe4e18b9e2a8f
2023-01-21 15:09:14 +01:00
Ed Sanders 2df8a95ac3 Update VE core submodule to master (035756895)
New changes:
4355d697a Replace ListStorage with ConflictableStorage
978061f86 Update SafeStorage and ConflictableStorage with expiry functionality
79019ed88 ve.dm.Surface: Support storage expiry

Local changes:
* Pull through conflictable storage

Bug: T218663
Change-Id: I36e49c01e9f2ddb7d362d539b72a4beca925bcb7
2023-01-21 10:41:21 +01:00
Timo Tijhof e38a56bb1a build: Remove unused 'targets' property for QUnitTestModule
When tests run, the target filter isn't applied, which is why tests
can excercise both mobile-only and desktop-only code from the same
module. The 'targets' property was added here only to satisfy an
overly strict lint check (PHPUnit ResourcesTest), which is fixed
in MediaWiki as of Ia062ff2d8.

Depends-On: Ia062ff2d8b8732b0d3498c1a614bbf6a3e3a7ddb
Change-Id: Ia00f3b987de89b8b5789d1ced125ed8a57b079df
2023-01-10 01:16:08 +00:00
jenkins-bot 8d7c36cfb5 Merge "Allow using native URL (or polyfill)" 2023-01-04 08:12:08 +00:00
Bartosz Dziewoński 8f1e9b6089 Allow using native URL (or polyfill)
Adding the polyfill as dependency to everything using mediawiki.Uri,
so that we can change the code in separate commits without thinking
about this.

Bug: T325249
Change-Id: I8a7d2e6c7f98ed6187a85a88f2b4a0a4a5ecfc56
2023-01-03 22:18:00 +01:00
Bartosz Dziewoński 62d3fc128e Remove unused message 'visualeditor-dialog-transclusion-placeholder'
Unused since e1ea921f76.

Change-Id: I88a51de0ae5583ba52bb3477625879d273150b39
2022-12-29 16:14:35 +00:00
Pols12 afca7bf0af TemplateDialog: separate “Add template” messages
Use distinct messages for section heading, button label and input
aria-label, to allow a potentially better localization.

Bug: T304121
Change-Id: I3e3b06a035e2f11f5f32face789b934e22916e49
2022-12-22 15:08:31 +01:00
Jon Robson 9c25161966 QUnit test module should explicitly target desktop
Setting to desktop as it has dependency
ext.visualEditor.desktopArticleTarget.init
which is a desktop only module

Bug: T127268
Change-Id: I5083cb6ccf9ab918a90c41afc6644fc839b8950e
2022-12-14 17:46:22 +00:00
Jon Robson a1f939415f Set targets explicitly on desktop only module
I'd like to change the default targets value for ResourceLoader.
Doing that flags that VisualEditor has a few modules that should
be explicitly defined rather than relying on the default value
here.

Bug: T127268
Change-Id: I5bc4a24bc00dc338b113332a911c67241d139dfb
2022-12-12 14:38:56 -08:00
Ed Sanders 95b4bd1a4b Update VE core submodule to master (099b95023)
New changes:
e8c13e337 Localisation updates from https://translatewiki.net.
e59d14a98 Localisation updates from https://translatewiki.net.
347e09eac Localisation updates from https://translatewiki.net.
8592cdc07 Make use of native .map() in ve.ui.LanguageSearchWidget
6412add28 Localisation updates from https://translatewiki.net.
921892af2 Localisation updates from https://translatewiki.net.
a8aa6b475 Localisation updates from https://translatewiki.net.
69e6e5473 Localisation updates from https://translatewiki.net.
8ce65a801 Add test for use of ve.sanitize (DOMPurify) in external paste handler
e11290da1 Add unit tests for ve.sanitize
d248b851a Upgrade DOMPurify to 2.4.1
57eeb8b87 Sanitize href attribute in LinkContextItem and LinkAnnotation
099b95023 Localisation updates from https://translatewiki.net.

Local changes:
* Add ve.sanitize.test.js to test module

Bug: T322704
Change-Id: Ibb34f3cff9e9d891d6d9fd37151a704a67535ab0
2022-11-24 12:51:18 +00:00
jenkins-bot a584e73975 Merge "Remove usage of User::isBlockedGlobally and User::getGlobalBlock" 2022-11-16 15:22:09 +00:00
csimiyu 4bdb4917f0 Remove usage of User::isBlockedGlobally and User::getGlobalBlock
Bug: T318898
Change-Id: I727cda9008866b665395cd0e9969c920dc9c28d6
2022-11-16 17:22:17 +03:00
daniel 7da2df9724 Collect timing metrics for ParsoidClient
We want to be able to measure how backend performance changes
when we switch from RESTbase to calling Parsoid directly.
We expect to see a performance boost, in particular for
html/to/wikitext, since we avoid the network overhead.

Since we will make the switch by wiki, we need to be able to compare
the metric before vs. after for a single wiki. So, this adds the
wiki ID as a prefix to all existing metrics. Once fully rolled out,
we should get rid of the wiki prefix.

We will need to update the dashboard found at this url:
https://grafana.wikimedia.org/d/000000249/edit-stash?orgId=1

Change-Id: Iac9070b27f4b0d25b0e31c9fad38abc08c433a28
2022-11-15 01:15:28 +00:00
daniel ea62ee6b19 Always allow switching to visual when using DirectParsoidClient.
When using DirectParsoidClient, switching should be lossless.

Depends-On: I86c611fa0b717ef619e5ffe550b6c2be49a28c99
Change-Id: Ie30ccbc8c12ce48f481b9f727f28e60d21ee37b9
2022-11-07 21:25:27 +01:00
daniel adc017f73f Pick ParsoidClient implementation based on etag.
When receiving HTML from a VE session, process it with the same kind of
ParsoidClient that was originally used to generate the HTML. If we were
to use a different implementation, the ETag wouldn't match, so we would
fail to find the stashed data-parsoid map, and the edit would fail.

Bug: T320704
Change-Id: I3b73431fccacecb4ad88b82f8f5675b1042e03ce
2022-10-20 08:52:20 +00:00
jenkins-bot bf1bacfce1 Merge "Remove AutoConfig setting" 2022-10-14 15:59:07 +00:00
daniel 92e52d0bad Remove AutoConfig setting
AutoConfig was used to set VE to call internal REST API endpoints exposed by the parsoid extension.
With DirectParsoidClient available, this is no longer needed.

NOTE: this causes all wikis that do not have a RESTbase backend
configured to start using DirectParsoidClient. This is true in
particular for officewiki and labswiki.

Bug: T320704
Change-Id: Ia4c6184dd75a653c3202ea160b6605335f36f6eb
2022-10-14 10:55:53 +02:00
Bartosz Dziewoński d2e49b16f7 Use RevisionLookup methods instead of ApiParsoidTrait methods
Part of my secret plan to delete ApiParsoidTrait.

* Inject RevisionLookup into ApiVisualEditor
* Use RevisionLookup::getRevisionById instead of ApiParsoidTrait::getValidRevision
* Use RevisionLookup::getRevisionByTitle instead of ApiParsoidTrait::getLatestRevision
* Use standard MediaWiki error messages
* Delete unused ApiParsoidTrait::getValidRevision
* Delete unused ApiParsoidTrait::getLatestRevision

Depends-On: I7244ee4916fb011fad5faa1d9f837e83f6ac2dc1
Change-Id: I8089c0c516d9dba52e931a0a80740c0361216dbd
2022-10-11 14:54:40 +00:00
Ed Sanders 596575582c Follow-up Ieba322fd: Don't generate postedit notification now we set config var
Setting the config var then loading mediawiki.action.view.postEdit
will already trigger the notification code, so we can remove this
duplicated code now.

Bug: T240041
Change-Id: If0d1aa4e734dab7cca168e78216f229b9924bab7
2022-09-26 12:08:54 +00:00
daniel 1177e677e6 Remove redundant ParsoidHelper class from VE
All code that used to live in ParsoidHelper has been moved to
VisualEditorParsoidClientFactory and VRSParsoidClient.
ParsoidHelper is no longer needed.

Change-Id: I21c4a8cd86f8d085e75a601ed6d2509dedd75d42
2022-09-15 19:23:05 +00:00
Bartosz Dziewoński 412567995c Update VE core submodule to master (f3cbff8b1)
New changes:
a4ab75072 Localisation updates from https://translatewiki.net.
b1b1c2656 Localisation updates from https://translatewiki.net.
817f0d532 Use improvements of jQuery 3.3
4faef86ad Localisation updates from https://translatewiki.net.
44b501e96 Remove unused message "visualeditor-commentinspector-edit"

Local changes:
* Remove unused message "visualeditor-commentinspector-edit"

Change-Id: Ib22ff31137f62943d01b7c1daf3f0ea1bc6c9536
2022-09-10 06:53:55 +02:00
jenkins-bot 5e50db824f Merge "Tweak main toolbar shadow to not leak out from the sides on vector-2022" 2022-08-26 16:49:07 +00:00
Svantje Lilienthal d9fa6d4091 Update VE core submodule to master (439831778)
New changes:
082621501 Localisation updates from https://translatewiki.net.
98fc36e64 Localisation updates from https://translatewiki.net.
7cbaefc97 build: Update language lists to add 'tk'
a9a3cec89 Localisation updates from https://translatewiki.net.
13dd7a6c2 Pass empty string to unused argument of pushState/replaceState
065f72ea3 Localisation updates from https://translatewiki.net.
71ca140b7 Add missing ARIA labels to fields in VE maps dialog

Local changes:
* Add new dimension fields labels

Bug: T307993
Change-Id: Iab27f24627e80d34a8f1c201380492c88d2ab758
2022-08-17 00:59:01 +02:00
Bartosz Dziewoński d36d467a82 ve.ui.MWTargetWidget: Suppress the stacking context established by .vector-body
Bug: T314230
Change-Id: I742f0435f279689dbdac8e811a8aeab00cc9086b
2022-08-11 01:47:19 +02:00
Bartosz Dziewoński 4cd18e42ab Tweak main toolbar shadow to not leak out from the sides on vector-2022
Bug: T311311
Change-Id: I847c8b64c5e24e92bf75d206f0815d1be3352292
2022-08-10 20:38:20 +02:00
jenkins-bot f8fd06dbaf Merge "Remove 5 more very old unused messages" 2022-08-01 09:46:45 +00:00
Thiemo Kreuz b8b5ed3eaa Remove 5 more very old unused messages
* "visualeditor-dialog-transclusion-options" was added in 2013 via
  I3bcf924. It was used as the label for multiple FieldsetLayouts in
  ve.ui.MWTransclusionDialog.js. In 2013 a larger rewrite was done via
  I51e74b3. The FieldsetLayouts with this message don't exist any more
  since then.
* "visualeditor-dialogbutton-meta-tooltip" was added in 2013 via
  Ibf63329. It was used as the button label in
  ve.ui.MWMetaButtonTool.js. This file was deleted in 2013 via
  I3bb61d5. That patch added a new message "visualeditor-meta-tool"
  that says the same as the old message". The old message is unused
  since then.
* "visualeditor-savedialog-label-create" is a new key for a message
  that existed before. The old key was "visualeditor-create-page". It
  was used in ve.init.mw.ViewPageTarget.js as a button label. This
  usage was removed in 2012 via I5f59482. The renamed message was
  never used.
* "visualeditor-savedialog-label-report" was added in 2012 via
  I5f59482. It was used as a button label in
  ve.init.mw.ViewPageTarget.js. The feature was removed in 2013 with
  no replacement, see I8a5e0ab. Some of the messages that became
  unused got removed in the same patch, but not all of them.
* "visualeditor-savedialog-warning-dirty" was added in 2013 via
  I3daf631. It was used for a confirmation popup in
  ve.init.mw.ViewPageTarget.js. I8c0db01 moved the code to
  ve.ui.MWSaveDialog.js. In 2015 the confirmation popup was removed
  with no replacement, see I9091534.

Change-Id: Iae7961612d5b5be9cdd294a67a9ce40ee8cb9b4d
2022-07-27 09:01:21 +02:00
Thiemo Kreuz 91b5cea852 Remove unused template dialog title message
The message "visualeditor-dialog-template-insert" was added in 2021
via I5da4003. It was used as a dialog title in
ve.ui.MWTemplateDialog.js. In 2021 we introduced three new messages
via Ib9b76ca. One of them still says the same as the old message, but
got a new key assigned. It appears like we forgot to remove the old
message.

Change-Id: Ie3854114197e3f36b48bb7efd8dd96a1f9651198
2022-07-27 08:54:31 +02:00
Arlo Breault 94c4d619a7 Add a checkbox to use the image caption as the alt text for galleries
The need for something like this was anticipated in
I2bf43c7e83283f43e047229eb53c244918fcbb0c.

As of version 2.5.0 of Parsoid's output, if alternate text is missing
for an image but a caption is present and image isn't displaying the
caption (ie. it isn't a thumb or frame), then the text content of the
caption will be set as the alt attribute.  Parsoid will then drop the
alt attribute when serializing if it matches the caption text, since
it's unnecessary.

However, if the caption is modified and the alt text isn't, the alt will
be serialized.  This is likely to be unexpected to editor.  They may
have missed that the both the caption and alt are populated in VE and
only edited one place.

Since all of the above is happening only for images where the caption
isn't visible, it doesn't appear to be a much used feature since, at
least for inline images, the experience of caption editing was already
less than optimal.

However, because of a quirk in how galleries are rendered in Parsoid,
this affects gallery caption editing, which is visible and presumably
used more often.  See T268250 for a discussion on an improved gallery
structure.  But for now, gallery images are effectively inline and set
the alternate text, thus subject to the above.

Here we add a checkbox so that the default is to ignore the alt if it's
the same as the caption.  And only make use of it if it differed
originally or was explicitly unchecked to modify.

Bug: T311677
Change-Id: Idf297d8a98995971c5835b0cea56c3317a3626e2
2022-07-22 15:46:55 -04:00
Bartosz Dziewoński c2900af71e Remove temporary compat for $wgVectorTitleAboveTabs = false
The configuration option has been removed in
Ib35c6bfa5493f7dc81b63c42e7fedb8f1e47226b.

Change-Id: I1392cab0f6916c47cade833c10036adec2c9d4dd
2022-07-18 17:41:20 +02:00
Thiemo Kreuz 139e6547d1 Remove unused media/meta-related messages
visualeditor-dialog-media-thumbdimensions
Added in 2014 via I7b4d019, but never used, as far as I can tell.

visualeditor-dialog-media-searchselect
Unused since I65aed34 from 2015.

visualeditor-dialog-meta-settings-displaytitle-enable
The feature was removed in 2017 via I46db6b1.

This patch also marks some other messages as being used via comments.

Change-Id: Ia10b6a5c0ea83dd670e2cfdbaa768c41fc0cf392
2022-07-13 13:56:41 +02:00
WMDE-Fisch 83c30099ec Move obvious Outline related CSS into own file
Should be a noop. Also moving one rule further up to the set of
similar selectors.

Removing one rule that was disabled for some time now.

Optimizations follow.

Change-Id: I8da70a52c13afd8ac1c3ff43bae63a203c3bf86a
2022-07-07 22:05:09 +02:00
Adam Wight 483528affe Drop StackLayout
Gets rid of some unused behaviors that we've already disconnected.
Brings the remaining styling into VE files.

Bug: T312524
Change-Id: Ie94472019ba41124831621c45713861297219594
2022-07-07 13:06:24 +02:00
Andrew Kostka d5b8107902 Use "Add template" label in the sidebar and as the header
Bug: T311107
Change-Id: Ib85c08c5d72e621a7687dc393b2f8d9443f13b06
2022-07-06 10:55:43 +00:00
Jan Drewniak d88fd9b6a8 Prevent skinStyles from applying to the Vector 2022 skin.
With related changes to the DOM in the new Vector skin, most skin
styles are no longer necessary for Vector 2022.

This patch also fixes an issue with the font-size of the toolbar
when $wgVectorTitleAboveTabs = true.

Bug: T310197
Depends-On: Idae6755c90eacaab1a9daa88c6e28850d427810c
Change-Id: I6776f08b24f83cf4daeef70bfdeb73dfeafc785a
2022-06-28 19:51:42 +02:00
WMDE-Fisch ff7eaf5a9b Move MWAddParameterPage styles to own file
Change-Id: I829de89445fd1927209506f5cfbdd9b796953bfe
2022-06-28 14:37:35 +00:00
WMDE-Fisch ecb00afdab Move MWTemplatePlaceholderPage styles to own file
Change-Id: I5eb98c58a8f429622273fbead492bcca12177aee
2022-06-28 14:10:44 +02:00
jenkins-bot 1e094a8868 Merge "Fix broken error message 'visualeditor-saveerror'" 2022-06-27 19:07:18 +00:00
Adam Wight 6de61ccf77 Fork OutlineControlsWidget
Bug: T311223
Change-Id: Id2f9fc89c607c8001e8b150add1ffbcaa318993a
2022-06-27 16:46:11 +02:00
Andrew Kostka 54f4b47794 Add initial tests for ve.ui.MWTwoPaneTransclusionDialogLayout
Bug: T311116
Change-Id: Ie4e1f9f203055f68add6fea0cf04b03215a32942
2022-06-26 17:15:11 +02:00
Umherirrender ab823c0115 Replace deprecated WikiPage::factory
Remove WikiFilePage instance check, isLocal exists also on WikiPage and
newFromTitle never returns null

Bug: T297688
Change-Id: I925771a84afe4402fdb0f201c0b562c7028c44b2
2022-06-24 23:06:39 +02:00
WMDE-Fisch a556661fc7 Order transclusion CSS/LESS files alphabetically
Should have no dependencies on the order in that case.

Change-Id: I9f0dacbc76875f27e6def2b883b0b22bfda6d055
2022-06-24 14:51:17 +02:00
WMDE-Fisch a80f662cfb Merge some CSS rules into the layout less file
Includes adding a less file for minerva layout rules. To make best
use of the less shortcuts and avoid duplication, some selectors
have been slightly changed. Outcome should still be identical.

Change-Id: I92179ecf6045c938cace0e7e809b7ad4cf035727
2022-06-24 13:50:59 +02:00