Commit graph

107 commits

Author SHA1 Message Date
Bartosz Dziewoński be0b140965 Add option to unify display of VE enable preference
Setting `$wgVisualEditorUnifiedPreference = true` makes the VE enable
preference appear consistently on the preferences page, while still
being backed internally by the old 'visualeditor-enable' and
'visualeditor-betatempdisable' preferences.

(It effectively overrides `$wgVisualEditorEnableBetaFeature`, which
needs to remain unchanged to use the values from the right preference.)

Bug: T335056
Change-Id: Iad710a769c7176c4673c475d540dff2b7782e159
2023-06-29 01:33:51 +02:00
Bartosz Dziewoński e1cdab7931 Fix conditions for 'visualeditor-autodisable' that depended on WMF config
Previously, this code relied on 'visualeditor-enable' being set to '1'
when VE was opt-out (so not using that preference). That default does
not make sense for a beta feature (which uses that preference), so WMF
config was overriding it to 0 when the beta feature mode was wanted.

Instead of making assumptions about the default values of preferences
that depend on whether beta feature mode is enabled, just check the
beta feature config.

I also added and updated comments documenting this preference.
Previously I never really understood what it was for, and I think
I figured it out now.

Bug: T340696
Change-Id: I45eef42939149ff5be63bf299c48ef70ee535e76
2023-06-29 01:25:59 +02:00
hmonroy 4a028f1336 React to hooks that are fired when inline switch is present
React to hooks fired by core when the inline diff type switch is
present. VE needs to be able to disable the inline switch
when 'visual' mode is selected and enable the switch when 'wikitext'
mode is selected. When the 'wikitext' mode is selected and there is an
inline switch, the interface needs to show the diff type format previously
selected.

Toggle using new `mw-diff-element-hidden` class that is used by core so
that there's no clashes when hidding and showing the diffs.

Bug: T331589
Depends-On: Ie6a48e495f2bb299d8b984e7c40363d534c7915b
Change-Id: I4f790370dbfeb521f3b61c4d604245f77094abe9
2023-06-26 04:20: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
jenkins-bot f1ce07c29d Merge "Move the diff-mode selector to the new TextSlotDiffRendererTablePrefix hook" 2023-06-06 18:26:57 +00:00
Sam Wilson 137124a837 Move the diff-mode selector to the new TextSlotDiffRendererTablePrefix hook
Use the new hook to add the diff-mode selector to the area directly before
the diff table.

Also toggles the new inline-diff legend, when the initial diff-type is 'inline'.

Depends-On: I2a3c67bcfa47313dee597e602a62073e4e298cd2
Bug: T324759
Change-Id: I1584a84b3caea9eb142afba976c6ff47650c3832
2023-05-31 15:45:22 +10:00
Ed Sanders fe14ffb76b Output config var when VE disabled by hook
Currently we only disable the desktop init code when this hook
returns false, but other integrations may want to know about this,
e.g. MobileFrontend.

Bug: T174180
Change-Id: I0268239cc9ea2d397140e617fcb6e4e104a75f31
2023-05-26 18:42:19 +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
jenkins-bot 1c5dbf6f79 Merge "Revert "onDifferenceEngineBeforeDiffTable: Return early on Special pages"" 2023-05-18 17:20:49 +00:00
HMonroy d88cd64e52 Revert "onDifferenceEngineBeforeDiffTable: Return early on Special pages"
This reverts commit f693822f64.

Reason for revert: Reworking

Depends-On: Idc96036564291a3887935dbff4ec476f4ad07068
Change-Id: Iee3f41c1b096b82ee61ecca9ddc5fcd044f1237c
2023-05-18 16:45:15 +00:00
HMonroy ba687994d3 Revert "onDifferenceEngineBeforeDiffTable: Update comment"
This reverts commit d7262d8483.

Reason for revert: Reworking

Change-Id: Idc96036564291a3887935dbff4ec476f4ad07068
2023-05-18 16:45:11 +00:00
Samtar 09bb8f9168
Revert "Move the diff-mode selector to the new DifferenceEngineBeforeDiffTable hook"
This reverts commit 7dbe385773.

Reason for revert: Reworking

Change-Id: I60784afa0d47e22acd9e8a981092784c84b250eb
2023-05-18 15:36:38 +01:00
TheresNoTime d7262d8483 onDifferenceEngineBeforeDiffTable: Update comment
Bug: T336582
Follows-up: I251db11e8cb5b785744ee2c111d20a346937b78c
Change-Id: Ic1a6a3d1fe50aab163ce0fb17ae7379bff172adb
2023-05-16 17:38:05 +00:00
TheresNoTime f693822f64
onDifferenceEngineBeforeDiffTable: Return early on Special pages
Add a check of `$diff->getTitle()->getNamespace()` to ensure early
return on NS_SPECIAL pages.

