Commit graph

1126 commits

Author SHA1 Message Date
Zoë dc9cf6624a Update VE core submodule to master (5c98d9b41)
New changes:
5c98d9b41 Keep track of recently used symbols

Added i18n keys:
- visualeditor-specialcharacter-recentlyused

Local changes:

Register preference for SpecialCharacterDialog recently-used list
Implement `canUseUserConfig` platform method

Bug: T110722
Change-Id: Ie869ccd4292f87354222af6648d7ea0e5ae50387
2024-12-11 13:24:06 +00:00
Ed Sanders ee79edb58b Move edit checks to /editchecks folder
Change-Id: I27eee69c4086d44fd7d60bacde9a76c170af63fe
2024-11-14 16:44:59 +00:00
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