Commit graph

2120 commits

Author SHA1 Message Date
Ed Sanders ec6cbeaf5e Only diff <section> contents in section editing mode
Bug: T221903
Change-Id: I5989d0c899d35ca8ac5af9cdecdfa5ea4f6c22e8
Depends-On: Ie8e2a88eddbeca5fbf47ab038964885f12718df7
2019-04-28 15:32:47 +00:00
Bartosz Dziewoński 75ff121b29 ve.init.mw.DesktopArticleTarget.init: Update for Minerva changes
I think mostly the incompatible changes were made in commit
I5a7d73b20617cb3c6d6379084ac4bea23ec3bc74, but I didn't try
to track them down.

Also fix an issue where hrefs in section edit links generated
by this code were wrong.

Bug: T208102
Change-Id: Ibf6564bc0dcb7fcb420739a897b54346a01add02
2019-04-26 20:52:52 +02:00
Ed Sanders 4fb17205b6 Allow switching from mobile visual to mobile source mode with data
Bug: T128422
Depends-On: I11b7195e9d63f9b279213201036c6338d71669f0
Change-Id: Ieaa2df17c1f73d681d935cd6103ef41c061e1a28
2019-04-25 22:37:53 +02:00
Ed Sanders 709530993b DesktopArticleTarget: Remove changing document opacity when switching to WTE
When this was introduced in 7b2cacbe57
(2013), the confimation dialog was a generic confirm() popup. Now that
it is a OOUI dialog, the dialog overlay serves the same function.

Change-Id: I9812ab55c7a8179524865d93a6d269e388d4c4ab
2019-04-25 21:08:42 +02:00
jenkins-bot 25b0475434 Merge "Remove block notice tracking" 2019-04-24 02:47:26 +00:00
Ed Sanders e91df06c32 Restore external paste sanitization of DOM elements
Was accidentally removed in I366a091ff4.

Bug: T221668
Change-Id: I6631f47b0afcbfb81ee72234f0b1cdabb24c1a85
2019-04-23 19:48:49 +01:00
Dayllan Maza 96de1353d3 Remove block notice tracking
This is a clean up after collecting the necessary data related to
blocks and how often users see the block notices

See: https://phabricator.wikimedia.org/T189724

Bug: T214214
Change-Id: I532a0cd95009109ba25caa8dd31badd5c1900da7
2019-04-23 11:31:37 -04:00
jenkins-bot 8401da1073 Merge "Move autosave logic up to mw.Target" 2019-04-18 22:36:47 +00:00
Ed Sanders 1123c1eadc Move autosave logic up to mw.Target
This would allow non-article targets to implement
autosave more easily.

Change-Id: Icc945575d0982cf82647c9078caf9a39bb715c2e
2019-04-18 15:21:33 -07:00
jenkins-bot 32985886e3 Merge "eslint: Enable valid-jsdoc" 2019-04-17 18:39:41 +00:00
Ed Sanders 0db4ae6e00 eslint: Enable valid-jsdoc
Change-Id: Ia0d1e57246a1c567d73022ceca9b8c02850f9bc8
2019-04-17 17:13:39 +01:00
Bartosz Dziewoński 80bfbfc54b ve.init.mw.DesktopArticleTarget: Validate 'veaction' parameter against available modes
If a page can't be edited in the requested mode (e.g. veaction=edit on
talk pages), the parameter will now do nothing (the editor won't
load), instead of trying to load the editor in another available mode.

Bug: T219457
Change-Id: I2cd78ea13ba13ff622f5e4b7db033f82dfa7875e
2019-04-16 20:19:37 +02:00
jenkins-bot cf294a0c6d Merge "init: Bundle wgVisualEditorUnsupportedEditParams with DesktopArticleTarget.init" 2019-04-16 14:58:43 +00:00
Timo Tijhof cc599c2e36 init: Bundle wgVisualEditorUnsupportedEditParams with DesktopArticleTarget.init
Bug: T219342
Change-Id: I4b5a048779bd4b957cc5d99c3a7686363ffb3df9
2019-04-16 16:33:53 +02:00
jenkins-bot c0dc4f6e7e Merge "ve.init.mw.ArticleTarget: Add sanity check against loading content in wrong mode" 2019-04-16 12:38:57 +00:00
jenkins-bot b180d6d8f1 Merge "Only depend on ArticleTarget for diff viewer" 2019-04-12 17:56:28 +00:00
jenkins-bot f9f8ce8919 Merge "Fix mobile done/tick button" 2019-04-12 16:12:50 +00:00
Ed Sanders ef310f41a4 Only depend on ArticleTarget for diff viewer
Change-Id: I1680c9d184edac7b55bab205ff5d9c945cabde3a
2019-04-12 15:14:09 +01:00
Ed Sanders 79cee8d820 Fix mobile done/tick button
Change-Id: I53eebfe9b94354521763743ab70e4d1a919286f8
2019-04-10 22:51:08 +01:00
Bartosz Dziewoński 0498c03191 ve.init.mw.ArticleTarget: Add sanity check against loading content in wrong mode
In case we get confused and try to load the wrong kind of content for
a given mode, it will now fail with an error message rather than e.g.
display a source editor full of HTML.

