Commit graph

1512 commits

Author SHA1 Message Date
Bartosz Dziewoński cc2b4e27d8 Fix showing temp user popup after page reload
I apparently forgot to pass the parameter to fireHookOnPageReload()
that I introduced exactly for this purpose. As a result, the basic
post-edit popup appeared, but the temp user popup did not.

Also rearrange code so that fireHookOnPageReload() is still called if
we need to redirect to complete creation of the temp user.

Bug: T344879
Change-Id: I36c64f27d2b8866ca88642621a135e7e25a91ce1
2023-08-24 16:09:12 +00:00
David Lynch 228596cba0 Add a Process to the save workflow
A new hook `ve.preSaveProcess` is triggered to give other code the
chance to add steps to the process. The save dialog won't show until
the process completes. A step can be failed to return to normal
editing.

Change-Id: Id0740ff58ba9d9519c81174100ef1b8f8740870b
2023-08-16 15:59:04 +01:00
Bartosz Dziewoński 870841b407 ArticleTarget: Remove misleading error message on 'badtoken' errors
This method was only called, and the message was only shown, when
retrying after the first 'badtoken' error and refreshing the token
fails again.

If this happens, it usually indicates some terrible problem with
the wiki, and it is not something that can be fixed by logging in
again (or anything else the user can do).

Let the default API error message appear ("Invalid CSRF token.").
While not very helpful to the user, it should be more helpful to
the site administrator trying to unbreak their wiki.

Remove the "visualeditor-savedialog-identify-trylogin" message.
Keep "visualeditor-savedialog-error-badtoken", which is re-used
in another error message. I'll fix that separately.

Change-Id: Ib680218bce5ae38aa52d7d941218a6410ab7e09e
2023-08-14 19:58:26 +02:00
Bartosz Dziewoński 4bb8d8f8ea ArticleTarget: Remove unused retrying support
This has not been used for many, many years, since we started using
mw.Api#postWithToken, which automatically retries on 'badtoken' errors.
Most of our code for it was removed (e.g. save() is never called
with three parameters), but some comments and parameters remained.

Change-Id: Ibca2a222f808e6e2796ed6a61e9587a646afcf31
2023-08-14 19:58:26 +02:00
Bartosz Dziewoński 46f661ac66 ArticleTarget: Remove duplicate error codes when logging
Occasionally we end up logging error codes like
"abusefilter-disallowed,abusefilter-disallowed,abusefilter-warning"
when someone hits a bunch of different filtes.

Change-Id: I967d374d13473ca684412b380d732653a3ceaff3
2023-08-14 19:58:26 +02:00
Ed Sanders 85d584930f Simplify definition of textStyle group in toolbar
This makes it easier for 3rd parties to insert extra tools
in sensible places.

Change-Id: I6c8d0c96f53655d8f9ae9f01e5d0e1a1678d29a1
Depends-On: Ib8882fa6319915d291b345a69ab95f362739ad7b
2023-07-31 11:06:18 +00:00
jenkins-bot 82f72cfeda Merge "Merge mobile and desktop save buttons" 2023-07-11 21:34:17 +00:00
jenkins-bot 7ae61934a3 Merge "Remove remains of lossy-switching and discard-switching" 2023-07-11 15:34:52 +00:00
jenkins-bot 5574237f47 Merge "Support '&editintro=…' etc. on subsequent loads via page tabs" 2023-07-11 15:33:30 +00:00
jenkins-bot c4fb50b59f Merge "Support '&editintro=…' etc. on back/forward and VE/NWE switch" 2023-07-11 15:33:26 +00:00
jenkins-bot 93427a6708 Merge "Reload page or redirect when saving an edit creates a temp account" 2023-07-11 15:16:56 +00:00
Bartosz Dziewoński 0dddd98b5f Reload page or redirect when saving an edit creates a temp account
Depends-On: I6cdc014fb39d35ce1f091b53dc3a9c4a3c95f9e9
Bug: T338002
Change-Id: I01e13ce1ebab462eeb0ba3847d4205a88965a127
2023-07-10 19:33:16 +02:00
Ed Sanders 4f90ce2594 Merge mobile and desktop save buttons
Use toolbar groups where appropriate.