Bug: T336582
Change-Id: I251db11e8cb5b785744ee2c111d20a346937b78c
2023-05-16 12:39:19 +01:00
Sam Wilson 00abad4861 Don't show the diff-mode selector if not viewing a diff
The DifferenceEngineBeforeDiffTable hook is run when viewing a
diff after switching from visual to source editing, but the
mode selection widget shouldn't be shown then.

Bug: T324759
Change-Id: Ieb8a1b77928201a45635af46635b902cac01a36d
2023-05-10 18:53:37 +00:00
Bartosz Dziewoński ec425a06af Fix one more place where we tried to set preferences for temp users
Follow-up to 3b1a2d9dce.

Bug: T332415
Bug: T332435
Change-Id: I1139f1f3421fe43dfd5e3125b18d40421930a0f1
2023-05-10 04:20:03 +02:00
gerritbot a6c5082fa3 Update moved class EditPage
See T321882. Moved in Ibefc44eb64aed

Bug: T321681
Change-Id: I5faaf6c59e96154eba0a4b199e47ecef49a89c72
2023-05-06 21:21:44 +00:00
jenkins-bot 3f43c00c2b Merge "Remove unused preferences code for "alpha" visual editor opt-in" 2023-05-05 16:39:13 +00:00
jenkins-bot 7c0259a3c3 Merge "Handle temporary users when dealing with user preferences" 2023-05-05 15:55:49 +00:00
Bartosz Dziewoński edec1ab393 Remove unused preferences code for "alpha" visual editor opt-in
Change-Id: I60601874f9442992c4f844304a842cf640f5b618
2023-05-05 16:22:46 +02:00
Bartosz Dziewoński 83d3d1f3ba Rephrase visual editor disable preference label
Visual editor is not in beta, and this preference is not temporary.

Change the message key to avoid outdated on-wiki overrides.

Unfortunately the internal preference name still has "betatempdisable"
in it. We should investigate renaming it later.

Bug: T197282
Change-Id: If1475a18474e85cd3a260224c738d087d472af70
2023-05-05 16:15:43 +02:00
jenkins-bot 86568aff16 Merge "Move the diff-mode selector to the new DifferenceEngineBeforeDiffTable hook" 2023-04-28 17:23:09 +00:00
Bartosz Dziewoński 3b1a2d9dce Handle temporary users when dealing with user preferences
As temporary users will not have access to user preferences (T330815),
use cookies or localStorage to save them, like we already do for
logged-out users.

Also add some comments to point out where we intentionally distinguish
logged-out and temp users.

Bug: T332435
Change-Id: Ic83dd8bc8bc107f603a9b0340bd9e2bcaad8ff5a
2023-04-28 15:57:46 +02:00
Ed Sanders 51759c3f7e Remove DiffPageEnable config option
Visual diffs are always enabled on history pages, there is no
long a need for this to be configurable.

Change-Id: I9cef558b2b9d32bc86c47f6a6095270220d036db
2023-04-26 17:05:57 +01:00
jenkins-bot 5c89247be9 Merge "Use new showPendingTakeover OutputPage method" 2023-04-21 13:11:54 +00:00
Sam Wilson 7dbe385773 Move the diff-mode selector to the new DifferenceEngineBeforeDiffTable hook
Use the new hook to add the diff-mode selector to the area directly before
the diff table.

Also toggles the new inline-diff legend, when the initial diff-type is 'inline'.

Depends-On: I6de30bf79eb5ac262285951792782b870d075e00
Bug: T324759
Change-Id: Ifc133856dd793693c3a2722a7b1319dfe74555a2
2023-04-21 16:03:16 +08:00
Bartosz Dziewoński adc0bcdfcd Remove the BetaFeatures integration for historical visual diffs
Bug: T333448
Change-Id: If4f732851a42802b612cef618196c9854e2cf9da
2023-04-18 22:34:05 +02:00
David Lynch 7fb5663188 Don't hook CustomEditor for MobileFrontend requests
Bug: T334263
Change-Id: I7ccf1ba7e8f227c236a6244bfa91a2b8a9fd5765
2023-04-10 22:17:16 +00:00
David Lynch 99336933b3 Use new showPendingTakeover OutputPage method
Depends-On: I8f25f53a05ce0437b0e9f63033cc151213c797bf
Change-Id: Ib9a09514ed3da614ff8a654ae5b84a3a5b2ce886
2023-04-06 17:20:30 -05: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
Ed Sanders 55ded73e9d Remove visualeditor-enable-experimental and ext.visualEditor.experimental
These haven't been used for a while, and we usually enable experimental
features via BetaFeatures these days.

Change-Id: Iec3a7da3cc962d8ac9416b508780fcdc3ca58d3e
2023-03-08 15:05:10 +00:00
Ed Sanders 143291b9d0 Doc comment: Replace nbsp with normal space
Change-Id: I5f44f2c3fc80ad6e29eaa8a5aaab2df53614e6f4
2023-01-30 11:09:37 +00:00
Bartosz Dziewoński b368d741a1 Don't index VE edit pages
Bug: T319124
Change-Id: Ia738698e93252f884b9045aab5840465d3f0d3d3
2022-12-01 22:26:45 +01: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 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
daniel 07afdba500 Don't try to contact RESTbase directly when in PHP direct mode.
If VE is configured to call parsoid directly in PHP, the client
should not try to fetch HTML from restbase. Doing so will
lead to inconsistencies, and may cause edits to fail.

