Commit graph

1124 commits

Author SHA1 Message Date
Ed Sanders d06e9dbc31 Update VE core submodule to master (0e82a6db8)
New changes:
db0f21d03 ve.ce.Surface: Check dataTransfer.files is non-empty
e1cd78933 [BREAKING CHANGE] Move selection handling code to SelectionManager
b4b63a463 Move drag/drop handling code to DragDropHandler
540272769 Use the onPaste handler for dropped content
d3f9d8485 ClipboardHandler tests: Run tests in series
1232c0420 Tests: Introduce ve.dm.example.annotateText to simplify runs of annotated text
69d7ca482 Apply an annotation to imported (pasted/dropped) text
0e82a6db8 ve.ce.ClipboardHandler: Fix async test running

Added files:
- src/ce/annotations/ve.ce.ImportedDataAnnotation.js
- src/ce/ve.ce.DragDropHandler.js
- src/ce/ve.ce.SelectionManager.js
- src/dm/annotations/ve.dm.ImportedDataAnnotation.js
- tests/ce/ve.ce.DragDropHandler.test.js

Local changes:
- Implement new selection manager architecture

Added files:
- src/ce/annotations/ve.ce.ImportedDataAnnotation.js
- src/ce/ve.ce.DragDropHandler.js
- src/ce/ve.ce.SelectionManager.js
- src/dm/annotations/ve.dm.ImportedDataAnnotation.js
- tests/ce/ve.ce.DragDropHandler.test.js

Bug: T371996
Bug: T377427
Bug: T78696
Change-Id: If8d38246badf919c32915beda7c9a14f16e62a8a
2024-10-30 17:52:56 +00:00
Ed Sanders 4bc814f1a0 Update VE core submodule to master (bae9101b7)
New changes:
7906a6b9e build: Updating npm dependencies
92e6a5338 TextStyleAnnotation: Don't register abstract base class
456ca9b2e Localisation updates from https://translatewiki.net.
a68ba80d2 Get all annotations by ranges
dc49d9592 Demos: Default to WMUI theme
222ac7d23 Add unit tests for ve.dm.BranchNode#getAnnotationRanges
ba73b9e91 Return annotation ranges in lexicographic order
6e40aa524 Localisation updates from https://translatewiki.net.
1a4640a4a ve.ce.Surface: Remove unused $deactivatedSelection and $findResults
9455e0f0a ve.ce.Surface: Replace text/xcustom clipboard storage with a custom key
ddd14aa9b [BREAKING CHANGE] Move paste handling code to ve.ce.ClipboardHandler
19f0e500b CollabProcessDialog: Replace mw.user.getName with platform method
ecd607353 Implement pasteSourceDetectors
bae9101b7 Localisation updates from https://translatewiki.net.

Added files:
- src/ce/ve.ce.ClipboardHandler.js
- tests/ce/ve.ce.ClipboardHandler.test.js

Local changes:
* Implement new paste handler architecture
* Use new clipboard key

Bug: T360624
Bug: T376306
Bug: T78696
Change-Id: Iea10d32b6132ae364d486cc6b96895bb937ac944
2024-10-22 15:31:24 +01:00
Ed Sanders 64e157385b Update VE core submodule to master (5a0396522)
New changes:
8e53dbd2b Use speechBubbleNotice icon for CommentNode
ed9e2d8c1 Follow-up I4e7b8593: Use new icon for "Comment" toolbar tool, and add variants
eb375420f Grunt: Lint hidden js files
f62b8f45e build: Updating body-parser to 1.20.3
62a061017 Localisation updates from https://translatewiki.net.
4c4d83181 Localisation updates from https://translatewiki.net.
685f73b4e Localisation updates from https://translatewiki.net.
b64549a86 Update OOUI to v0.51.1
5a0396522 Localisation updates from https://translatewiki.net.

Added files:
- src/ui/styles/ve.ui.icons.less

Bug: T374200
Bug: T374858
Change-Id: Ib7cccaddeede3e7e181f17fb6ddba8239ed1d2d6
2024-09-26 14:49:38 +01:00
James D. Forrester 07c0ab5a35 build: Update MediaWiki requirement to 1.43
All extensions in the MediaWiki tarball are expected to track MediaWiki's release directly.