Change-Id: If4e0d157f04ba741ed4cf891e4183fe351d537b8
2023-07-10 17:06:58 +01:00
jenkins-bot 76ed447217 Merge "Convert MWPopupTool into MWHelpListToolGroup" 2023-07-08 00:19:14 +00:00
jenkins-bot 329faab1e9 Merge "MobileArticleTarget teardown behavior is upstreamed to MobileFrontend" 2023-07-07 23:49:57 +00:00
Ed Sanders d7d344035c Add tag when content added, according to EditCheck heuristic
Bug: T333714
Change-Id: Id806e6d4d856aead4af98d43078c534d4d46c7f0
2023-07-03 14:43:14 +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
Bartosz Dziewoński bbda4fc160 Revert "Revert "Targets: Use align:'after' instead of actionGroups""
This reverts commit e2b5e2a1bb.
It should be safe to re-attempt this now.

Bug: T339317
Change-Id: Ia4ebb11ca162a4e6d985076ea2d2dd914d04fc1d
2023-06-29 18:17:01 +00:00
Ed Sanders d857750e12 Make better use of toolbar groups
Bug: T340751
Depends-On: Ie7ca24cbcd95baa082b3b1cb907354f6da21d93c
Change-Id: Ibcc81c90bc9ba6c5fd012c512daf861973b03b2e
2023-06-29 16:58:38 +00:00
David Lynch 14b32181ea MobileArticleTarget teardown behavior is upstreamed to MobileFrontend
Bug: T334263
Depends-On: If1ad6e88cf595ef3d3e54d41c00f0b79704be043
Change-Id: Idb95bfd2b71f5967396a1f36636b0a155dec2fb2
2023-06-29 09:54:03 -05:00
jenkins-bot 312b1c08ec Merge "Unwrap headings in lists (and <blockquote>) when pasting external HTML" 2023-06-27 18:18:16 +00: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
Bartosz Dziewoński 5a792b6558 ApiVisualEditorEdit: Allow not returning the new revision content
Sometimes we call this API and then reload the page (or navigate to
another URL), without using the page content it returns. Save some
work and some data transfer and don't generate it in those cases.

Change-Id: Ic5fac61f3ef9b2dfce6ff757f1d414a9f41f217d
2023-06-22 21:08:15 +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 ac8f8791f1 Don't show edit notices popup after switching VE/NWE
The user has already seen the notices, and getting hit with yet
another popup doesn't feel nice.

Bug: T169179
Change-Id: I421e42d32cb67ea210644b705e9c6e5af74e75ee
2023-06-22 13:42:25 +00:00
Bartosz Dziewoński eedafae69e Support '&editintro=…' etc. on subsequent loads via page tabs
Before this change DesktopArticleTarget's history management was not
working correctly because .currentUrl was not being updated on every
activation, and we worked around this problem by activating it in a
different way on subsequent loads in DesktopArticleTarget.init.

Fix the first bug by updating .currentUrl whenever we activate it,
and remove the guards around the normal way of activating it, which
fixes the parsing of 'editintro' parameter.

Bug: T56029
Change-Id: Ifd6af60cdf1d2c87536017b316ab8da1f5133400
2023-06-21 13:35:43 +00:00
Bartosz Dziewoński bcabb774ab Support '&editintro=…' etc. on back/forward and VE/NWE switch
The edit intro message is now shown again when closing/opening
the editor using the back/forward browser navigation,
and it is preserved when switching between VE and NWE.

Bug: T56029
Change-Id: I12083926341a6d3ba4c7a9f84736cddc7f2ac0fa
2023-06-21 15:35:06 +02:00
Bartosz Dziewoński 3008aaf325 ArticleTarget: Simplify switching to NWE with no changes
This code was identical to what happens if you just call
reloadSurface(), except for some half-hearted error handling.
We already do it this way when switching from NWE to VE.

Change-Id: I8027680b7ca272930b951d0403594679ef308083
2023-06-21 15:07:47 +02:00
jenkins-bot d5e4ead3c7 Merge "Revert "Targets: Use align:'after' instead of actionGroups"" 2023-06-15 20:30:32 +00:00
Bartosz Dziewoński e2b5e2a1bb Revert "Targets: Use align:'after' instead of actionGroups"
This reverts commit 45a60e3fb2.

