Commit graph

11983 commits

Author SHA1 Message Date
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
Bartosz Dziewoński bba27be62e ve.ui.MWSaveDialog: Fix border radius styles after changes in OOUI
The OOUI selector has changed and we need to update ours, as we're losing the specificity fight.

Change-Id: I294c1c5480a335431542e10bcff234499001090d
2019-04-16 17:35:56 +02:00
Bartosz Dziewoński 0e0bc12177 ve.ui.MWMagicLinkNodeInspector: Select annotation after converting
Currently, the selection is not updated, so we end up keeping the
first two characters selected. Same code as ve.ui.MWLinkNodeInspector,
see cb72eea2041bb35e02eb756be3f2c7e8e6c3b43c.

Change-Id: I2204643c41025ad69fa9e232edfc5a896f1b8bdf
2019-04-16 17:10:42 +02:00
Ed Sanders d14d443aff Use new CE Surface selectAnnotation method
Change-Id: Ic26c46d3cdabc7b9949527d04eada5203cf6f7d3
Depends-On: I23f3586e340899801c99b3015e51dd0965a8ef0b
2019-04-16 17:09:01 +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
jenkins-bot 3a0848f0d6 Merge "ve.ui.MWSaveDialog: Work around review panel disappearing on iOS Safari" 2019-04-12 14:27:09 +00:00
Ed Sanders ef310f41a4 Only depend on ArticleTarget for diff viewer
Change-Id: I1680c9d184edac7b55bab205ff5d9c945cabde3a
2019-04-12 15:14:09 +01:00
jenkins-bot 53db6727b3 Merge "Rename 'citefromid' to 'citoid'" 2019-04-11 11:01:00 +00:00
Ed Sanders 79cee8d820 Fix mobile done/tick button
Change-Id: I53eebfe9b94354521763743ab70e4d1a919286f8
2019-04-10 22:51:08 +01:00
Bartosz Dziewoński b7f7cf3734 ve.ui.MWSaveDialog: Work around review panel disappearing on iOS Safari
No idea what causes it, but I've seen a similar issue when working on
Ic35f084d019afd1782292c831765ceb1444fb14a (in OOUI) and this hack
worked there too.

Bug: T219680
Change-Id: Ifb49ede450cabdcd8303b298b62f2ac632809b53
2019-04-10 22:56:08 +02: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 afdd97c58f Merge "EditSummaryWidget: Disable pending animation" 2019-04-09 20:13:07 +00:00
jenkins-bot c5fb5b4562 Merge "EditSummaryWidget: Don't show suggestions on focus" 2019-04-09 20:11:19 +00:00
Ed Sanders ed0105b5a1 EditSummaryWidget: Disable pending animation
Animation shows breifly on every keystroke, even though
only one server request is made, as the promises always yield
to a browser animation frame.

A pending animation isn't really required for autocomplete
as the results are only optional suggestions.

Change-Id: Ifa257592b10d84dccfa3e0c819c1edf1f7ef9cfa
2019-04-09 19:54:39 +00:00
jenkins-bot 2ab08d7275 Merge "InternalLink: Add special case for fragment with no title" 2019-04-09 18:11:34 +00: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
Ed Sanders dbd692b5ed InternalLink: Add special case for fragment with no title
Bug: T218581
Change-Id: I11e2de90e582d184a3f8cdd65dfc0858571aa397
2019-04-09 14:43:24 +01: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
jenkins-bot 6eb12b285e Merge "ve.init.mw.MobileArticleTarget: Remove code causing scrolling issues" 2019-04-08 18:37:17 +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
Ed Sanders e2dfdf0ef7 EditSummaryWidget: Don't show suggestions on focus
Bug: T220176
Change-Id: Iffad075929d8835eb4f8677b33c3edd30a27b3f8
2019-04-05 14:04:29 +01:00
jenkins-bot 96dfb99016 Merge "Edit summary autocomplete" 2019-04-04 17:44:36 +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
Bartosz Dziewoński 362df66b47 Remove support for page title "hrefPrefix" other than './'
Parsoid does not use relative links anywhere anymore (T72743). There
is no reason for us to support this. And previous code allowed
"hrefPrefix" to be empty '' sometimes, which is scary, as it could
lead to XSS vulnerabilities if titles starting with 'JavaScript:' are
not handled correctly elsewhere.

Bug: T206357
Depends-On: I8728f63084902c76d1c61193be4367939b069f1a
Change-Id: I99be18877aae2b505cf261bd7cdef6cf0d7a8670
2019-04-03 20:10:05 +00:00
jenkins-bot 42eb7e0cf4 Merge "Suppress slugs between floated images" 2019-04-03 15:59:09 +00:00
jenkins-bot 0d4e843132 Merge "trackSubscriber: don't populate all fields, to make validation happy" 2019-04-03 13:18:19 +00:00
Ed Sanders d784304ed1 Rename 'citefromid' to 'citoid'
Backwards compatible change can be merged ahead of change
in Citoid repo.

Bug: T219512
Change-Id: I2d7e389cc01808e41353681dd2448a0385543f2e
2019-04-03 13:19:45 +01: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
jenkins-bot ab17c1095a Merge "ve.init.mw.MobileArticleTarget: Save/restore scroll position on surface (de)activation" 2019-03-29 23:18:17 +00:00
jenkins-bot 1777203ace Merge "MWInlineImageNode: don't discard alt text when serializing" 2019-03-29 21:36:18 +00: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
David Lynch a976f0508f MWInlineImageNode: don't discard alt text when serializing
Bug: T216285
Change-Id: If81a9925cf32204f825e4da713aa07e860a29a46
2019-03-29 10:29:26 -05: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
jenkins-bot 277e387295 Merge "MobileArticleTarget: When saving a section don't trust current page markup" 2019-03-27 17:16:17 +00: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
Bartosz Dziewoński 21e9db7d13 Respect user preference for default thumbnail size while editing
Bug: T69047
Change-Id: Ibf90d290df5634cd89651a427a6aa1c6f9d7a553
2019-03-26 22:15:26 +01: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
Ed Sanders d6d48ff4b8 Introduce a 'mobile-ab' config option for section editing
This enables mobile section editing if the user is logged
in and has an odd user ID. Otherwise it is disabled.

Bug: T218851
Change-Id: I2c22d7636ae11d2db7780ae5adb3abe9df532b7c
2019-03-21 13:18:10 +00:00
Ed Sanders 970cca735d Suppress slugs between floated images
Logically depends on Idb4a58fa616 in core.

Bug: T107745
Depends-On: Idb4a58fa616dedb29d42bdf659a7497451f8eb6c
Change-Id: I206bf1a15cbac487b0d937a1b0447e0b9113156e
2019-03-21 11:33:27 +00:00
jenkins-bot 074973f01d Merge "Remove special handling for category and file pages" 2019-03-19 19:24:13 +00:00
Bartosz Dziewoński a5c5257e71 Directly call action=query&prop=langlinks from JS rather than PHP wrapper
When this code was written in 2013 (1a5bdd5bd2),
the langlinks API did not have a way to return the language names (autonyms).
This has been added in 2014 (4ba3a9aea96ee21c035c69999be23580e23f4e0a).