Change-Id: I58cc6a04628f8b443b7a8ae46752151bbcfd6305
2024-08-22 18:48:21 -04:00
Bartosz Dziewoński 8e56a05d6b Add missing real-time editing error messages
Used in lib/ve/collab/ve.collab.js and in
modules/ve-mw-collab/ve.init.mw.CollabTarget.init.js.

Change-Id: Ic03ede112886117df0d39ba2b1d6c81125673373
2024-07-23 21:27:13 +02:00
jenkins-bot c3f87d277f Merge "Remove VE user-agent based browser compatibility checks" 2024-06-20 17:05:08 +00:00
Ed Sanders a37e215965 collab: Load missing message
This message is used by AuthorItemWidget

Change-Id: I6fd5d2f697b86c46d336169d023030317c5f7360
2024-06-19 17:22:43 +01:00
Ed Sanders 8cb070f4d7 Remove VE user-agent based browser compatibility checks
Bug: T367735
Change-Id: I07fb1bbbd2f907672400cb9bc74fd40dea973da9
2024-06-17 13:03:04 +01:00
David Lynch d69d366469 Edit check API
Change-Id: Ic5504eb2fe8d1d3f22e88abe1dd88790bdfd8b9c
2024-06-12 11:01:04 +01:00
David Lynch e6e104dda5 Use reliability API to detect blocked external links
Bug: T366751
Change-Id: If3813cb662155f674688d0ca0733fabdbb338a50
2024-06-08 13:55:43 -05:00
Ed Sanders a3d4388bc1 Follow-up Ic9fad12fe: Move .css file to .less
MWCategoryWidget was converted to LESS syntax but wasn't
moved in the previous commit.

Change-Id: Ifd3e6228b96872ba40fa6d8db1617fb65b781dc0
2024-06-05 18:40:36 +01:00
Zoë a6f826e989 Confirm abort if saving would make a change to the underlying document
Bug: T334513
Change-Id: Ia8935b5b1acb87a351fd02d07f72875e4d7a005c
2024-04-30 16:20:45 +01:00
Ed Sanders 58f56c0418 Delete MWConfirmationDialog
Despite its generic name, this class exists just for the
template dialog and does 3 things:

1. Provides generic accept/reject override messages
2. Provides a new function signature when the prompt
   and success callback are passed
3. Focuses the delete button

(1) and (2) can be provided by a local helper function.
(3) should be implemented upstream, although given this
was done to prevent users taking destructive actions
accidentally I'm not sure why this should be overridden
here.

Change-Id: Id5aa018310eded7a3552a182d19ca16b040abcbd
2024-04-16 14:46:23 +01:00
Ed Sanders b6a7d8c8da Update VE core submodule to master (70279c60a)
New changes:
70279c60a Refactor SpecialCharacterPage into SymbolListPage + SymbolListBookletLayout

Local changes:
* Use new special character layout

Added files:
- src/ui/layouts/ve.ui.SymbolListBookletLayout.js
- src/ui/pages/ve.ui.SymbolListPage.js
- src/ui/styles/layouts/ve.ui.SymbolListBookletLayout.less

Deleted files:
- src/ui/pages/ve.ui.SpecialCharacterPage.js

Bug: T120512
Change-Id: I357595ae490b36bcf5dd477a95c5684f3a246753
2024-03-19 20:03:40 +01:00
Ed Sanders 9ee1b51fbe Move CSS files to LESS
Change-Id: Ic818efe7315187bf96ead7bd6468ecb3d44d988d
2024-03-19 13:56:30 +00:00
Ed Sanders 960edae818 Move dialog CSS files to LESS
Change-Id: Ic91cbb285675116e62cb2546b21927c704ad5e65
2024-03-19 12:46:22 +00:00
Ed Sanders b446420306 Update VE core submodule to master (e32eea10e)
New changes:
91410d266 Localisation updates from https://translatewiki.net.
6fc7ff406 ve.collab: Make dialogs closeable
f5572e584 Ensure GeneratedContentNodes have at least one non-void element
c33a7f9d1 Support LESS files
a9a139518 Rename all CSS files to LESS
f7925398d Nest LESS files

