Commit graph

9809 commits

Author SHA1 Message Date
Mahmoud Al-Qudsi f83c5819bf Fix exception editing cross-wiki redirects
As described in T326169, when editing a (manually created) cross-wiki redirect,
VisualEditor will throw a null dereference exception causing it to fail to load
in the browser (looking like it is just taking forever to load).

This patch prevents the exception from occurring by not attempting to write to
the null object.

Bug: T326169
Change-Id: I50fa803c7b4ce65dac1fe345431d8b8f9d0b3d61
(cherry picked from commit a9278f654b)
2024-08-29 23:04:31 +00:00
David Lynch 90f8f6cb48 MWTocWidget should fetch the metaList from the correct location
Follow-up to 7954f5897c

Bug: T355944
Change-Id: I5070c7e958af918ffd5d5467219026ad114ca4a1
(cherry picked from commit d5cd77b254)
2024-03-02 03:11:35 +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
jenkins-bot 8c21352cd5 Merge "Fix wikitext mixed toggling" 2023-10-03 21:31:20 +00:00
hmonroy 3e223bdf52 Fix wikitext mixed toggling
Allow Core to handle the toggling for Wikitext when the inline switch is
present to avoid duplicated functionality.

Bug: T345836
Bug: T346213
Bug: T346299
Depends-On: Ib88836f13cdb5cd2344e3ba12f6c942baa0fc1f1
Change-Id: I3bb9fcabe17a20c9934274766e3335f63d51aac4
2023-10-03 16:15:37 +00:00
jenkins-bot de9b3936b8 Merge "Update comment w/ rename of Article::getRedirectHeaderHtml()" 2023-09-26 19:35:23 +00:00
thiemowmde c581f0e3bc Favor jQuery's .toggleClass() to reduce code duplication
Change-Id: Ic616ffbfac410849413e8fad6dde260514884efb
2023-09-25 18:59:10 +00:00
C. Scott Ananian 43e4a3363b Update comment w/ rename of Article::getRedirectHeaderHtml()
Change-Id: I20f29af6856129bd952bbb003ae967376a203984
Depends-On: I4d0de0e72473ae039dca420a2733bc746d8c2951
2023-09-15 15:14:19 -04:00
Bartosz Dziewoński 0cfaaa5ff4 Don't offer visual diffs for non-wikitext pages
Bug: T346252
Change-Id: I1be1690b0414bb643f137f74c421ba1034563c7b
2023-09-14 14:22:32 +02:00
jenkins-bot a2d601b4ab Merge "Add mw-no-invert class to thumbnails" 2023-09-11 17:19:17 +00:00
jenkins-bot f722ed83f8 Merge "Remove use of wgFlaggedRevsEditLatestRevision" 2023-09-11 13:15:50 +00:00
jenkins-bot e45da5269a Merge "Update edit check decline reasons and record tags for them" 2023-09-08 15:17:08 +00:00
jenkins-bot 1a4ee92b86 Merge "Track when edit notices are shown" 2023-09-08 15:05:28 +00:00
David Lynch 8c47e0ecb0 Update edit check decline reasons and record tags for them
Bug: T329593
Change-Id: Ib8f465c31a6c601545d55bd58a6c1fa78139757a
2023-09-08 15:49:09 +01:00
Bartosz Dziewoński 1fcd67b368 Remove use of wgFlaggedRevsEditLatestRevision
Renamed to wgEditLatestRevision in FlaggedRevs.

Change-Id: I9310aaacc475b40cd886b2be2d5dc25c0f152db2
2023-09-06 19:21:12 +02:00
Ed Sanders 7c403b2c98 Edit check: Turn on when ecenable=1 is set
Bug: T345297
Change-Id: Ie41258dbf87ef9ae00cdf830bf8cb84ed848d0a7
2023-09-05 14:34:20 +01:00
Ed Sanders 1053204077 Add mw-no-invert class to thumbnails
Bug: T345281
Change-Id: I49d9b65fefd4fae15715d2a10db83b90c7021027
2023-08-30 19:02:52 +01:00
jenkins-bot 54cae18fb8 Merge "Update messages when becoming logged-in/logged-out for IP masking" 2023-08-30 13:37:00 +00:00
jenkins-bot 69c37c9863 Merge "Fix showing temp user popup after page reload" 2023-08-30 13:32:37 +00:00
jenkins-bot 4e9baea69a Merge "Acquire a temporary user username before previewing" 2023-08-30 13:20:46 +00:00
David Lynch 481dd52067 Track when edit notices are shown
VisualEditorFeatureUse as feature: notices, action: show.

This doesn't distinguish between the automatic on-load show and manually
showing them from the toolbar.