Change-Id: I70edb846d94b1108b079caf5915532234190da8f
2019-03-18 23:27:44 +01:00
Ed Sanders 1ffb574450 Edit summary autocomplete
Bug: T50274
Change-Id: Ida462f3dea325902459546af97e66cd9d0c86166
2019-03-09 14:03:27 +00:00
jenkins-bot 73063b4f8c Merge "Fix section param in historical diffs" 2019-03-09 01:14:40 +00:00
Bartosz Dziewoński 7acbc4d44c ve.init.mw.ArticleTargetLoader: Better document pageName parameters
Bug: T217826
Change-Id: If136b7b9dc747a75062f88f8decc1128938fee9f
2019-03-08 22:46:10 +01:00
Ed Sanders 2e33841b5a Fix section param in historical diffs
Passing section=undefined resulted in no <section> tags being
unwrapped, which broke the historical diff. Ensure 'null' is
used instead for whole documents.

Bug: T217752
Change-Id: Iec33e6ab83bfbd011df9dc05f4daccc26b1df8b5
2019-03-07 12:01:44 +00:00
jenkins-bot 085f21792b Merge "rebaser: pushState when calling showForm" 2019-03-06 12:13:02 +00:00
jenkins-bot 5aec469952 Merge "rebaser: Fix export dialog title" 2019-03-04 14:49:46 +00:00
jenkins-bot fefc7351a6 Merge "MWTransclusionNode: Comment strange matchTagNames values" 2019-03-04 14:49:43 +00:00
Ed Sanders b3a35790c1 rebaser: Fix export dialog title
Change-Id: Ib76adbdb8b6547e42968f73cc196d7b8817e25f0
2019-03-04 14:26:39 +00:00
Ed Sanders b0b8194faf rebaser: pushState when calling showForm
Change-Id: Id650acbcc4d0ba699fa1264acfd8ab6249315806
2019-03-04 13:25:26 +00:00
jenkins-bot f3cb757811 Merge "rebaser: Bind special tab click to showForm" 2019-03-04 04:44:26 +00:00
jenkins-bot 266a2bf036 Merge "ApiVisualEditor: Separate out templatesUsed from metadata" 2019-03-02 01:49:06 +00:00
Ed Sanders 9aee6bb5d1 MWTransclusionNode: Comment strange matchTagNames values
Change-Id: Ica207be94e5cc888c4454989d2fd6e9b5579a8ea
2019-03-01 16:16:20 +00:00
Ed Sanders 6f60b780ff rebaser: Bind special tab click to showForm
Change-Id: I3207c50b2515356833c19c7d46c69af4918dfa58
2019-02-28 19:20:14 +00:00
jenkins-bot ba5589f801 Merge "ve.init.mw.DesktopArticleTarget: Remove some unnecessary toolbar setup code" 2019-02-28 13:19:30 +00:00
Ed Sanders 2092529fb1 Allow external link pasting to be enabled by config
Bug: T129546
Change-Id: I3346c842cf56fb79fb65a8bd7d716c22134636b9
2019-02-27 19:54:55 +00:00
jenkins-bot d17d9ae768 Merge "Allow page title heading to be selected while editor is active" 2019-02-27 12:50:21 +00:00
jenkins-bot 3ccbc96fa7 Merge "When rendering categories, hide/show catlinks as needed" 2019-02-26 19:52:37 +00:00
David Lynch b1863f4b25 When rendering categories, hide/show catlinks as needed
Catlinks is hidden via a class when there are no non-hidden categories on the
page. We thus need to toggle that class depending on the categories
added/removed from the page.

Bug: T213528
Change-Id: I4067c5721c28041542b9ef2dbc796fbc41b1afe8
2019-02-26 11:26:27 -06:00
Bartosz Dziewoński 73b2defc1e Update VE core submodule to master (4669eff2b)
New changes:
0d28d49e7 ve.transformStyleAttributes: Update browser bug workaround comments
f51b718d0 Localisation updates from https://translatewiki.net.
b0d33a88a Use 'then' for opening/opened promises
40e98a759 Abort opening window for insertion when in readonly mode
744dc8cfa FragmentWindow: Add missing mixins, rename logic in WindowAction
ac5c18052 ve.ui.DiffElement: Don't always target links to new window

Bug: T210142
Change-Id: If07a40fff92fc739b7c6f954c3b89ad3fd7bdfd5
2019-02-26 16:57:17 +01:00
jenkins-bot 86a1995662 Merge "ve.dm.MWGalleryImageNode: Update for Parsoid changes to "broken" images" 2019-02-26 11:51:55 +00:00
jenkins-bot 1c083a362e Merge "Add more read-only implementations" 2019-02-25 23:59:13 +00:00
jenkins-bot 010c1889b3 Merge "TemplateContext: Filter out empty template descriptions" 2019-02-25 23:16:42 +00:00
jenkins-bot 92ce7f0b99 Merge "MWMetaDialog: Implement read-only mode" 2019-02-25 23:12:47 +00:00
Ed Sanders 403b1f97b1 TemplateContext: Filter out empty template descriptions
Change-Id: I1be721c30d92b1da4fc226935a7e0a322f0c4d41
2019-02-25 23:05:51 +00:00
jenkins-bot 99351fa20a Merge "MWCategoryWidget: Implement setDisabled" 2019-02-25 23:05:23 +00:00
jenkins-bot f8ffb4d6ce Merge "MW(Advanced)SettingsPage: Use Array.forEach for metaItemCheckboxes" 2019-02-25 22:57:52 +00:00
Ed Sanders c04d3da853 Add more read-only implementations
* Gallery:
  - Disable add/remove image buttons in read-only mode
  - Make image list undraggable
* Template: Disable outline controls
* Transclusion: Add/remove buttons on template pages
* MagicLinkNodeInspector: Disable input (e.g. ISBN links)

Bug: T210142
Change-Id: Ibb03ab0bfd55ef5bf7d7558c217c779d7904a134
2019-02-25 20:01:11 +00:00
Ed Sanders e3bb0b9e8b ApiVisualEditor: Separate out templatesUsed from metadata
Generating the templatesUsed list is relative slow, and is only
used in an obscure part of the editor, so only generate it when
needed.