Bug: T320704
Bug: T320703
Change-Id: I98bfdd305dcd188d91db6a8fe5885156cdeca7db
2022-10-13 11:22:52 +00:00
Daimona Eaytoy 16ae2da19a build: Update mediawiki/mediawiki-phan-config to 0.12.0
Change-Id: Ib527ec60ac7894d28e330b7080f0e3b0a2b3ddfc
2022-10-08 02:45:31 +02:00
jenkins-bot ce37169a51 Merge "Don't send missing $wgVisualEditorTabMessages to the browser" 2022-08-26 18:57:07 +00:00
Bartosz Dziewoński 84433157aa Migrate usage of Database::select to SelectQueryBuilder
We can simplify the code in Hooks.php to use revision.rev_actor
unconditionally, reverting 391c30da67
(the migration is done: T275246).

Bug: T312472
Change-Id: Iaab268409ec4ad0a8d3a835057321aa3c01a2cc7
2022-08-12 22:35:30 +00:00
jenkins-bot ebef91b210 Merge "Update code for setting user preferences" 2022-08-10 16:44:42 +00:00
Thiemo Kreuz f09f704364 Don't send missing $wgVisualEditorTabMessages to the browser
This is send as an associative array. Instead of adding elements that
are null we can just not add them.

Bug: T291729
Change-Id: I28d847941eec865cb255779534eca14ec88f588f
2022-07-27 09:13:48 +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
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
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
Bartosz Dziewoński a2611086d0 Update code for setting user preferences
Bug: T310809
Change-Id: I0a2d58517a94f5fd52cd83cc42d440d69c2e97a7
2022-06-21 19:44:50 +02:00
Thiemo Kreuz cf9fea9688 Force "new template dialog sidebar" feature flag to be true
I suggest this as the first, most minimal step. This allows us to
slowly remove all the code that uses this flag without breaking
anything on wikis where the feature flag is not enabled. In other
words: this patch turns all code that expects this flag to be false
into dead code. We can then slowly remove said dead code.

Bug: T289049
Change-Id: I523978f7ca72dfc1cc7b64741e2f4f20ed3adfb7
2022-06-16 18:09:26 +02:00
Adam Wight 1b4c81c27d Remove $wgVisualEditorTransclusionDialogInlineDescriptions feature flag
The feature is always enabled now.

Bug: T307188
Change-Id: Id8b39d44901dee9118837fc4670d7faa4ef19b43
2022-06-15 12:09:47 +02:00
Adam Wight e1ea921f76 Remove $wgVisualEditorTemplateSearchImprovements feature flag
The feature is always enabled now.

Bug: T307188
Change-Id: I34a3db44355d93413f611b99cd80b876d8737413
2022-06-14 10:48:19 +02:00
jenkins-bot fcf849ddb0 Merge "Remove $wgVisualEditorTransclusionDialogBackButton feature flag" 2022-06-13 08:12:40 +00:00
Adam Wight 2e2e40e76e Remove $wgVisualEditorTransclusionDialogBackButton feature flag
Feature is always enabled now.

Bug: T307188
Change-Id: I70305ec3d2ed9cfb767ee9ea90e8ed6c93cfbdbb
2022-06-10 17:33:56 +02:00
Adam Wight 23f0bdf822 Remove $wgVisualEditorTransclusionDialogSuggestedValues feature flag
Feature is always enabled now.

Bug: T307188
Change-Id: I6f8288d31fecc6827a7a9e5e9705239e15c86ae2
2022-06-10 16:40:06 +02:00
Reedy 9ee13d8471 Remove global class aliases
Change-Id: Id9b021f47d2ec181e5267e454a39ed3cafdec9d2
2022-06-06 17:23:23 +00:00
Tim Starling b9b6695c5a Use new ResourceLoader namespace
Extensions using Phan need to be updated simultaneously with core due
to T308443.

Bug: T308718
Depends-On: Id08a220e1d6085e2b33f3f6c9d0e3935a4204659
Change-Id: I9a20c25b9cea26e1fbe0f0434a0800632e9e0fc7
2022-05-24 22:59:39 +00:00
Mark A. Hershberger 3022b0e4e6 Hooks::onRecentChangeSave: Don't pass null to explode(), avoiding PHP 8.1 deprecation
Change-Id: Iaf2ad6b37c86e1555aaffe6dd08d9e511b319256
2022-05-02 12:11:19 +00:00
Reedy 239fbb64e4 Namespace rest of the extension
Change-Id: I4f3e2793099d81401035ea282f268a3afaa03067
2022-03-14 22:27:15 +00:00
Renamed from includes/VisualEditorHooks.php (Browse further)