Bug: T344465
Change-Id: I5a0d7e87592c286afe51e02ae8436f7d2ce71021
2023-08-24 14:03:42 -05:00
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
jenkins-bot 1c93f24a40 Merge "Implement add a reference edit check" 2023-08-24 03:30:48 +00:00
Bartosz Dziewoński 59a665c424 Acquire a temporary user username before previewing
Abortable promises are definitely among my least favorite things.
It takes all of this bookkeeping to make .abort() work consistently
(so that it always aborts a request if one is in flight, and always
causes the final promise to be rejected even if we didn't start a
request yet or it has already finished). But, if you squint and ignore
every line with the word "abort", it's like a normal promise chain.

Depends-On: Iec8a15dadd595bed0f7e54f907fbb8e192b45cf3
Bug: T331397
Change-Id: I67309c79e6d211d69630fe89cbf5402f8fbd350c
2023-08-22 23:40:55 +02:00
Ed Sanders 2b4dab6703 build: Update stylelint-config-wikimedia
Change-Id: I4e56a07c0cd478fb2ea1908c79f584ea3e4d788e
2023-08-21 16:06:40 +01:00
jenkins-bot 9e42850609 Merge "Remove extra margins from visual diff in Minerva" 2023-08-16 16:22:27 +00:00
Ed Sanders 3ece481e71 Implement add a reference edit check
Change-Id: I4cebc5bbaa34300d1c5bb5fde8277269b14779c9
2023-08-16 17:19:28 +01:00
jenkins-bot 79d0fcb585 Merge "Add a Process to the save workflow" 2023-08-16 15:32:54 +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
jenkins-bot 9070d1e98b Merge "Catch errors in addPlugin callbacks so VE load isn't broken" 2023-08-16 14:29:12 +00:00
David Lynch 745d13ae4b Catch errors in addPlugin callbacks so VE load isn't broken
Change-Id: I8a1eb058f10e356b3af5588862633b78f0b0ff92
2023-08-15 13:49:16 -05:00
Bartosz Dziewoński 9dd85ee26f Update messages when becoming logged-in/logged-out for IP masking
See T343848 for discussion about the phrasing.

Bug: T343848
Change-Id: I15628492fd2ff7ba93f91d3eeefa4b65ca313ca5
2023-08-14 23:37:04 +02:00
Ed Sanders 241d3da05d Remove extra margins from visual diff in Minerva
Bug: T344181
Change-Id: I5a2a9413ee5125ca7dc416ce3e8b75060dc96b83
2023-08-14 19:13:50 +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
jenkins-bot 4b1503e3cd Merge "Convert WikitextPasteContextItem to PersistentContextItem" 2023-08-14 05:08:05 +00:00
jenkins-bot 704e7ab295 Merge "Port Parsoid's WTUtils::textContentFromCaption" 2023-08-11 22:02:10 +00:00
jenkins-bot 023fe1af0a Merge "Use passive event listeners for window scroll events" 2023-08-11 21:30:14 +00:00
Ed Sanders 916b7beb22 Convert WikitextPasteContextItem to PersistentContextItem
Depends-On: Id2900c2d2c692b611e611b7eee6cacb74a737a8c
Change-Id: Ic539a41e8623c4ed12e4fa0e24db826ca967ee5a
2023-08-11 12:54:38 +01:00
Arlo Breault 674095bbaf Port Parsoid's WTUtils::textContentFromCaption
Matches the changes in Ice62d61d1a4f661770869b43d54eb8fc20824b71

Bug: T339237
Change-Id: I16301750ae8693e850aa3ce83bbb477f820d5cae
2023-08-10 18:06:27 -04:00
Ed Sanders a54f36c886 Use passive event listeners for window scroll events
TODO comments suggested using the VE helper util, but
that is no longer necessary since all our browsers
support passive events.

Change-Id: Idb7e702d58931208d555a3f994cd0b73abec2e20
2023-08-09 16:42:23 +01:00
jenkins-bot 8be133fe66 Merge "Reduce code duplication in ve.ui.MWGalleryDialog" 2023-08-08 18:55:30 +00:00
jenkins-bot e2efe5079a Merge "Use different tooltips for ca-edit and ca-ve-edit links" 2023-08-03 15:53:21 +00:00
Dringsim cce52fae65 Use different tooltips for ca-edit and ca-ve-edit links
Bug: T337653
Bug: T341424
Change-Id: I3aa79fec71ca2c40a0ece3ca73dd934cf6c9d5a8
2023-08-02 16:36:54 +00: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 16623ac116 Merge "Simplify code for showing "Loading" message in template context" 2023-07-31 10:16:40 +00:00
jenkins-bot 7970346855 Merge "build: Upgrade stylelint-config-wikimedia from 0.15.0 to 0.16.0" 2023-07-26 12:54:43 +00:00
jenkins-bot b9f0764711 Merge "Prevent JS code from changing 'skin-view-edit-local' message to 'skin-view-edit'" 2023-07-17 23:54:53 +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