Bug: T339292
Change-Id: Ifefdf36370ff0de87218f390e5e21d2800a81ebd
2023-06-15 20:06:21 +00:00
Ed Sanders b982512605 Unwrap headings in lists (and <blockquote>) when pasting external HTML
Bug: T339155
Change-Id: I8e82b3455c120edd11e993c4fa80a06e3f9bdeee
2023-06-15 16:22:15 +01:00
jenkins-bot 2d9e31e0e5 Merge "Don't try to prefix browser title if a custom message is incompatible" 2023-06-15 05:45:53 +00:00
jenkins-bot 4b6e819440 Merge "Set a JS config var to force VisualEditor to edit the current version" 2023-06-14 01:56:12 +00:00
Ed Sanders 43699fe94c Exclude after-aligned tools when creating target widgets
Bug: T338978
Change-Id: I86d2546926fa58c36d3679a2d6d31b5a89e6364f
2023-06-13 18:06:14 +00:00
Ed Sanders 45a60e3fb2 Targets: Use align:'after' instead of actionGroups
Change-Id: I2b2b0c86697e3afde7ea192ce6dc5996998dfa4b
2023-06-09 18:09:27 +01:00
Dringsim d27825caa1 Set a JS config var to force VisualEditor to edit the current version
Rename wgFlaggedRevsEditLatestRevision to wgEditLatestRevision (not use 'VisualEditor' - this config may be used by other editors)

Bug: T338312
Change-Id: I6c9c46774fe197ca7775b65f12e62bb3bcbe53b4
2023-06-09 12:45:37 +00:00
Bartosz Dziewoński 09fec16583 Don't try to prefix browser title if a custom message is incompatible
Some wikis customize the 'pagetitle' in ways that are not compatible
with the client-side message parser.

Depends-On: If1979da12777e4ee4e97937640fc5e6176f9b5fe
Bug: T317600
Change-Id: Ie7c1813552582e10de9e57cd8d772c2134146289
2023-06-01 01:08:31 +02:00
Bartosz Dziewoński 872679aeec DesktopArticleTarget.init: Support '&editintro=…' in edit links
Support gadgets adding '&editintro=…' to the default edit link.
It was already supported when opening the link in a new window, or
following an external link, or when clicking a section edit link.

Also, clean up these parameters when leaving the editor. This also
applies to 'preload', 'preloadparams', 'preloadtitle', 'summary'.

KNOWN BUG: Only works the first time the editor is loaded on the page.
Afterwards, DesktopArticleTarget.init lets DesktopArticleTarget handle
initialization, and it ignores extra parameters. I made a few attempts
at fixing this, but I only broke it further. I don't understand why
the history handling code even works. Maybe I'll come back to this.

Bug: T56029
Change-Id: I38fcde573f728250aaa125b391815e7fac7df362
2023-05-30 12:52:53 +00: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
Ed Sanders 688a08715a MobileArticleTarget: Removed unused class
This was used when we had a modal toolbar.

Change-Id: I0474270d496a136b5128b6d042284c352f80f363
2023-05-10 15:24:07 +01:00
Bartosz Dziewoński 51a8541255 Replace references to actionsToolbar
Target#actionsToolbar and Target#toolbar refer to the same object
since change dfaed62d3632d381db9682c603b3ddbeed182292 in VE/VE
(barring bugs like T335469). Once we no longer use the old name,
we'll be able to remove this backwards-compatibility alias.

Bug: T335469
Change-Id: I577e8ae6a857519eb0e8181543ca0a96b515e019
2023-04-27 15:51:35 +02:00
jenkins-bot 1f4bd72f18 Merge "Add narrowConfig for 'Insert' and 'Publish changes'" 2023-04-13 22:23:48 +00:00
Ed Sanders 9c61620fac Add narrowConfig for 'Insert' and 'Publish changes'
Bug: T92315
Change-Id: I4d35e7bc3d04312fc15632acae06cc43839bbf11
2023-04-12 23:05:08 +01:00
Ed Sanders 2df6c004a3 Drop some IE hacks
Change-Id: I97b0f1b8cb5e799d151177c43dc8a990cf6015bd
2023-04-12 16:32:59 +01:00
Ed Sanders 55eefc366b Remove convertToWikitextOnPaste flag
This was introduced as a temporary flag for
DiscussionTools, and was removed in I0514e8f8.

Change-Id: Ia8d82baf4b93cf7de53b58ba19fa31856f1bc011
2023-03-29 18:43:36 +01:00
David Lynch f11a7b4c16 Change name of the editcheck-needreference tag to editcheck-references
Bug: T324733
Change-Id: I435100fb05cb846cb1c0e3d5d5a72a1570ada1f4
2023-03-28 10:14:51 -05: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