Bug: T209078
Change-Id: I1cecdad65b80c4c9b1746e752ea4b41bc0fc0037
2019-02-25 13:01:43 +00:00
Ed Sanders 6aa61aefa5 MWMetaDialog: Implement read-only mode
Bug: T210142
Change-Id: I7b32668a5daecc04515e9fa13875b278cadfbcce
2019-02-25 12:56:37 +00:00
Ed Sanders 33774758b7 MWCategoryWidget: Implement setDisabled
Change-Id: I443f2b55e2f17fb3c182e6cb22e392434513ce6c
2019-02-25 12:56:37 +00:00
Ed Sanders 9c5ec0d0d1 MW(Advanced)SettingsPage: Use Array.forEach for metaItemCheckboxes
Change-Id: Id034ae5cba46503370fbf61094b33e6b93569fe9
2019-02-25 12:56:35 +00:00
Ed Sanders 8e3ef8fb7f Hide label section in MagicLinkNodeContextItem
Change-Id: Ifc6cdb2ee15874bfd036b29a6abaffa6e4207728
2019-02-24 13:25:23 +00:00
jenkins-bot 362a0b727c Merge "ve.ui.MWSaveDialog: Fix fragment links in visual diff too" 2019-02-23 18:26:07 +00:00
jenkins-bot f7a4e0a80a Merge "ve.ui.MWSaveDialog: Target links in visual diff to new window" 2019-02-23 18:21:18 +00:00
jenkins-bot fe70c26ee3 Merge "ApiVisualEditor: Remove red-link cache warming" 2019-02-23 10:36:56 +00:00
Bartosz Dziewoński 043a59a9bd ve.ui.MWSaveDialog: Fix fragment links in visual diff too
Follow-up to a22b9c8ea3.

Bug: T212554
Change-Id: Id7a16505c11a25f7a61f1394e9d9d1372cbb3d23
2019-02-22 22:51:30 +01:00
Bartosz Dziewoński ab8ae002af ve.ui.MWSaveDialog: Target links in visual diff to new window
Needed after change I6c988c012730d36d60629864a436e4a1700684c5
in VE core.

Change-Id: I7f0e836bd105a925f8dc62d52f081ee9051765fd
2019-02-22 22:50:55 +01:00
Bartosz Dziewoński 92bb0e557a ve.init.mw.DesktopArticleTarget: Remove some unnecessary toolbar setup code
This code, added in 703b2c2ed0 (2015),
is no longer necessary.

    // Disconnect the tool factory listeners so the toolbar
    // doesn't start showing new tools as they load, too
    // much flickering
    this.getToolbar().getToolFactory().off( 'register' );

Introduction of targetLoader (d371014e5d)
resulted in all tools already being loaded before a Target is
constructed, so this is definitely not needed.

    // Disable all the tools
    this.getToolbar().updateToolState();

The tools are already disabled because we set the surface to read-only
above, so this does nothing.

Change-Id: Idb162b60891cd1b961e29d2b9f62b74908f17957
2019-02-22 21:03:36 +00:00
Bartosz Dziewoński 7ade9938d0 Remove special handling for category and file pages
Previously, we tried to keep the list of category members and the file
thumbnail, history and metadata visible while the editor was open.

I am removing it because:
* It is not very useful, as you can't interact with them (e.g. links
  are unclickable).