Bug: T219457
Change-Id: Ic23c2bbda2931da8ca015b4ea3673dbce4e2d994
2019-04-10 21:49:27 +02:00
Esanders 23b5dbead2 Merge "SurfaceView: Use new #isDeactivated method" 2019-04-10 11:27:53 +00:00
Ed Sanders 72df5f690f Update VE core submodule to master (f039957f3)
New changes:
f039957f3 [BREAKING CHANGE] Use keyed objects for importRules blacklists

Local changes: Use extendObject to set importRules

This allows us to inherit the ruleset from the parent
so we don't have to worry about keeping it up to date.
(For example alienTableCell from upstream was missing
in MW).

Media/Gallery dialogs: Add missing mwTable types.

Change-Id: I366a091ff4def66cc25200b3d1b2c23ba6b716f7
Depends-On: I8ff7e8242c8db235a0f9e11e2e52f90d62d368a0
2019-04-09 16:58:26 -07:00
jenkins-bot 1b2c1425ee Merge "Allow external link pasting to be enabled by config" 2019-04-09 16:05:26 +00:00
Ed Sanders 476d64957e SurfaceView: Use new #isDeactivated method
Change-Id: I5a53f331b6417b72b9f78f3f869579573ea05fef
Depends-On: I043a213fb4a06b02e160315fe3a846a1dd4d7cc1
2019-04-09 15:51:03 +00:00
jenkins-bot 2fc64107f4 Merge "Give mobile document a min height based on 100vh" 2019-04-09 11:59:04 +00:00
jenkins-bot 49969c92d2 Merge "Use nullSelectionOnBlur=false for ArticleTargets" 2019-04-09 11:34:31 +00:00
Ed Sanders d0a3237f1c Give mobile document a min height based on 100vh
Makes the whole page focusable.

Bug: T109508
Change-Id: I93e9269a89281d342551be5de43a2c60c848ef33
2019-04-08 13:32:31 +01:00
Ed Sanders 64b02f97ce Use nullSelectionOnBlur=false for ArticleTargets
Bug: T208826
Depends-On: I2c464ec2bbf799cbe1d9bfed1aad05c5a1bfb094
Change-Id: I5bcd6947c1c6e8f278d0cc9f9c95afb835d1b56b
2019-04-05 13:54:00 +00:00
Bartosz Dziewoński 17a0b407fc ve.init.mw.MobileArticleTarget: Remove code causing scrolling issues
This code is supposed to check if we have scrolled past the end of the
page, and if we did, scroll back up to a more reasonable position.

However, it seems to incorrectly trigger in other cases, and scroll
the page back to the top, because getBoundingClientRect() occasionally
still returns bogus values (even though we try to avoid that). This
happens inconsistently when focussing the surface or closing a dialog.

We can't correctly display the toolbar while scrolled past the end of
the page. Removing this code causes it to go into an endless animation
loop in that case. But that may be preferable…

Bug: T219200
Change-Id: I152f2b39351ffd3c9799eea33cce95e05d2f9ab9
2019-04-04 17:07:39 +00:00
jenkins-bot 0d4e843132 Merge "trackSubscriber: don't populate all fields, to make validation happy" 2019-04-03 13:18:19 +00:00
Bartosz Dziewoński ac3d5e7925 ve.init.mw.MobileArticleTarget: Fix placeholder being hidden by the toolbar
Follow-up to 500462f4b2.

Bug: T219066
Change-Id: Ie0c35339c440bf85545e51fb5398d0936757432a
2019-04-01 22:48:36 +00:00
David Lynch 415cc0d022 trackSubscriber: don't populate all fields, to make validation happy
The EditAttemptStep schema doesn't have some of the fields we attempt to
submit, because we're generalizing and it only wants specific ones. Be more
selective about what we submit, so validation messages in the console will be
quiet.

Bug: T218163
Change-Id: Iaf9f47b61c138bb0106b2dfc4be2caec02a10d1d
2019-04-01 11:56:15 -05:00
Bartosz Dziewoński f46045b69e ve.init.mw.MobileArticleTarget: Save/restore scroll position on surface (de)activation
Bug: T218650
Depends-On: Ib943ca806b6eaaf1d7b650c8ebb24cc30d9fe700
Change-Id: I18047eaa1068b8d06cd708da9e3853abe6d252bb
2019-03-29 21:21:45 +00:00
jenkins-bot 0c4ee8528f Merge "ve.init.mw.MobileArticleTarget: Set 'padding-top' on the correct node when section-editing" 2019-03-28 20:54:59 +00:00
Bartosz Dziewoński ff88be0d35 ve.init.mw.MobileArticleTarget: Set 'padding-top' on the correct node when section-editing
Follow-up to 500462f4b2.

