Commit graph

979 commits

Author SHA1 Message Date
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
Adam Wight 004adeef80 Switch to forked BookletLayout
Bug: T310865
Change-Id: If6fcac589fcafffd46beba0b7ea6a6bfb6c0061c
2022-06-23 10:33:12 +02:00
jenkins-bot 8793ef69b4 Merge "Use SkinTemplateNavigation::Universal" 2022-06-22 22:57:33 +00:00
jenkins-bot c19a44e246 Merge "Remove unused media info messages" 2022-06-22 19:36:00 +00:00
Adam Wight 15ef2dc3c6 Remove inaccessible ARIA annotation from old sidebar
This was added via I3b792ff. It's about the old sidebar which isn't
accessible any more.

Bug: T311069
Change-Id: I29919285255a84bd58aa06ee1b2816d25a8112a6
2022-06-22 13:44:23 +02:00
Thiemo Kreuz f0bce1c845 Remove unused media info messages
The "visualeditor-dialog-media-info-…" messages are part of a larger
info panel that appears after searching for an image. This was
introduced via I7b4d019, a patch with 52 patchsets, developed between
September 2014 and January 2015.

The "credit" message appeared first in patchset 2, see
https://gerrit.wikimedia.org/r/c/mediawiki/extensions/VisualEditor/+/161342/2/modules/ve-mw/i18n/en.json

The "dateformat" message appeared first in patchset 12, see
https://gerrit.wikimedia.org/r/c/mediawiki/extensions/VisualEditor/+/161342/11..12/modules/ve-mw/i18n/en.json
This message appears to be special in so far that it was never used
to begin with.

The other two messages appeared first in patchset 21, see
https://gerrit.wikimedia.org/r/c/mediawiki/extensions/VisualEditor/+/161342/20..21/modules/ve-mw/i18n/en.json

3 of the 4 messages are used at this point. The message keys are
constructed in code via `"visualeditor-dialog-media-info-" + key`.
This piece of code was also introduced in patchset 21, see
https://gerrit.wikimedia.org/r/c/mediawiki/extensions/VisualEditor/+/161342/20..21/modules/ve-mw/ui/dialogs/ve.ui.MWMediaDialog.js#629

This was entirely rewritten in patchset 41, see
https://gerrit.wikimedia.org/r/c/mediawiki/extensions/VisualEditor/+/161342/40..41/modules/ve-mw/ui/dialogs/ve.ui.MWMediaDialog.js#b670
Since then the messages are unused. The info panel still exists and
still shows all information, but the 3 fields "ImageDescription",
"LicenseShortName", and "Credit" just show an icon and the field's
value, but no label (any more).

Change-Id: Ief35a85d8c5cbf49b662adbfd068dbecd8e4f154
2022-06-22 09:09:07 +00:00
jenkins-bot 1ba1bc76f4 Merge "Remove dead code in MWTemplatePage" 2022-06-22 06:29:47 +00:00
jenkins-bot 4eceae3962 Merge "Remove two unused placeholder messages from gallery dialog" 2022-06-22 00:38:19 +00:00
WMDE-Fisch 11f5f6cb59 Remove dead code in MWTemplatePage
Bug: T310859
Change-Id: Ie55d82fb6f3be0b90b8f42aecdd761624b94afca
2022-06-22 00:20:00 +00:00
Jon Robson 3d4e0f71b1 Use SkinTemplateNavigation::Universal
Web team plans to deprecate the SkinTemplateNavigation
and  SkinTemplateNavigation::SpecialPage hook. The
Universal hook can cater for both cases.

Bug: T255319
Change-Id: Ifad4918cf5d3d6b3f4d7abeb48d27fc5a46764b3
2022-06-21 22:34:55 +00:00
jenkins-bot 3b9e0bf0dc Merge "Remove unused media position messages" 2022-06-21 17:37:06 +00:00
WMDE-Fisch 8535fa72ab Remove dead code in MWTransclusionDialog
Removing CSS will go into a follow up.

Bug: T310859
Change-Id: I05a0c12ab98ca428aca64181469d8c9cf6311f03
2022-06-21 14:22:47 +02:00
Thiemo Kreuz ec2a961d00 Remove two unused placeholder messages from gallery dialog
Both messages are unused since I1e93c3a. As I understand the patch
what it did was replacing two plain text input fields with WYSIWYG
editors. These don't use placeholders.

Change-Id: Ia4ac7d7c9ae86dedd02040a81300a9722e94d1b7
2022-06-21 14:20:33 +02:00
Thiemo Kreuz a01163d097 Remove unused media position messages
All 4 messages are introduced via I15fbd1e in January 2014.

The "none" message is unused since Iddd78c9 from February 2014. It
was replaced with a checkbox with a different label.

The other 3 messages are unused since I7057997 from February 2015.
A more generic widget is used since then. It uses messages that are
named "visualeditor-align-widget-center" and so on.

Change-Id: I7ad4772cb4fdec7e478cee23dccd5ae600834caf
2022-06-21 14:11:53 +02:00
WMDE-Fisch 6396b030d5 Remove dead code in MWTemplatePlaceholderPage
Bug: T310859
Change-Id: I04de9c4bd3828e8769136d5776037e927ba7b4ab
2022-06-20 10:30:31 +02:00