Added files:
- demos/ve/demo.less
- lib/less/less.js
- src/ce/styles/nodes/ve.ce.ActiveNode.less
- src/ce/styles/nodes/ve.ce.AlienNode.less
- src/ce/styles/nodes/ve.ce.BranchNode.less
- src/ce/styles/nodes/ve.ce.CheckListNode.less
- src/ce/styles/nodes/ve.ce.FocusableNode.less
- src/ce/styles/nodes/ve.ce.ParagraphNode.less
- src/ce/styles/nodes/ve.ce.ResizableNode.less
- src/ce/styles/nodes/ve.ce.RootNode.less
- src/ce/styles/nodes/ve.ce.SectionNode.less
- src/ce/styles/nodes/ve.ce.TableCellNode.less
- src/ce/styles/nodes/ve.ce.TableNode.less
- src/ce/styles/ve.ce.Surface.less
- src/init/sa/styles/ve.init.sa.Platform.less
- src/themes/apex.less
- src/themes/wikimediaui.less
- src/ui/styles/contextitems/ve.ui.LinearContextItem.less
- src/ui/styles/contextitems/ve.ui.LinkContextItem.less
- src/ui/styles/dialogs/ve.ui.CommandHelpDialog.less
- src/ui/styles/dialogs/ve.ui.FindAndReplaceDialog.less
- src/ui/styles/dialogs/ve.ui.ProgressDialog.less
- src/ui/styles/dialogs/ve.ui.SpecialCharacterDialog.less
- src/ui/styles/dialogs/ve.ui.TableDialog.less
- src/ui/styles/dialogs/ve.ui.ToolbarDialog.less
- src/ui/styles/elements/ve.ui.DiffElement.less
- src/ui/styles/inspectors/ve.ui.FragmentInspector.less
- src/ui/styles/inspectors/ve.ui.LanguageInspector.less
- src/ui/styles/tools/ve.ui.FormatTool.less
- src/ui/styles/ve.ui.DebugBar.less
- src/ui/styles/ve.ui.DesktopContext.less
- src/ui/styles/ve.ui.Overlay.less
- src/ui/styles/ve.ui.Surface.less
- src/ui/styles/ve.ui.TableLineContext.less
- src/ui/styles/ve.ui.Toolbar.less
- src/ui/styles/widgets/ve.ui.AuthorItemWidget.less
- src/ui/styles/widgets/ve.ui.CompletionWidget.less
- src/ui/styles/widgets/ve.ui.ContextOptionWidget.less
- src/ui/styles/widgets/ve.ui.DimensionsWidget.less
- src/ui/styles/widgets/ve.ui.LanguageInputWidget.less
- src/ui/styles/widgets/ve.ui.LanguageSearchWidget.less
- src/ui/styles/widgets/ve.ui.TargetWidget.less

Deleted files:
- demos/ve/demo.css
- src/ce/styles/nodes/ve.ce.ActiveNode.css
- src/ce/styles/nodes/ve.ce.AlienNode.css
- src/ce/styles/nodes/ve.ce.BranchNode.css
- src/ce/styles/nodes/ve.ce.CheckListNode.css
- src/ce/styles/nodes/ve.ce.FocusableNode.css
- src/ce/styles/nodes/ve.ce.ParagraphNode.css
- src/ce/styles/nodes/ve.ce.ResizableNode.css
- src/ce/styles/nodes/ve.ce.RootNode.css
- src/ce/styles/nodes/ve.ce.SectionNode.css
- src/ce/styles/nodes/ve.ce.TableCellNode.css
- src/ce/styles/nodes/ve.ce.TableNode.css
- src/ce/styles/ve.ce.Surface.css
- src/init/sa/styles/ve.init.sa.Platform.css
- src/themes/apex.css
- src/themes/wikimediaui.css
- src/ui/styles/contextitems/ve.ui.LinearContextItem.css
- src/ui/styles/contextitems/ve.ui.LinkContextItem.css
- src/ui/styles/dialogs/ve.ui.CommandHelpDialog.css
- src/ui/styles/dialogs/ve.ui.FindAndReplaceDialog.css
- src/ui/styles/dialogs/ve.ui.ProgressDialog.css
- src/ui/styles/dialogs/ve.ui.SpecialCharacterDialog.css
- src/ui/styles/dialogs/ve.ui.TableDialog.css
- src/ui/styles/dialogs/ve.ui.ToolbarDialog.css
- src/ui/styles/elements/ve.ui.DiffElement.css
- src/ui/styles/inspectors/ve.ui.FragmentInspector.css
- src/ui/styles/inspectors/ve.ui.LanguageInspector.css
- src/ui/styles/tools/ve.ui.FormatTool.css
- src/ui/styles/ve.ui.DebugBar.css
- src/ui/styles/ve.ui.DesktopContext.css
- src/ui/styles/ve.ui.Overlay.css
- src/ui/styles/ve.ui.Surface.css
- src/ui/styles/ve.ui.TableLineContext.css
- src/ui/styles/ve.ui.Toolbar.css
- src/ui/styles/widgets/ve.ui.AuthorItemWidget.css
- src/ui/styles/widgets/ve.ui.CompletionWidget.css
- src/ui/styles/widgets/ve.ui.ContextOptionWidget.css
- src/ui/styles/widgets/ve.ui.DimensionsWidget.css
- src/ui/styles/widgets/ve.ui.LanguageInputWidget.css
- src/ui/styles/widgets/ve.ui.LanguageSearchWidget.css
- src/ui/styles/widgets/ve.ui.TargetWidget.css