Bug: T219066
Change-Id: I7344fa8f4ad672e4be7a3b98c5b9a1b1c65131dc
2019-03-28 20:42:30 +00:00
jenkins-bot a2a42890dd Merge "Fix cursor on #firstHeading" 2019-03-28 20:18:36 +00:00
Ed Sanders 03240609d5 Fix cursor on #firstHeading
Bug: T214790
Change-Id: I68e3837cf71317a18a885d1dc16ad10523c464a3
2019-03-28 21:02:03 +01:00
Ed Sanders 592c84a529 Emit 'position' event on surface view after changing doc padding
Bug: T219508
Change-Id: I7ffb47e4ba031096879a88355f5fa3048a4ab09f
2019-03-28 14:40:44 +00:00
Bartosz Dziewoński 500462f4b2 ve.init.mw.MobileArticleTarget: Improve iOS Safari by moving 'padding-top' for toolbar
We need to set 'padding-top' matching the height of the toolbar
somewhere, so that the toolbar doesn't cover the top of the editing
surface. Apparently moving it from the current place (the top-level
wrapper for the MF overlay) to the document node (the node with the
'contenteditable' attribute) allows Safari to properly scroll the
cursor into view when focussing, rather than scrolling it offscreen.

Bug: T219066
Change-Id: Iee1e03bce24c2f149a0aa0f393a37b9db43eaca6
2019-03-27 22:06:14 +01:00
David Lynch 5496d18953 MobileArticleTarget: When saving a section don't trust current page markup
The edit might have changed the section title, which will change the
section-hash, which will make the redirect break. The only way to avoid this
is to use the HTML provided to saveComplete to check for the new hash.

Bug: T213120
Change-Id: I5adfdb44a8304ed4f30def74400e4512e9e8c0ae
2019-03-27 16:58:58 +00:00
jenkins-bot 455c95df32 Merge "ve.init.mw.MobileArticleTarget: Bring the toolbar back into view after it scrolls out" 2019-03-23 12:10:29 +00:00
jenkins-bot c02b357b39 Merge "ve.init.mw.MobileArticleTarget: Remove unused method" 2019-03-23 04:37:46 +00:00
jenkins-bot 40fb9ce0fb Merge "ve.init.mw.MobileArticleTarget: Restore missing methods" 2019-03-23 04:37:02 +00:00
Bartosz Dziewoński 9dc3632982 ve.init.mw.MobileArticleTarget: Restore missing methods
It appears that I did a Ctrl+X in one file, but forgot to Ctrl+V in
the other. And no one noticed that 100 lines of code went missing.

Follow-up to 73561f7aba.

Bug: T218946
Bug: T219041
Bug: T219043
Change-Id: Ib1fd85d121083239397698ff1a30a7908deca25f
2019-03-23 04:49:53 +01:00
jenkins-bot 5e0c2c0bdd Merge "Introduce a 'mobile-ab' config option for section editing" 2019-03-23 02:59:23 +00:00
Bartosz Dziewoński e9ef3a6f78 ve.init.mw.MobileArticleTarget: Remove unused method
ve.init.Target#isToolbarOverSurface has been removed in VE/VE in 2016:
8b1208cb976278bd44025e6d2c86a3ea6ed8c177. Nothing calls this method.

Change-Id: I9640978b45e568412db4b1c5aa80631a68d847b2
2019-03-23 03:52:01 +01:00
Bartosz Dziewoński f2fc7b8e73 ve.init.mw.MobileArticleTarget: Bring the toolbar back into view after it scrolls out
On iOS Safari, when the keyboard is open, the editor toolbar could
previously be scrolled out of view, due to how the keyboard affects
the viewport (or rather how it doesn't).

Detect when this happens and bring it back in, with a similar slide-in
animation as when the editor loads. Technical restrictions prevent us
from really keeping it in view at all times, and I think this is the
best we can do (and it looks almost intentional).

Bug: T218414
Change-Id: I5eed360d4644815bc9829fbc6b0ffd79b205d10b
2019-03-23 00:59:50 +01:00
Bartosz Dziewoński 73561f7aba ve.init.mw.MobileArticleTarget: Merge in downstream code from MobileFrontend
It will be easier for us to maintain this way. The code I'm moving had
a lot of comments saying that it should be moved here.

See MobileFrontend change Ibe192360bdecab86519de1781f66f90a3441c551.

Bug: T218946
Change-Id: I908e035ec245a9b190f05e64c35dbb29936434de
2019-03-22 18:30:05 +00:00
Bartosz Dziewoński 5806329748 MobileArticleTarget: Remove padding below the surface on iOS
It was here because our old hacks prevented the viewport from being
scrolled, so the keyboard would always cover the last few lines of
the surface. But it is no longer necessary after we ditched the iOS
scrolling hacks in MobileFrontend.

Bug: T217769
Change-Id: Iaf3f86c0fc43f75d11a43462721f44d62abc6eb3
2019-03-21 18:33:02 +00:00
Bartosz Dziewoński a89896a500 MobileArticleTarget: Remove broken iOS override for #scrollToHeading
This is no longer necessary and doesn't work after we ditched the iOS
scrolling hacks in MobileFrontend. And the default implementation works!

Bug: T218429
Change-Id: I5fba78a3877901dac5afda46d3004c07cad383d0
2019-03-21 18:32:54 +00:00