* It is inconsistent with the wikitext editor (except for non-existent
  category pages, and I'm proposing to change that behavior in T139191).
* It causes issues when other code doesn't expect the special setup
  for those pages (T194068).

This introduces a minor change to the handling of normal pages: after
the save, instead of replacing all contents of #mw-content-text with
the new page content, we only replace the .mw-parser-output child.
Normally the effect is the same (it's the only child), but this could
theoretically affect interactions with other extensions or gadgets.

Bug: T194068
Change-Id: I26cc82d3e0f0d64e3f18a80d232005fc7ab3b374
2019-02-22 20:59:36 +00:00
jenkins-bot f1b7225336 Merge "Swap the link-rtl.png and link-ltr.png files" 2019-02-22 20:49:11 +00:00
Ed Sanders 23267264ce Load VE in read-only mode on protected pages
Bug: T53547
Depends-On: Ifaa74be266c048d87f94b4ae2df59cafc7aa155f
Change-Id: Ic90a0b86f45696a8782dec8e3d155ca91107b759
2019-02-22 19:09:23 +00:00
Ed Sanders 18907dde5a Implementations for read-only mode
Depends-On: Ifaa74be266c048d87f94b4ae2df59cafc7aa155f
Change-Id: Iedd1bd9ce17750ad8528c1a053293c4a7321c5de
2019-02-22 18:20:51 +00:00
Ed Sanders 1890530b89 ApiVisualEditor: Remove red-link cache warming
Red-link metadata was added to Parsoid 18 months ago.
On long pages evaluating this information is very slow
(hundreds of milliseconds) and completely redundant.

Bug: T64803
Bug: T209078
Change-Id: I5b6c6da588301ed59fb21e1ce930f5b72db48e67
2019-02-22 17:49:11 +00:00
Bartosz Dziewoński 93351892da ve.dm.MWGalleryImageNode: Update for Parsoid changes to "broken" images
Change-Id: I49f4a06de207fbb4dad090f0325068d13bed9810
2019-02-22 18:10:56 +01:00
setian 08e96d7b2e Swap the link-rtl.png and link-ltr.png files
Bug: T216617
Change-Id: I717f36ea94f1c7a016111ce7b32068bf42e05806
2019-02-22 02:38:56 -05:00
Ed Sanders e21d4fab3f Update VE core submodule to master (2951e9378)
New changes:
202adf904 [BREAKING CHANGE] Unify FragmentInspector/Dialog behaviour

Local changes:
* Update dialogs to use common actions & FragmentWindow

Change-Id: Ib744b8996db48d1ee58bc873120400566c490e88
2019-02-22 01:13:36 +01:00
Bartosz Dziewoński edc4fe95f6 Allow page title heading to be selected while editor is active
People enjoy copy-pasting it, or something.

Bug: T214790
Change-Id: I0d133f601d178f1d1f0175a411a9bcd433ba9419
2019-02-21 21:35:58 +00:00
jenkins-bot 767614f0e1 Merge "ve.init.mw.ArticleTarget: Fix some doc comments" 2019-02-21 12:57:05 +00:00
Bartosz Dziewoński 0b1f445349 ve.init.mw.ArticleTarget: Fix some doc comments
Change-Id: I9d8b2553b40d56cf99bcd304c93d866b2a8ba77e
2019-02-20 22:46:39 +01:00
Ed Sanders 332aa1f3d2 build: Update eslint-config-wikimedia to 0.11.0
Change-Id: I5a294705eed1760e2d4dde33934d2ffb12e29525
2019-02-20 20:23:43 +00:00
jenkins-bot 8846e65e44 Merge "Support only surfacing part of the document" 2019-02-20 19:06:30 +00:00
Ed Sanders de2a2ca06f Improve abstraction around template context description
* Separate partDescription from partDescription*s* and use Array#map
* Lookup CE node class of current model, instead of using
  ve.ce.MWTransclusionNode hard-coded.

Change-Id: Ief07b865b4c216dc13408b12e8a1354cd2c28dfe
2019-02-19 13:23:14 +00:00
jenkins-bot 557cc0e581 Merge "ve.ui.MWGalleryDialog: Allow normal tools in gallery captions" 2019-02-18 18:47:55 +00:00
jenkins-bot 81c16f6b8a Merge "Don't try to set dimensions on an error image" 2019-02-15 19:01:32 +00:00
Ed Sanders e95ec4e24f Don't try to set dimensions on an error image
Bug: T216267
Change-Id: Icbe8cce3e16b2674cb2400f2381f50c71e32f87c
2019-02-15 18:28:03 +00:00
Bartosz Dziewoński 1998a02b8e ve.init.mw.ProgressBarWidget: Remove 'filter' property for IE 8 & 9
Per I7c083ff57db2fce9a06688d5801149253af6f6da this was only needed
for IE 8 & 9, which we don't support now.

Change-Id: I6e093b8ea6f8304ff296bb74297a465dd7334e07
2019-02-15 17:45:22 +01:00
Ed Sanders 3269d53632 Support only surfacing part of the document
Bug: T76541
Depends-On: I227a0d704b9b337cff2102d424be9795d6362ed7
Change-Id: Iac71a51c8696434658f24fbb41c8142237bd810e
2019-02-13 19:03:44 +00:00
Ed Sanders bc02c44d36 rootNode/documentNode -> attachedRootNode
Change-Id: I56bb10749cac04e17ace2781b4d693ec5f522e7c
2019-02-13 19:03:36 +00:00
Bartosz Dziewoński 7b2bd6be09 ve.init.mw.MobileArticleTarget: Better match surface top spacing to read mode
Using margin instead of padding allows the surface margins to collapse
with the margins of first/last paragraph inside the surface, like they
do in read mode. This fixes the slight jump seen in T210630#4949865.

Bug: T210630
Change-Id: I69d4d4bd9390a1007bc40cda9e78a6b3e7a1bd1d
2019-02-13 13:37:31 +01:00
Bartosz Dziewoński 7fedb7be07 ve.init.mw.MobileArticleTarget: Change "back" tool icon from "<" to "x"
Icon name changed from 'previous' to 'close'.

This matches MobileFrontend's wikitext editor and other overlays.

Bug: T210630
Change-Id: I5f588c65887dd2247d3f816959807f943215e0c3
2019-02-13 00:29:24 +01:00
Bartosz Dziewoński 1faf0b00fa Filter out duplicate categories in NWE preview
Use them as object keys, which naturally deduplicates the entries.

Bug: T214811
Change-Id: I6159021b95d78b1a163faebb289578d277ff110d
2019-02-12 19:18:09 +01:00
jenkins-bot e965868def Merge "Fix TypeError in MWTocWidget.initFromMetaList" 2019-02-09 18:47:08 +00:00
Chunliang Lyu 4774fbdf5c Fix TypeError in MWTocWidget.initFromMetaList
If a page contains __NOTOC__ magic word, it would break the VisualEditor
with "Uncaught (in promise) TypeError: Right-hand side of 'instanceof' is not
an object at VeUiMWTocWidget.ve.ui.MWTocWidget.initFromMetaList".

The issue seems to be that we removed ve.dm.MWTOCForceMetaItem and
ve.dm.MWTOCDisableMetaItem in commit 57a06a6e75,
but the code in initFromMetaList still refers to them.

Change-Id: I857cddcc7d4aa73375357ef922591ed94d760166
2019-02-09 19:31:27 +01:00
Roan Kattouw b15f819fdf ve.init.mw.Platform: Migrate away from deprecated specialCharacters API
Use require('mediawiki.language.specialCharacters') instead of
mw.language.specialCharacters.

Change-Id: I9cf525a1e1aadc12d72284d08b98882b0ab95f5e
2019-02-08 16:59:25 -08:00
jenkins-bot d2fe2f7f8d Merge "DesktopArticleTarget: Make the progress bar into a reusable widget" 2019-02-06 22:37:28 +00:00
jenkins-bot d1c7b9a5d1 Merge "Fix function name" 2019-02-06 22:36:21 +00:00
Ed Sanders fed2067df9 Fix function name
Change-Id: I540ec247f37a21dfd0b84c8b593a6a37197bfcb2
2019-02-06 21:54:23 +00:00
jenkins-bot b7cf486403 Merge "ve.ui.MWTransclusionContextItem: Use the right class name in override" 2019-02-06 21:53:41 +00:00
jenkins-bot 72aff8c16a Merge "mw.Platform.setUserConfig: Don't try to set for logged-out users, it doesn't" 2019-02-06 21:43:40 +00:00
Bartosz Dziewoński 9ff514a460 ve.ui.MWTransclusionContextItem: Use the right class name in override
Follow-up to I47a995905fef5aa2cabb2b3215111de0b506e7f7.

Bug: T209610
Change-Id: I204e92771bcde9015244a1697c3a7e6bd888a516
2019-02-06 22:36:52 +01:00
Bartosz Dziewoński 6e076b3b6c DesktopArticleTarget: Make the progress bar into a reusable widget
We want to add a similar progress bar on mobile without copy-pasting
all this code.

Bug: T210630
Change-Id: I7192869cb719114ffd04940eabf38cf0f0421c13
2019-02-06 22:20:37 +01:00
Bartosz Dziewoński cb09d6a54d DesktopArticleTarget: Fix position of progress bar if editor is reloaded
Change-Id: I5f181a9516ff64988aa67e54ebd342c56e4b7e70
2019-02-06 02:11:48 +01:00
Bartosz Dziewoński 28950a8b5c DesktopArticleTarget: Match NWE toolbarPlaceholder height to real toolbar
Toolbar was made bigger in If5722df41e75a1d4bdf8afc83c81670d1be3a1b8.

Change-Id: Id85869e6ad0bfad1acebda3a64bab5328de3932d
2019-02-06 02:11:48 +01:00
jenkins-bot f5bae30b4a Merge "ve.ui.MWTransclusionContextItem: Remove "Generated from" prefix from description (mobile)" 2019-02-05 19:13:55 +00:00
jenkins-bot e52adb1590 Merge "ve.dm.MWInternalLinkAnnotation: Correctly generate relative links" 2019-02-05 17:07:56 +00:00
Bartosz Dziewoński 18fb16c81d ve.dm.MWInternalLinkAnnotation: Correctly generate relative links
We could generate incorrect links to pages whose title contains a
colon ':' and therefore looks like a fully-qualified URL.

Bug: T206231
Bug: T206357
Change-Id: Ie34694d903a6d97589cc46417f70659559494619
2019-02-04 20:08:01 +01:00
Bartosz Dziewoński c56b764330 ve.ui.MWTransclusionContextItem: Remove "Generated from" prefix from description (mobile)
It does not provide any additional information, and it is long enough
that it causes the actual template name(s) to not fit on the screen on
small mobile sizes.

Bug: T209610
Change-Id: I47a995905fef5aa2cabb2b3215111de0b506e7f7
2019-02-04 19:48:28 +01:00
James D. Forrester 3ab699f6ed mw.Platform.setUserConfig: Don't try to set for logged-out users, it doesn't
Bug: T214963
Change-Id: Idc61685b6087c0fe0082bd0b039f2f454ca92970
2019-02-01 20:50:58 -08:00
James D. Forrester b74f4db570 MWMediaTransferHandler: Fix new eslint warning from unused global
Change-Id: I729cfb8d6b487ecd5b42af5921ca8f1e18cfd749
2019-02-01 20:07:15 -08:00
Bartosz Dziewoński c91047b129 ve.ui.MWGalleryDialog: Allow normal tools in gallery captions
PHP parser and Parsoid now both allow normal wikitext in gallery captions.

Bug: T187958
Change-Id: I3470ec1f81493c58e4c2bdad00d5d78af8b4a10b
2019-02-01 19:51:35 -08:00
jenkins-bot dae36e4ea1 Merge "MWTemplateTitleInputWidget: Filter out templates named '…/doc'" 2019-01-31 22:29:51 +00:00
David Lynch f7fe245018 trackSubscriber: don't track activity here on mobile
Mobile needs to use a different sessionid

Change-Id: Iffac3d523b4c5774a23ddbe1a2d7ee380ac1b012
2019-01-31 01:22:28 +00:00
James D. Forrester c1d690e53d MWTemplateTitleInputWidget: Filter out templates named '…/doc'
As configured on-wiki via MediaWiki:templatedata-doc-subpage; this will
probably have a few false positives, but that's worth it.

Bug: T54448
Change-Id: Id91f95b5865e151f8007a2421428aeb82b11b3fd
2019-01-26 13:23:38 -08:00
jenkins-bot cd42c60644 Merge "MWLinkAnnotationInspector: check field validation before submitting with enter" 2019-01-25 01:26:44 +00:00
Bartosz Dziewoński 3dbff552dc ve.init.mw.Target: Remove unused property
Unused since 6e64fba2f8.

Change-Id: I223f2346c04573a9e853b49bfc83e542cec47c61
2019-01-24 21:05:48 +01:00
David Lynch 410386d573 MWLinkAnnotationInspector: check field validation before submitting with enter
Bug: T214453
Change-Id: I46adc4578f3827cb9f1fb8b424eb88a49f635fc9
2019-01-24 11:17:04 -06:00
jenkins-bot 2ea2197483 Merge "Fix uncaught jQuery linting errors" 2019-01-22 16:27:45 +00:00
jenkins-bot 26fd8c670e Merge "Re-introduce: Replace deprecated setIndicatorTitle with setTitle" 2019-01-22 00:43:05 +00:00
jenkins-bot 65fd3de442 Merge "Use pixel dimensions for education dots" 2019-01-18 21:26:05 +00:00
Ed Sanders 375edf0182 Fix uncaught jQuery linting errors
Change-Id: I17482ec84c95e88881ab4bee9b9cadb27b2dc472
2019-01-18 21:03:38 +00:00
Ed Sanders ec1a940616 Use pixel dimensions for education dots
Bug: T214203
Change-Id: I02410b09d490c6a6ebd71cafa998f09c8cd1033f
2019-01-18 21:00:56 +00:00
jenkins-bot 1737464653 Merge "Fix fragment links in preview" 2019-01-18 16:54:54 +00:00
Ed Sanders a22b9c8ea3 Fix fragment links in preview
Bug: T212554
Change-Id: Ic9b8f14c377b0dd43aa648983fac27272a64b66f
2019-01-18 14:39:00 +00:00
jenkins-bot ca03c085a2 Merge "Revert "Don't preserveHtmlAttributes on transclusion nodes"" 2019-01-17 12:54:58 +00:00
Volker E 5c5323fc3a Re-introduce: Replace deprecated setIndicatorTitle with setTitle
Patch got reverted in Iffbbd36d0e91, with I3028c4225a42 we should be
good to go now.

Bug: T76638
Change-Id: I016f7db8b2527b3ffe3bd103e6c88ee8e4dd11bc
2019-01-16 22:12:38 -08:00
Bartosz Dziewoński bdfd4b6d8f Revert "Don't preserveHtmlAttributes on transclusion nodes"
This reverts commit 48db45df76.

Bug: T213922
Change-Id: I7b0bf081fd5a9ab71db1ede3ce6e149cfb4b675a
2019-01-17 01:42:15 +00:00
jenkins-bot 27a596e4f0 Merge "ve.dm.MWTransclusionModel: Remove workaround for T135127" 2019-01-16 18:39:41 +00:00
Ed Sanders 5461c56380 stylelint: Enforce class name pattern
Change-Id: Ia41a08424f840d353eb7fc213815f7992da4a2ef
2019-01-13 15:14:53 +00:00
Bartosz Dziewoński 18f8697703 ve.dm.MWTransclusionModel: Remove workaround for T135127
The bug this works around seems to be fixed.

Change-Id: I62837ad795ee6bd35663b163f6de76572e1a6594
2019-01-10 21:16:32 +00:00
jenkins-bot 1190ce584d Merge "Add missing mw-content-ltr/rtl class to diffElement" 2019-01-09 16:49:39 +00:00
Ed Sanders 74f6c4899c build: Update eslint-config-wikimedia to 0.10.0
Change-Id: I63a0ebf0b31a0d5d4e680a4e2a5a0be4850be165
2019-01-08 17:00:09 +00:00
jenkins-bot c0c0c3e6c1 Merge "Revert "Replace deprecated setIndicatorTitle with setTitle"" 2019-01-07 21:23:26 +00:00
Bartosz Dziewoński 8a286b06f0 Revert "Replace deprecated setIndicatorTitle with setTitle"
This reverts commit a7c98d88de.

Bug: T212975
Change-Id: Iffbbd36d0e91d02f50ce0407ed556f2a7d91a301
2019-01-07 21:08:35 +00:00
David Chan 0d362040bd Update VE core module to master (469c6340e)
New changes:
6515e03e1 ve.ce.Surface: Rearrange #findBlockSlug test to check other cases
cbfdc8570 Localisation updates from https://translatewiki.net.
708ba0557 Prevent block slugs from overlapping floated elements
3703fd66d Separate the concept of a document node and a root node in CSS

Bug: T211844
Change-Id: Ia86cf9b23e561d3c32601d41c1bc5a9824e9953c
2019-01-06 07:47:17 +08:00
Ed Sanders 3059251b5c Add missing mw-content-ltr/rtl class to diffElement
Change-Id: I9bd4fad6202ea3636256970b12d6c94f408d0bd8
2019-01-04 22:23:23 +00:00
Volker E a7c98d88de Replace deprecated setIndicatorTitle with setTitle
Bug: T76638
Change-Id: I6637cb21f01bd9e6b158d08671c1f29665e601e1
2019-01-03 11:52:31 -08:00
jenkins-bot 3d4fabd3de Merge "Move save error messages above save footer" 2019-01-03 16:55:40 +00:00
Ed Sanders 0f1a8b9eb9 Default originalGalleryGroupItems to empty array
Bug: T212809
Change-Id: I29e95be677d1d7fcc96bbf20efb7d5724d71b0de
2019-01-03 15:13:15 +00:00
jenkins-bot bebbff8bab Merge "Don't preserveHtmlAttributes on transclusion nodes" 2019-01-02 18:58:13 +00:00
Ed Sanders 48db45df76 Don't preserveHtmlAttributes on transclusion nodes
Bug: T207325
Change-Id: I9c92f18c58c044e7f2257aa6993db227896a1468
2019-01-02 17:11:31 +00:00
James D. Forrester 3c293ea00c doc: Bump copyright year for 2019
Change-Id: I8991b97c980d4149f53eb5601036220ef3c0c440
2019-01-01 13:24:23 +00:00
jenkins-bot ccfcacf1fd Merge "ve.ui.MWGalleryDialog: Improve modification checks" 2018-12-30 22:49:34 +00:00
Bartosz Dziewoński 0bd9270b3f ve.init.mw.MobileArticleTarget: Remove unnecessary override
This is included in OOUI styles since OOUI 0.30.0.

Change-Id: Ic45e507fed5a40cfc3497551d1be396e1b2f3d5b
2018-12-24 10:06:37 +01:00
Ed Sanders cdb238cfde Remove document padding resets, upstreamed
Depends-On: I53307c931ad24b5ba76503c1dedd1109205b73c5
Change-Id: Id8632a3205d284d8091cae4d431be4faf7e6362b
2018-12-17 13:36:47 +00:00
Ed Sanders 2f34c66b4e Remove duplicate qunit env
Change-Id: I8c4cc4a788de838618b18eff5c4c98d74ac97fe0
2018-12-14 17:46:10 +00:00
jenkins-bot 4c44d8b712 Merge "Use ve.targetLinksToNewWindow where possible" 2018-12-13 22:25:31 +00:00
Ed Sanders ad5b8f99ee Replace $( 'body' ) with $( document.body )
Better to use the actual element rather than a string selector.

Change-Id: I7d2c08cf1e3c6f14be5bf65ac040b7cdfdd8c594
2018-12-13 16:44:25 +00:00
Bartosz Dziewoński 22a80e430e Use ve.targetLinksToNewWindow where possible
Also, avoid parsing HTML manually in a few places.

Change-Id: I983a7e1917a3f0728173e9621c709d1c8c04f650
2018-12-12 23:19:11 +00:00
Ed Sanders f2ac575ee2 Move save error messages above save footer
Keeps the more important information higher up the page.

Bug: T72266
Change-Id: Iaf29a5190af5f72c88eb1bfdacce199cd046eee4
2018-12-12 12:53:55 +00:00
Ed Sanders a9aa4d6c15 Fix save dialog error message transition
Element must be hidden for $.slideDown to work.

Also speed up animation to OOUI default 250ms.

Change-Id: I0616c156f1893688abd80f9e47c1a88e9237d085
2018-12-12 12:20:24 +00:00
Volker E 3949712ec0 TransclusionDialog: Fix removeButton position
Change-Id: I886c64f51fe54483d24c6cfa925b698db7bf4e7e
2018-12-11 16:05:33 -08:00
jenkins-bot 7fe951e5e1 Merge "Exclude deprecated params from search list" 2018-12-11 21:01:56 +00:00
jenkins-bot a5be866ba3 Merge "Allow trackdebug to work independently of debug" 2018-12-11 16:44:45 +00:00
jenkins-bot c306244744 Merge "Bring back 'alert' indicator" 2018-12-11 16:29:28 +00:00
Ed Sanders 3e10592ab7 Allow trackdebug to work independently of debug
Bug: T211698
Change-Id: I28f4fa4d516195e5459484c5d3df1b0566357a25
2018-12-11 16:13:06 +00:00
Ed Sanders ec42733225 Rewrite DOM junk filter as array concatenation
Avoids regressions like If399319b2675ac8c.

Change-Id: I43851931e3b9ee461abd0cfce0627bfb6a2bd041
2018-12-11 15:23:37 +00:00
Ed Sanders ae1095d313 Exclude deprecated params from search list
Only show param info if the exact field name/alias is entered

Bug: T207897
Change-Id: Ic5be8b8cd7698b88ab89d771769f2e9ba407dfa9
2018-12-11 14:59:54 +00:00
Ed Sanders 85974b171c Bring back 'alert' indicator
Was removed upstream in OOUI, but we require it to
show that parameters are deprecated.

Resize to fit new 12x12 size for indicators.

Change-Id: I2356de0754a2ccf09b87b152f3023282f2e37f41
2018-12-11 14:25:48 +00:00
Bartosz Dziewoński 27fdbe0581 Fix filtering out .donut-container again
Follow-up to a5c5176333.

Bug: T189148
Bug: T209619
Change-Id: Ibcf3c93e5b1121f8168ab3280a41917e8f7baa7d
2018-12-11 01:12:35 +01:00
jenkins-bot e0edd25855 Merge "Drop EducationProgram hacks, now that it's undeployed" 2018-12-07 19:50:21 +00:00
Bartosz Dziewoński 0f05dafa6f Make SaveErrorHandler receive entire API response
Previously we passed either data.visualeditoredit.edit or data.error,
which was mostly okay since they are mutually exclusive, but it could
still theoretically conflict if both objects had identical properties
(and receiving different things could make debugging errors harder).

Change-Id: I818d916275b8451af6910ddaa7cd4d7c653085ee
2018-12-07 14:17:16 -05:00
James D. Forrester dab9c26c4d Drop EducationProgram hacks, now that it's undeployed
Change-Id: I65030e3e1b5ce006a458cfbe65a97e738a00a4c3
2018-12-06 12:14:03 -08:00
Ed Sanders 278789e27d Remove TitleBlacklist handling code
This has been moved to the TitleBlacklist extension.

Bug: T211242
Change-Id: Ia15c2619e6c642b3ceb567c28f77b50ccf41731a
Depends-On: Ibaf8a37f1aaef510923bde5ed9114f1f00fff461
2018-12-06 15:00:06 -05:00
Ed Sanders be548979fe Pass error data to SaveErrorHandler on error
Change-Id: I9d7efbecfd954acff86f279f75aa80a9fcc10c89
2018-12-06 14:59:30 -05:00
jenkins-bot 1684f2ef0c Merge "ve.init.mw.SaveErrorHandler: Correct code comments" 2018-12-05 22:24:35 +00:00
Bartosz Dziewoński 9177974c28 ve.init.mw.SaveErrorHandler: Correct code comments
Change-Id: I6e3a883b8c2600953da038aa4ad3601258e1d87d
2018-12-05 16:37:13 -05:00
Ed Sanders be9c6800ad Audit target hooks
* Move (de)activationComplete up to ArticleTarget
* Mark (de)activate to be deprecated in the future
* Fix some properties to ensure target.edited is boolean

Change-Id: Ie34139cb68f90f34eb243f1bb964ef578e90dfb2
2018-12-05 15:45:19 -05:00
jenkins-bot d8cbff898b Merge "Guard against Target#teardown being called twice" 2018-12-05 17:49:26 +00:00
Ed Sanders a89908d58a Guard against Target#teardown being called twice
Change-Id: Ifa8328ee865fadd6ddaf6b35b5ee34284068b620
Depends-On: Icef5b34abd40bfd21aac71a705ef21f6277d21a5
2018-12-05 11:11:09 -05:00
jenkins-bot f583a0fb6a Merge "Move ve.init.mw.saveErrorHandlerFactory and fix documentation" 2018-12-04 23:34:05 +00:00
jenkins-bot a6b64b6b46 Merge "Remove AbuseFilter & SpamBlacklist code" 2018-12-04 23:03:29 +00:00
Ed Sanders 1ee9a739a1 Move ve.init.mw.saveErrorHandlerFactory and fix documentation
Change-Id: Icc8a4d1daf17a1a4cd0d7b2ad97f61916f2a222e
2018-12-04 17:55:35 -05:00
jenkins-bot 710aaced4b Merge "build: Upgrade stylelint-config-wikimedia to 0.5.0 and make pass" 2018-12-04 14:59:06 +00:00
jenkins-bot df125c3303 Merge "trackSubscriber: Set timing property to a number, not an object" 2018-12-04 00:07:53 +00:00
Roan Kattouw 611d9ca6c5 trackSubscriber: Set timing property to a number, not an object
The timing variable is a private closure variable containing an object
that tracks the timestamps of different events in the current cycle. The
duration variable is the result of using that information to compute the
difference between the current timestamp and the relevant anchor
timestamp. For the '_timing' property in the EventLogging data, duration
is the correct value, not timing.

(This is confusing and we should probably rename the timing variable.)

Change-Id: Iff78eb0ab83c84b73ad5c8f3eb85b1c7f120ebef
Follows-Up: Ifc2135d99f4bec917dac60992098958b72c37fc6
2018-12-03 15:33:18 -08:00
James D. Forrester 309d05cb38 build: Upgrade stylelint-config-wikimedia to 0.5.0 and make pass
Change-Id: I4c547757ed5a32ff98b1cf2670010db302bd8467
2018-12-03 13:06:59 -08:00
Ed Sanders 103a34bb75 Remove AbuseFilter & SpamBlacklist code
Moved to their respective extensions

Change-Id: If463068a862cfde15ab4d250a1424c88a5229176
Depends-On: Ib1354f0404209a15194895026ff9d179d16b1900
Depends-On: I1807a5d3d99ecab2bf4545a1bab3aa3f2ae64da8
2018-12-01 14:03:11 +00:00
jenkins-bot 7927a8e395 Merge "Create SaveErrorHandler class to better define structure" 2018-11-30 23:06:11 +00:00
jenkins-bot 685533c86f Merge "ve.ui.MWTransclusionDialog: Remove unneeded code re-setting insert label" 2018-11-30 17:12:40 +00:00
Bartosz Dziewoński a659c4eaea ve.ui.MWTransclusionDialog: Remove unneeded code re-setting insert label
This sets the label to be the same as the default value inherited from
ve.ui.MWTemplateDialog. Looks like it's no longer needed since change
Ia8fb88d3501ffa2c26add4419da5463a926f45d1 (2014).

Change-Id: I1dd40d2428c0221dfdc79e5f34e411b127624eb6
2018-11-29 23:10:56 +01:00
jenkins-bot 98955dfafd Merge "ve.init.mw.ArticleTarget: Stop when we fail to load metadata" 2018-11-29 19:54:36 +00:00
Ed Sanders 041e7b77a1 Create SaveErrorHandler class to better define structure
Change-Id: I036ee32847cc3b25a1cc478247cfe54599781098
2018-11-29 15:47:03 +00:00
jenkins-bot 3878db588d Merge "Remove captcha handler, moved to ConfirmEdit extension" 2018-11-29 03:33:54 +00:00
Bartosz Dziewoński 32f5256736 ve.init.mw.ArticleTarget: Stop when we fail to load metadata
This early return in loadSuccess() has been incorrectly removed in
b2718b186a.

As a very unexpected result of loading the editor twice in case
loading metadata is retried, the "Publish" button was staying
disabled. See the task for investigation.

Bug: T209542
Change-Id: If528afe1ca052062005937f03fe822c5c8d0958b
2018-11-29 04:23:42 +01:00
jenkins-bot fc126c1260 Merge "Rename configs for tracking block notices on visual editor" 2018-11-29 00:43:31 +00:00
Ed Sanders f0295ee01c Remove captcha handler, moved to ConfirmEdit extension
Change-Id: I6938d10d10be80e780294e4d4a32152827ccb5f9
2018-11-29 00:29:09 +00:00
Thalia 2516753c53 Rename configs for tracking block notices on visual editor
* Also make sure block notices have type 'block'.
* Remove old flag for tracking since we'll be using one
  from core

Change-Id: I4b66e73c8a4c4dd7bffd7c0239b1d5ec06eed12f
Depends-On: I6bd1c95548616677e1f72ba6bcfc6f2b551c1ca6
2018-11-28 15:26:15 -05:00
jenkins-bot 4de0e1a04c Merge "MWSaveDialog: Use ve.targetLinksToNewWindow" 2018-11-28 17:05:05 +00:00
Ed Sanders b76e40b2f3 MWSaveDialog: Use ve.targetLinksToNewWindow
Change-Id: I1515901f05de1a7b1ef2aa3cb34f3043ab02acce
2018-11-28 15:44:52 +00:00
Ed Sanders 41bb0a5fd2 Show timings of mwedit events in trackdebug
Change-Id: Ifc2135d99f4bec917dac60992098958b72c37fc6
2018-11-28 12:50:01 +00:00
Ed Sanders 1df0564690 Don't require editSchema to be setup to use trackdebug
Change-Id: I030f5e903d152b1e663f9155ee5235cb611ad63b
2018-11-28 12:49:27 +00:00
jenkins-bot 11f73e89da Merge "Debug flag for tracking" 2018-11-27 21:50:16 +00:00
David Lynch bff72c679d Debug flag for tracking
Change-Id: Ie21c9e3a7bbbf4c3575af50acedf0f002d11cfcc
2018-11-27 14:10:55 -06:00
Derk-Jan Hartman 71ceb51c81 Blacklist javascript links
These aren't supported by VE-MW, so must just be
garbage from a browser plugin, possibly Citavi.

Bug: T200971
Change-Id: I9f34e9890e7f59d76cd464778481c415cc3c5dbd
2018-11-27 21:10:09 +01:00
jenkins-bot 23c6c3b6e0 Merge "Use mw.Title.wantSignaturesNamespace" 2018-11-27 19:31:13 +00:00
Ed Sanders 0d54a62858 Use mw.Title.wantSignaturesNamespace
Change-Id: I60187f0a3eb9cf5d56a4fdaa3401b107758bd8e3
Depends-On: Ib2faa22c429096d545ddb829a6b4025427ad6071
2018-11-27 18:42:44 +00:00
Bartosz Dziewoński b983538038 ve.ui.MWSaveDialog: Improve handling of links in edit summary preview
* Pass the page title, so that links to section point to the current
  page rather than "API"
* Make all links open in a new window, instead of producing a warning
  about losing your changes

Bug: T208978
Change-Id: Ia1924e1af644ee41ebcaa1da40ca004cb72dcdaf
2018-11-27 02:39:47 +01:00
Bartosz Dziewoński c3dcdbe5f0 ve.init.mw.ArticleTarget: Fix typo
Change-Id: Ic4e886ca37c41e9c488b960c06a8de1d2fd1bb07
2018-11-27 00:45:24 +01:00
jenkins-bot 827e3661ec Merge "Track when block notices are shown on visual editor" 2018-11-26 12:35:21 +00:00
Ed Sanders 7bd58c52a5 Move extension save error handlers into a registry
These can now be moved to their respective extensions.

Bug: T136859
Change-Id: I2c35b9443208928db43bcfd515864641b10cc602
2018-11-23 17:19:36 +00:00
Ed Sanders 70253d450a Cleanup save-error handling
* Use ve.getProp
* Use .abusefilter key instead of string search (the key
  didn't exist when we first implemented AF support)
* Move AF handler next to captcha handler, and comment
  both as should-be-moved-to-plugin.

Change-Id: I171d63844b84b5a12396b6d6746f92110fc06c6c
2018-11-23 15:42:39 +00:00
Thalia a5c5bc5116 ve.dm.MWExtensionNode: check for body in describeChanges
Bug: T210257
Change-Id: Iffda3dc0b5b9dc84d294240546193e4b55c45bb7
2018-11-23 12:27:13 +00:00
Ed Sanders f2a9ccd5bd Avoid HTML string parsing
Identified using https://github.com/wikimedia/eslint-plugin-jquery/pull/12

Change-Id: I138e018fdc037d688e055eacddfdc5bfc2cc5abe
2018-11-21 18:47:19 +00:00
Ed Sanders 1a3e8a958c build: Use eslint-config-wikimedia v0.9.0 and make pass
Change-Id: Idb57fc12e7822cf17e10dbb726480fc7de0ae199
2018-11-21 16:51:20 +00:00
Thalia 883e0c23a5 Track when block notices are shown on visual editor
When an edit notice is passed through from the API, allow
a type to be specified, and specify type 'block' if the
notice is a block notice.

If VisualEditorTrackBlockNotices config is true, track
when a message with type 'block' is shown.

Bug: T209633
Change-Id: If5fecc2c2c1c39f4b7245b9a215e1120c93b2b22
2018-11-21 11:22:50 +00:00
jenkins-bot cf32ca44d9 Merge "ve.ui.MWTransclusionContentPage: Fix missing icon" 2018-11-20 16:58:14 +00:00
jenkins-bot 71b127b48c Merge "Filter out junk from the HON browser plug-in" 2018-11-20 15:51:18 +00:00
Bartosz Dziewoński 120788db59 ve.ui.MWTransclusionContentPage: Fix missing icon
It's missing here: https://phabricator.wikimedia.org/F27262533
We forgot this in 09800aa249 (in 2015).
Oops.

Change-Id: I0f1cda43c6566accf45c82a858158f15c2229f47
2018-11-20 04:04:25 +01:00
James D. Forrester a5c5176333 Filter out junk from the HON browser plug-in
Bug: T209619
Change-Id: If399319b2675ac8ca6d3d17acbf96634ab5f6395
2018-11-19 15:25:12 -08:00
Thalia ceb02d3296 Remove needless function call in DesktopArticleTarget
Change-Id: I6e691e97fe7330496cdf45a2439d8fd373cf221f
2018-11-19 18:58:38 +00:00
Bartosz Dziewoński 914e6905ed ve.ui.MWTemplateDialog: Unbreak the logic to enable/disable "Apply" button
I have moved this block of code to the wrong place in change
13675e4a81. As a result,
`this.loaded` was being set early, so the dialog was treating
all of the pre-existing transclusion parts as newly inserted,
and the "Apply" button was therefore always enabled.

Bug: T209661
Change-Id: I3c1b45f91738ab6fc4a6f6d61ae5bf925c9a1bb5
2018-11-16 01:08:29 +01:00
Bartosz Dziewoński 79e16e218f ve.ui.MWGalleryDialog: Improve modification checks
Undoing the changes to an image caption or alt text, or to the gallery
caption, or to the order of images, or removing a previously added
image, will now disable the "Apply" button again.

The following cases will *not* disable the button again, and it is not
feasible to implement them:
* Re-adding a previously removed image with identical options
* Changing any caption to the old value by other means than "Undo"
* Changing image caption or alt text to the old value after switching
  to a different image and then back

Bug: T206534
Change-Id: I7c19600e741211a6ba61837513497facbafc5cef
2018-11-15 22:16:26 +01:00
Bartosz Dziewoński a66f57643c ve.ui.MWGalleryDialog: Update "Apply" button when image added
Use 'change' event instead of 'reorder' to respond to this event.
This also covers removing images now, so delete that code.

Bug: T206534
Bug: T209451
Change-Id: I9eda383be2ca7f02b42814d43e6b42961b9b96e7
2018-11-15 20:56:39 +01:00
Thalia 70c3bc65d9 ve.ui.MWGalleryDialog: Improve how dialog actions are enabled
Enable the Apply changes/Done action if (i) the current contents
of the dialog inputs would change the gallery node or (ii) if the
user has interacted with inputs that alter the gallery caption or
images (including dragging/dropping or removing an image).

Bug: T206534
Change-Id: Ia6c1cc60d4f32ac66778e6973e2d400491f74128
2018-11-13 19:14:33 +00:00
Ed Sanders b2718b186a Separate handling of document HTML and edit metadata
For now this is just moving code. In the future we will
be able to make the handling of edit metadata async.

Change-Id: I7b442dfbdd890154de0e7faab1f6b0346caa8de0
2018-11-08 18:30:33 +00:00