Bug: T359893
Change-Id: If2f2c73b43901f478d9c905a2d626cc692d2a192
2024-03-19 11:10:55 +00:00
Ed Sanders 13ae41f74b ve.init.MWVESwitchConfirmDialog: Convert files to LESS
Change-Id: Iacb3ee99a3d828d23534e2929a78c469d4af7c16
2024-03-14 11:37:26 -07:00
Ed Sanders d5d2fd0541 Convert ve.init.MWVESwitchPopupWidget.css to LESS
Change-Id: I4c394adc7a510b85b346366f53daf05b96811393
2024-03-11 17:39:22 -07:00
David Lynch 49d5c26c08 ve.collab: Move BetaFeature into its own file
Avoids requiring a dependency on the BetaFeatures extension.

Tell the phan config to include the BetaFeatures checkout so it'll pass
on that file, though. (Same as DiscussionTools.)

Change-Id: I258d3be59ea9cf0a798d93f0f8b1fd18a455d45a
2024-03-06 14:50:14 -06:00
Ed Sanders b3853721c8 ve.collab: Create BetaFeature
Change-Id: I36b8361f4fce8d690841e9048498bd5d52131942
2024-03-07 00:45:39 +08:00
Ed Sanders 2359b587ed ve.collab: Create ResouceLoader module
Change-Id: I2fd9d604521901e3ccdf862afc0a4f2099c533b1
2024-03-06 16:31:19 +00:00
Ed Sanders 80e8d65cff Introduce ApiEditCheckReferenceUrl
Checks the URL against SpamBlacklist, and the new
BlockedExternalDomains list in AbuseFilter.

Bug: T349261
Change-Id: I39896ae0d59db4aa918b08b3b2eaacb52bfe4a03
2024-02-22 15:39:43 -06:00
jenkins-bot 8d70615b5e Merge "Enrollment for the edit check a/b test" 2024-02-19 15:27:16 +00:00
David Lynch e7861de221 Enrollment for the edit check a/b test
The enrollment happens in ArticleTargetLoader so that the bucket will be
set for init logging.

Bug: T342930
Depends-On: I9c7c0fb52a6ec68609df6b518c7d35ddd98a95bf
Change-Id: I03c8dc8beb2eb267c052b856a30343ecab3a7657
2024-02-16 10:18:21 -06:00
Ed Sanders 265f7a5722 Separate Apex fixes from Monobook fixes
Change-Id: I5ac462ecb66d2e16910905ca62db0d9167d843ea
2024-02-13 13:58:55 +00:00
Umherirrender 4e94b88f99 Remove the VisualEditorHookRunner service
The HookRunner class is a lightweight class and not designed to be a
service, the needed HookContainer should be injected instead and a hook
runner created when needed.
The overhead from the service wiring is the same as using new objects
when needed.
This follows practice from core and the documentation in
core/docs/Hooks.md in the section "Hook runner classes"

Change-Id: Ib42281dfae8a5a260005d82ed3bb7da12e1b645e
2024-01-31 20:02:36 +01:00
Umherirrender dda33540d4 Use namespaced OOUIImageModule in extension.json
Change-Id: Icc2fbf2dc2f9c3eefd45a68caa12fe6f775cb8f5
2024-01-13 22:24:20 +01:00
James D. Forrester 2ab7f87bac extension.json: Drop RL targets definitions, no longer honoured
Bug: T328497
Change-Id: I0ba090e37cef19219a2145b3c062b3a3c98f0e95
2024-01-12 08:54:53 -05:00
Ed Sanders 6b23d6a731 Add files missing from lib/ve's modules.json to extension.json
Mostly just tests, but also ve.ce.css which contains bidi isolate
rules used by LanguageAnnotation.

Change-Id: I003c62a6944854b2df77f1bb12f21794d968f021
2023-12-08 20:06:34 +00:00
Ed Sanders b19883e8d8 Update VE core submodule to master (c788040b1)
New changes:
ace73e1dd Show selection size in merge cells context item
a5a3c576d build: Run npm audit --fix as of 2023-12-07
1fd5de1cf build: Upgrade svgo from 3.0.2 to 3.0.5 and re-run

New i18n keys:
visualeditor-table-selection-dimensions

New files:
src/ui/styles/contextitems/ve.ui.MergeCellsContextItem.css

Change-Id: I30653d829ae77b5f356eba00e476ccdeba65d621
2023-12-08 16:40:03 +00:00
Ed Sanders 876a947a7b Move EditCheck files to ./editcheck and structure as a sub-extension
Change-Id: I4085223a93b37e601b3627fc2d6db7978cac820e
2023-11-28 15:56:43 +00:00
jenkins-bot 3c609d13c5 Merge "Convert MWSaveDialog.css to less" 2023-11-17 13:41:27 +00:00
Ed Sanders 7545b46d16 Convert MWSaveDialog.css to less
Change-Id: I13d23492bcd7264076df0679a6405d2e5969919e
2023-11-17 13:12:09 +00:00
jenkins-bot 8411bd0954 Merge "Remove handling of Minerva edit links" 2023-11-16 18:37:24 +00:00
jenkins-bot ec554b48be Merge "Drop meaningless version number 0.1.2" 2023-11-14 21:11:06 +00:00
Ed Sanders 7a3120d9d5 Remove unused CSS classes
Unused since I5839ba62fe4.

Change-Id: I927e64f14f672b9fca6c7e8c6806a38cea07382a
2023-11-08 19:25:32 +00:00
Bartosz Dziewoński 89545d2b53 Update VE core submodule to master (df7099eab)
New changes:
b3a237415 Grunt: Simplify ignore pattern for node_modules
78bbdf1d4 Localisation updates from https://translatewiki.net.
538d8ad4d Make VisualDiff#compareNodes static
8652432c4 Tree diffs: Add failing test case for templates in table diff
79eebb566 Tree diffs: Use VisualDiff#compareNodes
32d8c3180 Tree diffs: Use compareElementsUnannotated when comparing structural nodes
53970774a Visual diff: Describe list type changes
23cd3d886 Update diff-match-patch, removing cleanupSemanticLossless

Bug: T332791
Bug: T337698
Bug: T346424
Bug: T350032
Change-Id: I1707d50b06703aae74c654e354cce95541ac5a96
2023-11-07 21:41:49 +01:00
Bartosz Dziewoński 5667832c1b Attach content to teleport target instead of <body>, remove Vector hacks
In MediaWiki, OO.ui.getTeleportTarget() is overridden to return
a different element (itself attached to body), which is supposed
to be styled appropriately by skins (e.g. z-index above any
floating header, font-size same as body text, etc.).

As a result, we no longer need to do weird things with the
'vector-body' class to achieve correct font size on Vector,
and we can remove some font-size overrides for Vector and MonoBook.

Bug: T348288
Bug: T339058
Change-Id: I6329b3023573b3dcfc8f471c4693be9bb1e9e430
2023-11-06 14:29:12 +00:00
Ed Sanders 3bbcb66e9a Wikitext table tool: Use different message for caption placeholder
The wikitext table tool is re-using messages meant for other
things anyway, so might as well use a message that is still
in use elsewhere, as opposed to one for a tool that was removed
7 years ago (in Ife3f3505b845d).

Change-Id: I305f5f5a67e0340f89160e6654ad86f81609f9ab
2023-11-03 15:48:55 +00:00
Ed Sanders 284fb20da4 Restore help toolbar title
Was lost when we converted it from a PopupTool
in I81d217bc1ab9.

Also visualeditor-help-title is unused since that commit,
and remove debugging code.

Change-Id: Ic1d40bac8ef76fbb6f009dd8cecec8dc74c1aa4b
2023-11-03 15:38:40 +00:00
Bartosz Dziewoński ef0d37cc97 Update VE core submodule to master (af9ff31db)
New changes:
ea961803e Localisation updates from https://translatewiki.net.
c886092d3 Attach content to teleport target instead of <body>
bacf54a22 Localisation updates from https://translatewiki.net.
c1562081b Consistent usage of header/title in toolbar groups
f8a25c2ca Remove unused messages
af9ff31db Fix remaining uses of 'parent'->'super'

Local changes:
* Remove references to unused messages

Bug: T120821
Bug: T348288
Change-Id: I82dbbc5a8f82ca6bb5b225cb1c2e1734470ed9c8
2023-11-02 23:11:44 +01:00
thiemowmde a6aa681d51 Drop meaningless version number 0.1.2
This number is from 2020. It's certainly meaningless by now. Even
causes extra confusion, see e.g.
https://www.mediawiki.org/wiki/Topic:Xsi5ull7fkcnbzuw

Depends-On: If1bbb57919af4948cecb0a63472ac323175f90c1
Depends-On: Iaae0ac43174f471d8d210958704f98182e9979c5
Change-Id: Iaa56abbc7b54f4a551ca330ff08d542cb5a2b895
2023-10-30 08:15:20 +00:00
Bartosz Dziewoński 0167346cbb ve.ui.MWEditSummaryWidget: Use built-in 'allowLinebreaks' option
New in OOUI v0.48.2.

Change-Id: I28dfa2405167ee4b9d9cd2fd3bb3e15498247ac6
2023-10-25 08:26:59 -04:00
Bartosz Dziewoński 8ec439d417 Remove handling of Minerva edit links
After the other changes in T346944, desktop Minerva can display
multiple edit tabs and section edit links without these hacks.

Bug: T346944
Change-Id: I3721f9387303386493664366988961242a26dba5
2023-10-24 03:27:09 +02:00
jenkins-bot ed18e0480a Merge "Fix handling of 'edit-local' and 'create-local' messages" 2023-10-13 15:31:12 +00:00
jenkins-bot 0e370a84cd Merge "Remove 'VisualEditorTransitionDefault' and AutodisableVisualEditorPref.php" 2023-10-13 15:27:59 +00:00
Bartosz Dziewoński fa889154c2 Fix handling of 'edit-local' and 'create-local' messages
* Remove incorrect overrides in VisualEditorTabMessages. Since
  I44bd632682d5cc52b2660ad72a492f95a04be36e, the interface should use
  'skin-view-edit-local' and 'skin-view-create-local' respectively.

* Fix the fallback mechanism in DesktopArticleTarget.init.js
  to handle these keys correctly.

Change-Id: I7dad7e3a6fb920c5caf175e0e7500fd0c4b4d0ae
2023-10-12 20:05:06 +02:00
jenkins-bot d3b933726e Merge "config: Mention ecenable in edit check config" 2023-10-05 14:50:10 +00:00
Bartosz Dziewoński be36f1fab1 DesktopArticleTarget.init: Remove code for updating edit links
This JS code duplicates the PHP implementation in VisualEditorHooks
in order to allow changes to the configuration of edit tabs
(e.g. wgVisualEditorUseSingleEditTab and wgVisualEditorTabPosition)
to take effect for logged-out users immediately, without waiting
for the HTML caches to clear.

It was worthwhile 10 years ago when VisualEditor was being rolled out
to new wikis or reconfigured daily, but it is not today when we hardly
ever change these settings.

It proved difficult to maintain as the skins change, it has several
known bugs (T292125, T306807, T346944), and probably several more
unknown ones, given that it hasn't been tested in about 10 years.

Let's remove it and save ourselves the headache. (Also also reduce the
amount of code we ship on all page views by almost a kilobyte.)

Bug: T292125
Bug: T306807
Bug: T346944
Change-Id: Ib82f5402872a2429445463a1e1ef92806d3326f9
2023-10-05 03:11:40 +02:00