Commit graph

7558 commits

Author SHA1 Message Date
jenkins-bot 6cd05557d0 Merge "MobileArticleTarget: v1 of toolbar refresh" 2019-08-30 17:43:58 +00:00
Ed Sanders e5f5a49344 Support for defined template context items
Context items can be created for specific template titles. Titles
are mapped to context items using an on-wiki message.

Bug: T211243
Change-Id: Icfc39e350452da238d0e0c17cb2305c60d9ca16a
2019-08-30 13:02:47 +01:00
David Lynch 593d26b4ab Don't let double-clicking the save button trigger a save
Tapping the toolbar save button while the save dialog is open triggers a save
because of the accesskey. It shouldn't save on a double-tap, because that's
easy to accidentally do / trigger on a slow device.

Bug: T230816
Depends-On: I4c3afce9d57c9bca737272b40b9a4862b5794bac
Change-Id: I1925b1b97de6a811f73196b616ec09a2c30c336f
2019-08-29 22:43:53 +00:00
David Lynch 1761b6d6d6 MobileArticleTarget: v1 of toolbar refresh
Bug: T211789
Bug: T230807
Change-Id: Ifd2319039628a8143dc09f6fa35e4a9825d3062c
2019-08-29 15:27:56 +00:00
jenkins-bot dd86fc76aa Merge "Use upstream pulsating dot" 2019-08-28 17:31:52 +00:00
jenkins-bot 23f5488e93 Merge "Docs: Standardise "messages used" comments" 2019-08-28 16:58:12 +00:00
Ed Sanders 4a8947686d Docs: Standardise "messages used" comments
Change-Id: Ic563901a9439e86ca85ac6210323a35ab34736c3
2019-08-28 16:41:19 +01:00
jenkins-bot 5849de920c Merge "ve.init.mw.ArticleTarget: Use errorformat=html when saving" 2019-08-28 13:43:59 +00:00
jenkins-bot e7985003ab Merge "DesktopArticleTarget.init: Improve handling of 'preloadparams'" 2019-08-28 13:37:54 +00:00
Ed Sanders 7cc538fe51 Use upstream pulsating dot
Bug: T226719
Depends-On: Ibd035ea48b7d0316a7627a91623ff6116ccbae31
Change-Id: Iedf88e9c5ac8efa809ccb25f2081eff9946da395
2019-08-28 13:40:29 +01:00
Bartosz Dziewoński 035f34dac9 DesktopArticleTarget.init: Improve handling of 'preloadparams'
Depends on MediaWiki change I48d4bb3f, which adds the 'arrayParams'
option to handle explicitly indexed array parameters like
`&preloadparams[0]=a&preloadparams[1]=b`. Previously we only handled
implicit indexes like `&preloadparams[]=a&preloadparams[]=b`.

Bug: T231382
Depends-On: I48d4bb3fdf0ea7f5eb133c59bf63651ba356fc42
Change-Id: I8c899bce1b19fa286bd385f89e102a4b87db4db3
2019-08-27 22:32:13 +02:00
jenkins-bot 8f21ec6a5d Merge "ve.ce.MWSignatureNode: Fix rendering" 2019-08-27 18:27:33 +00:00
Bartosz Dziewoński b5aa9e9c72 ve.ce.MWSignatureNode: Fix rendering
The API response format changed in formatversion=2.
Follow-up to 934572cdf7.

Change-Id: I383dfac8b0d10a39b8a9a1b11e11fd595f482619
2019-08-27 17:16:21 +02:00
Ed Sanders 3b09a0719c Link inspector: Turn off 'addQueryInput'
The double result creates more confusion that it clears up,
and now that the query input is always used for text insertion
it is less of an issue that we don't have a case-exact match
in the results list.

Bug: T230819
Change-Id: I58cbe740fa7d0327aadd5dd111161bb7087a4ddb
2019-08-27 12:17:44 +01:00
Ed Sanders 042bfdfd9d Update VE core submodule to master (07687721b)
New changes:
77076f828 LinkAnnotationInspector: add a "label" field on mobile

Local changes:
* Updates for mobile link label editing

Bug: T229431
Change-Id: Ib0489f6f59b228ebc4a20f7a0a515be938a8f6d3
2019-08-23 00:25:51 +02:00
Bartosz Dziewoński 756572ed8a ve.init.mw.ArticleTarget: Use errorformat=html when saving
When saving fails for a reason we don't handle explicitly, the error
message will have HTML formatting and will respect any on-wiki
overridden messages, rather than being plain text generic message.

Extensions providing custom SaveErrorHandlers may need to be updated.
The only one in Gerrit that requires a fix is TitleBlacklist:
Ibeae79c95557a7af699716c9d921f34c310bee6d.

* Remove handling for errors returned in .visualeditoredit.edit.info
  rather than .errors (.error in old format). AFAIK this is only used
  by some extensions, it is probably incorrect to do (T229539) and all
  extensions I know of that do this (AbuseFilter, SpamBlacklist,
  ConfirmEdit) have custom SaveErrorHandlers.

* Remove custom error messages for 'readonly' (identical to API
  response) and for 'hookaborted' (very unhelpful and there is a
  chance that the API response is better, if the extension causing
  this error generates any error message).

* Add a silly shim for MobileFrontend integration, because we allow it
  to handle error responses, and it expects them in the old format.
  This is probably subtly wrong in many ways, but MobileFrontend code
  only uses this for logging, so it shouldn't explode. In the future
  we will hopefully change it to use errorformat=html (T228897#5366960).

Bug: T229532
Change-Id: I3b9c4fefc0869ef7999c21cef754434febd852ec
2019-08-22 00:37:15 +00:00
Bartosz Dziewoński 84d548e7b1 Remove redundant @method annotations
A @method annotation is only necessary when the docblock is not
directly followed by a function declaration (in which case JSDuck
assumes it documents a property), e.g. when defining an abstract
function or referencing a function from another library.

I verified that JSDuck generates exactly the same output before and
after this change (docs/data-<hash>.js files are identical).

Change-Id: I7edf51a8560ab9978b42800ab1026f0b5555c3bf
2019-08-21 23:33:15 +02:00
jenkins-bot eaeb3bde40 Merge "MobileArticleTarget: Tweak styling for editor switcher" 2019-08-21 17:00:41 +00:00
jenkins-bot 2d52d7e86c Merge "MWSaveDialog: On mobile show a back button rather than an x" 2019-08-15 09:32:32 +00:00
Ed Sanders 3cbe0a5a20 Update VE core submodule to master (c2c5149f3)
New changes:
62f06382c Localisation updates from https://translatewiki.net.
5fc25c0d9 LinkContextItem: Apply ellipsis directly to link

Local changes to fix link ellipsis styles.

Bug: T230267
Depends-On: I25bb4fa9b7288232b08bab9c88f281817a26d6bb
Change-Id: I8a4b04d45979a1f6c375a7c92a340e3e81d7753c
2019-08-15 10:12:22 +02:00
David Lynch ac471d47e9 MWSaveDialog: On mobile show a back button rather than an x
Bug: T230058
Change-Id: I370fedddf8475e5688ac4ce53f9ccd7d6137705b
2019-08-14 11:38:38 -05:00
Bartosz Dziewoński e14e24f037 MobileArticleTarget: Tweak styling for editor switcher
The .oo-ui-popupToolGroup-handle styles only need to apply to the
editTools toolbar, where they override OOUI styles so that our
"stretched" toolbar works; they don't need to apply to the pageTools
toolbar, which contains just the editor switcher, and where they make
it look different from the MF wikitext editor toolbar for no reason.

Change-Id: I21315b34be0a7c3938f84ada720ff5754d953879
2019-08-08 19:47:14 +02:00
Ed Sanders 348c880cbe MWSaveDialog: Don't pretend saveButtonLabel is optional
Change-Id: I7cfc5bfbf8893fa4808f2823b37efae7b9e520ac
2019-08-05 21:16:21 +01:00
Ed Sanders 88cb572e35 Fix typo in file header
Change-Id: I6f258f81e6cb129328bf912245f23d6c4d877f47
2019-08-05 21:15:58 +01:00
Ed Sanders bae45b63d2 Use flexbox for mobile toolbar
* Makes edit tools equal width
* Improves horizontal alignment within tools

Change-Id: I01b9668b638c21607b12381efc198edfe02f23da
2019-08-05 12:01:32 +01:00
jenkins-bot 644f409d61 Merge "Use MobileFrontend license message on mobile when available" 2019-08-02 22:12:12 +00:00
Ed Sanders 0b1f0a0eda Use MobileFrontend license message on mobile when available
Bug: T229579
Change-Id: I861f0d997607a34ca04727afd55771cbf14e253b
2019-08-02 16:29:54 -05:00
James D. Forrester 05fb44ae56 build: Upgrade eslint-config-wikimedia from 0.12.0 to 0.13.1
Change-Id: I43f407da92f59a8bf758cc2586e84aa5e18d9ab0
2019-08-02 09:51:07 -07:00
Ed Sanders 89ecd64a55 Make extension body the default description for extension nodes
Change-Id: Ifada2a6a0279e64a1ba82f49e03884e362516a83
2019-07-31 16:38:27 +01:00
jenkins-bot 51b93cea94 Merge "ve.init.mw.DesktopArticleTarget: Fix generated URL when loaded using veaction=edit in single-tab mode" 2019-07-31 13:28:59 +00:00
jenkins-bot 2d2e7dcdb2 Merge "ve.ui.MWLinkAnnotationInspector: Correct code comment" 2019-07-30 23:58:16 +00:00
Bartosz Dziewoński 7d3154fea8 ve.init.mw.DesktopArticleTarget: Fix generated URL when loaded using veaction=edit in single-tab mode
We were incorrectly always adding action=edit to the URL in that case.
The condition was always passing because `this.section` is `null` when
unset, but `this.currentUri.query.section` is `undefined` when unset.
This is a similar fix/bug to a68cc38b22.

Bug: T209163
Change-Id: Ic80ac377b763aea53678c4209ba6b3a6ba2996c9
2019-07-31 01:10:56 +02:00
Bartosz Dziewoński 0f5fe34534 ve.ui.MWLinkAnnotationInspector: Correct code comment
The way this works changed in ff9bf1fcb3 (2015).

Change-Id: I61617723ec6ada8018cdca55eb3fcc971796fded
2019-07-31 00:21:45 +02:00
Bartosz Dziewoński 7ac972d408 ve.ui.MWInternalLinkAnnotationWidget: Remove 'maxlength' to fix pasting URLs
Bug: T228240
Change-Id: I1f1be3a0893bdf8b7f9d07301ed01673eda8327d
2019-07-29 22:07:51 +02:00
Bartosz Dziewoński 8dd0bd23d4 Work around a Parsoid bug with creating interwiki links
As detailed in T95850#5078990, Parsoid incorrectly converts HTML to
wikitext when a link `href` refers to an interwiki page and contains
percent-encoded colon characters ':'. VisualEditor doesn't know
anything about interwiki pages (it treats those links as normal local
links, and expects MediaWiki and Parsoid to handle them specially),
so we can't easily special-case them. But since leaving the colon
unencoded is valid for all links anyway, we can just do that.

Bug: T103635
Change-Id: I87d7e6952983a72d90ea739b0bc8488d9f6a9be3
2019-07-26 01:01:01 +02:00
jenkins-bot 138c3eb53a Merge "ve.ui.MWLinkAnnotationInspector: Update size after showing/hiding errors" 2019-07-25 20:51:33 +00:00
Ed Sanders 32042d76e8 Update VE core submodule to master (fbbb9c4cb)
New changes:
854a1fa2c Distinguish active link styling

Local changes:
* Pull through active link styling

Bug: T228220
Change-Id: I925f88d32a514a749b96f501a211003bc4c924f0
2019-07-25 20:25:54 +00:00
Ed Sanders 9a1994e47c Update VE core submodule to master (7cb9caca1)
New changes:
28aea2e4d Edit cards v2 design
739017973 Track usage of the new "close context" button

Local changes:
* Edit cards v2 pull through

Bug: T222396
Change-Id: I1ca885e8d8127e7827a059755315ed789a7b9210
2019-07-25 22:24:48 +02:00
Bartosz Dziewoński bfc549e720 ve.ui.MWLinkAnnotationInspector: Update size after showing/hiding errors
Change-Id: I84af3fbfea4aa89d76de95cfcdbfd3bc9e69ee83
2019-07-25 00:06:02 +02:00
Ed Sanders b35241497a Use type=url for external link input
Change-Id: I13cfdaaf5e94f07d16270df2933d1b23cf9f0ff7
2019-07-24 13:50:11 +01:00
jenkins-bot ef25e831b9 Merge "MobileArticleTarget: Compat for OOUI scrolling fix on iOS Safari" 2019-07-24 11:34:23 +00:00
Bartosz Dziewoński cc1cb63aca targets: Fix silly indirection via a global variable
Since we're inside the Target instance, `ve.init.target` refers to
this object. Some of the code I'm changing even uses `this` instead
of `ve.init.target` on the next or previous line.

Most of the mistakes are a result of mass search-and-replace changes
(478b0bcb, e1a887cc), or moving the code from other classes (d294006d).
But I can't explain the "ve.init.target.getSurface().getDom()" line,
it would be good to figure out why it was this way before we change it.

Change-Id: I0d7c6a48369242d4c99620fcd775ab537420d84a
2019-07-23 22:39:47 +00:00
Bartosz Dziewoński 0fb7d5efda Update VE core submodule to 962335a40293cf4b1314c0236788f35f080ae877
New changes:
a06204317 Fix TableNode unit test getOffsetFromCoords failure on Firefox
dfe0eb025 Refactor mobile context logic into ve.ui.MobileContext

Local changes:
* Pull through for edit cards refactor

Bug: T227532
Bug: T228767
Change-Id: I6c043e039fbef62a56f475b0dc365e171ab7bf59
2019-07-23 22:13:27 +00:00
Ed Sanders 393de5985f Update VE core submodule to abf2bfa85e64e67cdf963601fe1da2a11fd9e89a
New changes:
1a7460058 Remove ve.newMobileContext feature flag

Local changes:
* Remove ve.newMobileContext feature flag

Change-Id: Ia8def997b7cba4623866080752b06068d2118cc3
2019-07-23 22:12:48 +00:00
Bartosz Dziewoński a5867818ff MWEditingTabDialog: Don't use ve.init.target because it may not be loaded
We also show this dialog on the old wikitext editor, where
ve.init.target is not set, because the relevant code is not loaded.

Follow-up to 478b0bcbb9.

Similar to e88cd81f94, which fixed the
same issue in a different file.

I checked all uses of ve.init.target in files under ve-mw/init/ and I
think this was the only remaining mistake.

Bug: T228684
Change-Id: I15551870cdb01d570e24ba9668e67330b8072e01
2019-07-23 19:09:37 +00:00
jenkins-bot 81fda630e7 Merge "SaveDialog: Hide options bar when empty" 2019-07-19 18:44:46 +00:00
Bartosz Dziewoński b00190a398 MobileArticleTarget: Compat for OOUI scrolling fix on iOS Safari
Our overlay could be higher than the viewport, allowing the viewport
to scroll again.

Bug: T212159
Change-Id: I1e97d1963b214fc7673c33ae6c14ab7b0b80f31d
2019-07-18 02:11:53 +02:00
Ed Sanders 5aea61add7 Update OOUI icons names for article icons in link cache
Bug: T222079
Change-Id: I8ac2d02dfeaec3a197432d1718792a458d626917
2019-07-17 13:08:50 +01:00
Bartosz Dziewoński 3ca8319dfc ve.dm.MWTransclusionNode: Protect <style> nodes too when copying
Bug: T226374
Change-Id: Ie7853382642336638e0a1de9ca506d750ce054ce
2019-07-16 22:51:28 +02:00
Ed Sanders 085764ddd6 SaveDialog: Hide options bar when empty
Since I7f6fd7ee9 it is now possible for the options bar to be
completely empty if the user is logged out. In this case hide
it and only show it again when the character limit needs to be
show.

Ideally we wouldn't have the height change, but it is quite rare
that a user gets to 400 chars and is logged out.

Bug: T228165
Change-Id: Ifbdf352afcbf4e549889e04fdb70fd30ce233aad
2019-07-16 14:28:25 +01:00
jenkins-bot 2d25d15a39 Merge "Add number of images to gallery context" 2019-07-15 23:26:30 +00:00
Ed Sanders c958ea383d Add number of images to gallery context
Change-Id: I3e54c6cb2b29ecb1153afd5f2f61adaabceb095b
2019-07-16 01:04:08 +02:00
Ed Sanders 377ed366cd Add validation to feedback to internal links
Turns out we had this message lying around unused,
so use it (even though an invalid title is quite
hard to come up with).

Change-Id: I0200678820fe88a59869f7fad8f491b4c5b77482
2019-07-15 22:35:59 +00:00
Ed Sanders fba9585dbf Add validation feedback to external link
Bug: T227899
Change-Id: I165ed59402bdffb63b0c79b68a41d509c4574837
2019-07-15 22:35:46 +00:00
jenkins-bot 14539bfe22 Merge "Make page title the target title" 2019-07-15 19:08:11 +00:00
tcreusc 57317a20e4 Make page title the target title
There are cases where the page title and the real/desired page name
are not the same. Fixing that also fixes the suggestions that appear
in dialogs (see related bug).

Bug: T193132
Change-Id: Iafa84c05bea08ebb061ee6d1323eb50945b39815
2019-07-15 17:22:17 +00:00
Bartosz Dziewoński f259bb9c02 MWSaveDialog: Use close flag for close actions, move 'back' button
When previewing/reviewing changes, the "Return to save form" button
now replaces the "Resume editing" button in the top-left corner (and
receives the 'back' flag). Effectively, you tap 'back' once to go back
to the edit summary, and twice to go back to editing. This seems to me
like a much more natural interaction than two separate buttons.

Bug: T225021
Bug: T227049
Bug: T227857
Change-Id: Id27ccf06923c8aa86b1c1a9292bc43bb825ce6c8
2019-07-12 20:33:02 +00:00
James D. Forrester 18472d84a2 Follow-up Id330efac: Only hide the welcome dialog on mobile
Change-Id: I8fa3c6100652d2f29a60bc22c8e08a4d9e79d37a
2019-07-10 13:10:27 -07:00
jenkins-bot 5358d67342 Merge "Remove non-existing showRedlink from ve.ui.MWInternalLinkAnnotationWidget" 2019-07-10 19:06:16 +00:00
Bartosz Dziewoński cde7946bdc MobileArticleTarget: Don't show the welcome dialog
Bug: T227670
Change-Id: Id330eface30d5fad8c7264a2be1ceeb4df3a4952
2019-07-10 18:28:02 +00:00
Niklas Laxström ea66017b4b Remove non-existing showRedlink from ve.ui.MWInternalLinkAnnotationWidget
It was removed in 3e31a31 in 2016.

Change-Id: Ib7383a4ff585258a98d6795487e912597b41900e
2019-07-10 12:18:48 +02:00
jenkins-bot 2ec5bd5447 Merge "MWLinkAnnotationInspector: Work around annoying syntax highlighting bug in Gerrit" 2019-07-09 17:09:40 +00:00
David Lynch e32f460a5c Extra logging for link inspectors
Bug: T221249
Change-Id: I4e5991f7aa90d08598d5ba7ac14839956bee9b94
2019-07-09 10:12:33 +00:00
Bartosz Dziewoński 9ba3255c26 MWLinkAnnotationInspector: Work around annoying syntax highlighting bug in Gerrit
Wrap a regexp in parentheses to avoid confusing Gerrit's New UI syntax
highlighter, which goes crazy if a line starts with a regexp.
https://github.com/highlightjs/highlight.js/issues/1962

Change-Id: I7e4ca4d5c4d449925af7168147016ed2fb8a6e33
2019-07-09 10:08:23 +02:00
jenkins-bot 454a4da6b1 Merge "Log editor switches to visualeditorfeatureuse" 2019-07-04 19:30:42 +00:00
David Lynch 38e3c3fbdb Log editor switches to visualeditorfeatureuse
Depends lightly on a patch to WikiEditor, which will hook up the logging there
for the case where the switch is happening from WikiEditor to VisualEditor on
the same pageload.

Bug: T221191
Change-Id: Ibafec77b2eabd3b3b3767472b7b5a40e3312bf18
2019-07-03 23:58:30 -05:00
jenkins-bot a5e87bca9a Merge "Pass newRevId through to MobileFrontend" 2019-07-02 19:16:07 +00:00
jenkins-bot bad500da7b Merge "ArticleTarget: saveSuccess wasn't receiving expected arguments" 2019-07-02 19:16:03 +00:00
jenkins-bot 1d2b9d20cf Merge "Dialogs: Use close flag for close actions" 2019-07-02 19:01:36 +00:00
David Lynch 4d3ddb07e0 Pass newRevId through to MobileFrontend
Bug: T226847
Change-Id: I22daf4e7637c412aa444d98ec971bb294e4ade06
2019-07-01 15:59:55 -05:00
jenkins-bot 7796b569c9 Merge "MobileArticleTarget: Prevent unwanted page zooming on focus on iOS" 2019-07-01 16:14:35 +00:00
David Lynch c898838585 ArticleTarget: saveSuccess wasn't receiving expected arguments
Way back in 2c24efae in 2015 this got disconnected, which resulted in
saveComplete logging not having the expected updated revision_id.

Bug: T226847
Change-Id: I6dc14bb4b2dacedbe27493a97fa25c9b0542818c
2019-07-01 11:06:16 -05:00
Bartosz Dziewoński 2563bb3d89 MobileArticleTarget: Prevent unwanted page zooming on focus on iOS
Bug: T216446
Change-Id: I48beb1e120b5b087533b0827904212be9286529f
2019-07-01 15:53:29 +02:00
Ed Sanders 3f892fe368 Simplify pulsating dot to one DOM node using :before/:after
Change-Id: I81af08d58a33b6d3751bfc5012217b9bd98e69dc
2019-06-27 15:35:50 +01:00
jenkins-bot 2699566577 Merge "iOS browser menu bar tap stealing hack for bottom contexts" 2019-06-26 20:38:47 +00:00
Ed Sanders 5c62ae20ef Clear edit summary when switching section and discarding changes
Bug: T191590
Change-Id: I1d3c4528dd07fcff90ffa378ade1d6982fc68791
2019-06-26 19:51:16 +00:00
jenkins-bot b57aaa59cd Merge "MW link inspector: Empty before appending" 2019-06-26 19:23:12 +00:00
Ed Sanders d4bd5d14c8 Fix link normalization when opening inspector
Move fix for I92ffc19eab4e to getInsertionData as getTextFromAnnotation
is also used when populating internal link search field.

Bug: T226645
Change-Id: I60806932b00a742dae52651fb7931caf07413361
2019-06-26 16:16:17 +01:00
Ed Sanders 239e592d15 MW link inspector: Empty before appending
We don't inherit any root DOM structure from the parent,
so explicitly clear it.

Change-Id: If4c034e8230ccaf721a8e3667f29c6783c94a8bb
2019-06-23 16:58:04 +01:00
jenkins-bot 552c5e3331 Merge "Improve debug bar margins on mobile" 2019-06-22 21:14:23 +00:00
Ed Sanders e83e80f42e Show edit summary on preview page
Bug: T199582
Change-Id: Ia8c2322706e8e635498c447dddb3b4b98040e27e
2019-06-21 12:54:13 +01:00
jenkins-bot 115382f4db Merge "Prevent text on save/publish button from wrapping on mobile" 2019-06-20 19:20:51 +00:00
Bartosz Dziewoński 0af3ea84de Prevent text on save/publish button from wrapping on mobile
If the translations of save/publish button messages like
'visualeditor-savedialog-label-publish-short-start' contain spaces
(e.g. in Bengali 'bn'), the button on mobile would wrap over two
or more lines, due to weird styles we have for the mobile toolbar.

Change-Id: Ieb439ae489ab7110b81382ffdcf0d3d3ad2f84ac
2019-06-20 20:29:52 +02:00
Ed Sanders ad87c6c009 Improve debug bar margins on mobile
Change-Id: I6fd8b89dd44d5d8d933822851499264e4d0f4585
2019-06-20 13:15:52 +01:00
Timo Tijhof 45f3b5644c trackSubscriber: Remove use of 'ext.eventLogging.subscriber' alias
Deprecated in favour of 'ext.eventLogging'.

Bug: T221281
Change-Id: I16ca136be84b9c50208c4e702ec75d7ca33afd96
2019-06-20 00:57:17 +01:00
Ed Sanders 22f43207fe Apply active external link fix to all skins
Change-Id: Ic66082fca53f803f9ede6c100beb9072b40a0c00
2019-06-18 15:23:10 +01:00
jenkins-bot 69ff78868f Merge "Remove 'mobile-ab' config for section editing" 2019-06-17 20:37:51 +00:00
Bartosz Dziewoński 600e369347 iOS browser menu bar tap stealing hack for bottom contexts
Change-Id: I7607bef4253fde894e307bcecaac6bd342864c0c
2019-06-14 23:49:38 +02:00
Ed Sanders df8feb6faf Move mobile context to bottom of page
Hidden behind ve.newMobileContext feature flag.

Bug: T204733
Depends-On: Id276686a0e82c12c457c81eaec9939722c65c7ec
Depends-On: Id5f7ead769dc30c0fbd2a8b8f6f6c4d68dcfabac
Change-Id: Ibd4b699dfe4bb9bcaec6898b6b82357eb287d128
2019-06-14 20:57:22 +00:00
jenkins-bot 8cce3fa72a Merge "Avoid setting '&section' (with no equals or value) when switching to OWE" 2019-06-14 18:41:19 +00:00
Bartosz Dziewoński a68cc38b22 Avoid setting '&section' (with no equals or value) when switching to OWE
mw.Uri requires undefined rather than null to unset a parameter;
null instead generates a parameter with no value (and no equals sign).
Our own code in ve.init.mw.DesktopArticleTarget.init.js parseSection()
can't parse that and causes an exception.

Change-Id: I783ea6b91c115b79bbd9deac6669bea0661139af
2019-06-14 20:20:26 +02:00
jenkins-bot 355a54b792 Merge "trackSubscriber: Migrate away from deprecated 'schema.' modules" 2019-06-14 00:27:11 +00:00
jenkins-bot ed6d540289 Merge "MobileArticleTarget: Update loading interface for new design" 2019-06-13 20:00:34 +00:00
Timo Tijhof fda2729ebc trackSubscriber: Migrate away from deprecated 'schema.' modules
The EventLogging extension no longer uses these internal modules.
They were phased out as part of last year's "lightweight EventLogging"
project (detailed at T187207). Migration notes at T205744.

VisualEditor has migrated already, mostly. It still depended
on the existence of these module names for some condition guards.

* The subscriber for 'mwTimingHandler' was guarded by 'schema.EditAttemptStep',
  but did not emit events of that schema. What 'mwTimingHandler' really
  needs is the '*SamplingRate' variable for its call to 'inSample()'.
  This previously worked because the variable and the schema are both
  provided by the WikimediaEvents extension.

* The subscriber for 'activityHandler' had a separate schema guard. This
  might suggest an intent for the code to silently degrade if WikimediaEvents
  were to be changed to no longer supply the second schema, or for the code
  to work for third-parties without WikimediaEvents if they register only
  the schema. However, this subscriber too calls 'inSample()' and needs those
  variables.

I've assumed for now that it is okay for these to all be guarded together.
Even if the schemas were to be removed and we were to forget updating this
code, the new EventLogging client degrades gracefully from this (no errors).

Bug: T221281
Change-Id: I260c25752c3becfe6e499813197fbf7a3dba88c3
2019-06-13 18:28:49 +00:00
Ed Sanders 87a3402203 Remove 'mobile-ab' config for section editing
Test is over.

Reverts I2c22d7636ae11d2db7780ae5adb3abe9df532b7c

Change-Id: I883dc8d6de6f2f39afc6b42c60503c3155f9fd8f
Depends-On: If3d24b44e37ca53826c60ada02cdf5636aa8606a
Bug: T225645
2019-06-12 17:45:20 +01:00
jenkins-bot 9114e5403b Merge "Reorder calls so that window is scrollable when trying to scroll to section" 2019-06-11 22:18:13 +00:00
Bartosz Dziewoński baa8bcb476 Reorder calls so that window is scrollable when trying to scroll to section
Bug: T225292
Change-Id: I07d899098cff13cf4f8224c45f118290bc392c53
2019-06-11 22:02:39 +00:00
Ed Sanders 2b7bbf0737 Cleanup mwcore messages and dependencies
* Move many messages from mwcore to articletarget or mwsave
* Delete old unused messages
  - visualeditor-beta-label
  - visualeditor-toolbar-savedialog
  - visualeditor-toolbar-savedialog-short
* Remove unused core messages (showtoc/hidetoc)
* Fix typos in comments

Change-Id: I59455f4cad272db9fd05f45f8a66069e5da0421d
2019-06-11 20:42:01 +00:00
Ed Sanders 7ad624f0a3 Remove switch confirm dialogs
Bug: T220007
Change-Id: I81b39a02d573d96bcb6b4238aabbcd077e874906
2019-06-11 22:35:34 +02:00
Ed Sanders efae95dabf Dialogs: Use close flag for close actions
Bug: T225021
Change-Id: Ifd0cb40031c2717cc0716f98a27c124f54709003
Depends-On: I67b8474b0662f8dbc23c1b5ff883e3d4093bdbd4
2019-06-10 15:58:47 +01:00
Bartosz Dziewoński eb8aede95f MobileArticleTarget: Update loading interface for new design
* Remove animation for toolbar sliding into place. It now happens on
  the fake toolbar in MobileFrontend shown before the real toolbar
  loads, and our toolbar just transparently replaces it.

Bug: T217784
Depends-On: If21aa0ea619ec2500ce5fca6fe81eb27f26bb047
Change-Id: Ib6ff7594e1982d1b46e9ca89d6b9722d025e8207
2019-06-05 12:43:33 -04:00
Bartosz Dziewoński f48b5bcc9a MobileArticleTarget: Fix silly indirection via a global variable
Change-Id: I71349313b493c18cebe30df0b1b03defe81bb80e
2019-06-05 16:40:18 +00:00
Bartosz Dziewoński 9cbc22c70d MobileArticleTarget: Remove a method that just calls the parent
Follow-up to 500462f4b2.

Change-Id: I1916a58b8814d1f03a14a35881f531d9de319736
2019-06-04 15:52:13 -04:00
Bartosz Dziewoński 4184d44dc5 MobileArticleTarget: Remove duplicate way to trigger abandon warnings
Abandon warnings are already handled by the code in MobileFrontend's
EditorOverlayBase. Using window.history.back() causes that code to run.
Having a duplicate way to trigger them only results in inconsistencies
because our dialogs animate in a different way.

Bug: T222315
Change-Id: I19c5616a6aeecf0ac63f37a564ef44f11df010b0
2019-06-04 15:50:59 -04:00
Bartosz Dziewoński 8ae4925676 Allow switching from WTE to VE with changes in non-RESTBase mode
* Change the query in ve.init.mw.ArticleTargetLoader#requestParsoidData
  so that in non-RESTBase mode with wikitext it still returns the
  metadata required to initialize the editor, using the backend API
  code added in I1b35b28e428a1f86d2e34d90ddbe73361ce14818. This fixes
  the exception from T222312.

* Introduce new configuration option $wgVisualEditorAllowLossySwitching
  to control this feature. It is enabled by default, fixing T214542.
  We allow it to be disabled because switching in non-RESTBase mode may
  cause "dirty diffs" (non-semantic changes to the wikitext), which are
  undesirable on wikis where users carefully review all changes.

Bug: T214542
Bug: T222312
Change-Id: I58879cba5612002c70c24731306214d2577c2c52
2019-05-30 20:18:53 +02:00
Ed Sanders b1ac5b74d3 Update VE core submodule to master (06f1ebb8e)
New changes:
06f1ebb8e Local/SessionStorage refactor

Local changes:
* Update for core storage refactor

Depends-On: I3cc1d5adfbce794e8345b7f1090c10fb0d42d150
Change-Id: If855ee33b0993788cc159d8c3acf03070e6a9566
2019-05-29 14:49:53 -07:00
jenkins-bot 4ec7272876 Merge "MWEditSummaryWidget: Use showSuggestionsOnFocus flag" 2019-05-29 15:29:13 +00:00
jenkins-bot 795e7b13fb Merge "Special-case redlink URLs to load preferred editor" 2019-05-28 23:21:28 +00:00
Ed Sanders 4dc8ee52a1 Use nullSelectionOnBlur when section=new
Section=new behaves more like a form than a full
document editor, so allow focus to be fully moved
to the title input without leaving a deactivated
cursor behind.

Change-Id: I7e3835da925b27f5df79dcbdd4550445795cdc51
2019-05-27 12:39:19 +01:00
Ed Sanders 4a692e762d Special-case redlink URLs to load preferred editor
In general action=edit could be bound to a wikitext-specific
edit link, but in the case of redlinks we can use the
preferred editor instead.

Bug: T223793
Change-Id: Ib0851e9e2ce441ae93311153801e2c3de0a2063d
2019-05-26 17:55:38 +01:00
Bartosz Dziewoński fbb56d66fa Store 'canEdit' property when auto-saving or switching editors
Added in b9835f75d3.

Bug: T224319
Change-Id: I05d6aa500ba921d114f33972369ad4dd53b8e140
2019-05-24 23:15:38 +02:00
jenkins-bot 9dac4f7746 Merge "MWInternalLinkAnnotation: handle non-internal links that say they're mw:WikiLink" 2019-05-24 16:54:15 +00:00
Ed Sanders 5b4158860a 'scrollCursorIntoView' -> 'scrollSelectionIntoView'
Change-Id: I202b1bdb3196b318c26422577b66de66d37080c8
Depends-On: Iac446ce9fce170b43c96001ca89e8af4825522ca
2019-05-24 10:11:38 +00:00
Ed Sanders c1130d386c MWEditSummaryWidget: Use showSuggestionsOnFocus flag
Bug: T169484
Depends-On: Ib47c9831ea712bf92b56a88474c3419067124458
Change-Id: I8697e153d4ed0bfbc8d89b65ff63a302c11a27ea
2019-05-24 11:09:26 +01:00
Bartosz Dziewoński d43262feb6 ve.ui.MWEditSummaryWidget: Remove a hack for T220204
Change-Id: I1539eb72b9b313c32743b300a58a734f3eaafef4
2019-05-23 21:30:15 +02:00
jenkins-bot 603223152c Merge "Replace call to setToolbarHeight with setPadding" 2019-05-23 18:25:46 +00:00
Ed Sanders 617e4d8d61 Replace call to setToolbarHeight with setPadding
Bug: T224126
Depends-On: Id5f7ead769dc30c0fbd2a8b8f6f6c4d68dcfabac
Change-Id: I140cdb320dbb0368bc36a0a0210523937b9f7dea
2019-05-23 18:11:03 +00:00
jenkins-bot 9482cc3ec5 Merge "Debounce calls to 'adjustContentPadding'" 2019-05-23 17:57:14 +00:00
Ed Sanders 9bc0383733 Debounce calls to 'adjustContentPadding'
Change-Id: I045ad541c5997a7d9c0f24b4e097057524756def
2019-05-22 15:06:12 +01:00
Ed Sanders 4beab42217 Switch to wikitext: Don't set oldid if unmodified current ID
Bug: T223651
Change-Id: I5a896cd98d304c419e61c5f56adb6175bc1c72a8
2019-05-22 14:32:54 +01:00
Bartosz Dziewoński b9835f75d3 Check if page is really editable and call #setReadOnly accordingly
There are various circumstances where the wgIsProbablyEditable check
gives incorrect results (hence the 'probably'):

* User is blocked (T111217)
* Page is protected from creation (T173763)
* Page is transcluded on a cascade-protected page (T217217)

Bug: T111217
Bug: T173763
Bug: T217217
Change-Id: I7df8909c31f29d2e7521bef8612c27cb61146a4d
2019-05-18 17:23:31 +02:00
jenkins-bot 7dc2fee2f7 Merge "MobileCollabTarget: Cleanup toolbar" 2019-05-17 16:55:29 +00:00
Ed Sanders b6704010fa Automatically add a template when chosen from the autocomplete list
This behaves in the same way as the link inspector.

Change-Id: I8901c636cd5c74023f4c6c562b410f55afe91124
2019-05-17 13:15:07 +02:00
David Lynch c66f8e0547 MWInternalLinkAnnotation: handle non-internal links that say they're mw:WikiLink
The likely case for this is: copying from within VE in one wiki, and pasting
into VE in another wiki. This change will notice this happening, and fall back
to treat it as an external link. (For the wiki-internal links, this will turn
them into interwiki links rather than raw external links.)

Bug: T223322
Change-Id: Ie0157fc3aee6e5fd9973a2889be7ebd287bc90a5
2019-05-14 14:35:39 -05:00
Ed Sanders 47af04b8d9 MobileCollabTarget: Cleanup toolbar
Change-Id: I4b2e21ce61cb647ca6a74bdbdd8def614ed41341
2019-05-14 20:19:54 +01:00
Bartosz Dziewoński aadec90f0f DesktopArticleTarget.init: Fix wrong message used for 'Edit' tab in rare cases
If a new namespace was added to $wgVisualEditorAvailableNamespaces,
but VE was loaded on a page with old cached HTML, the 'Edit' tab's
text would incorrectly be 'Edit source'.

If $wgVisualEditorTabMessages['edit'] or ...['create'] was changed
from non-null to null, but VE was loaded on a page with old cached
HTML, the tab would still use the old text.

Change-Id: I2d5c7b922ba480eb90fa0a6da7a1901f062c96df
2019-05-14 00:19:08 +02:00
Bartosz Dziewoński a76d3daf54 DesktopArticleTarget.init: Allow veaction=edit to override namespace settings
Prior to 80bfbfc54b this worked by
accident, and with a number of bugs depending on your settings (see
T219457). It turns out that Wikipedia users have invented various
workflows that depended on this bug (mostly involving sandbox pages in
namespaces where VE is not enabled). Restore it as a supported
feature, and in a way that avoids the problems it previously caused.

Bug: T221892
Change-Id: I62714b6f2905efd1d1b34c7a13b9917cb6c609fc
2019-05-14 00:18:47 +02:00
jenkins-bot e59da0183f Merge "Section switch from wikitext to VE" 2019-05-13 19:24:58 +00:00
Ed Sanders 3a4822c2fe Section switch from wikitext to VE
Use an API 'parse' call with a sectionid to trigger
a full document expansion using replaceSectionAtRev.

Then send this off the RESTBase to convert to HTML
and statsh.

Ensure the etag is passed back to the API response.

Bug: T117716
Bug: T223023
Change-Id: I1b35b28e428a1f86d2e34d90ddbe73361ce14818
2019-05-13 19:49:10 +01:00
jenkins-bot a0a1f5422e Merge "Fix inheritance of isResizable" 2019-05-13 18:11:44 +00:00
Ed Sanders 4c8346f822 Fix API request for media dialog preview
Regressed with upgrade to apiversion 2.

Change-Id: I257c367b8f639a389002fefcd074e2fffe5a3bd4
2019-05-13 12:51:54 +01:00
Ed Sanders 20f876ca69 Fix inheritance of isResizable
Bug: T223086
Change-Id: Ib57b9a0173903db438120b94ffa391e734aee614
2019-05-13 12:00:05 +01:00
Ed Sanders a424bc3da5 SaveDialog: Move iOS Safari hack to avoid losing focus
Bug: T222859
Change-Id: I07b530573a8f5b900bdb5cbc15314f5758baf36a
2019-05-13 11:50:55 +01:00
jenkins-bot e46debccea Merge "Fix edit summary preview" 2019-05-12 12:03:47 +00:00
jenkins-bot 4197941786 Merge "Fix visual diff in 2017 WTE" 2019-05-12 11:55:31 +00:00
Ed Sanders 95b9bb7e71 Fix visual diff in 2017 WTE
Change-Id: Iaa4c470f8677b83af92138ee44d57fb6a6e903d0
2019-05-11 22:02:19 +01:00
Ed Sanders 83b1e02286 MobileArticleTarget: Fix typo in tool config
Change-Id: Ib465ac175a3ab40584c0199b7801eca03644b2d5
2019-05-11 21:36:42 +01:00
Ed Sanders 5346acc175 Fix edit summary preview
API version 2 doesn't use the '*' property.

Bug: T222999
Change-Id: I4da49dfd6f1e7ffe682fb803bb256ab7ec2aad61
2019-05-11 21:24:43 +01:00
jenkins-bot 28c4e25024 Merge "Fix initial rendering of interwiki links" 2019-05-08 22:42:01 +00:00
jenkins-bot c1c7e22347 Merge "Link inspector: Pass new 'showInterwikis' option to title widget" 2019-05-08 19:46:36 +00:00
Ed Sanders 1168db2370 Link inspector: Pass new 'showInterwikis' option to title widget
Bug: T222831
Change-Id: I28a8c8cbb90f9917301bafa877e0ae66970816e7
2019-05-08 13:48:24 -05:00
Marko Obrovac c32bce5add ArticleTargetLoader: Add stash=true query param to RB HTML fetching
RESTBase is changing the way it is storing HTML/data-parsoid renders. In
order to still support VE (and other editors) with quick access to HTML
and matching data-parsoid (needed later for transforming the modified
HTML to wikitext), VE now needs to let RESTBase know it intends to
perform a transformation call later on. In that case, RESTBase will make
sure to keep the matching data-aprsoid around for long enough.

Bug: T222639
Change-Id: I02672e29bd0f331794fd77d9e56f9cc6822d9b9e
2019-05-08 13:30:01 +02:00
Ed Sanders bee8344efe Fix initial rendering of interwiki links
This does not fix the rendering of new
or modified interwiki links, which will
require an API request.

Bug: T185083
Change-Id: Icb72291e8662456e1a233392bf22d786c7eed1e5
2019-05-07 14:44:18 -05:00
jenkins-bot 7c0650cca2 Merge "Fix abandon edit warning message" 2019-05-07 01:33:29 +00:00
jenkins-bot c8dd21f87d Merge "Fix setting of this.loading so it can be cleared" 2019-05-07 01:10:01 +00:00
Bartosz Dziewoński 274d1cfde6 ve.ui.MWWikitextSurface: Hide UI of extensions that attach to our dummy textbox
Bug: T211898
Change-Id: Ieec33166299ddba4bdd36b3feb0376d82bb704d3
2019-05-06 22:56:39 +02:00
jenkins-bot bc764b1644 Merge "Fix some bad math in CSS code comments" 2019-05-06 20:13:25 +00:00
Ed Sanders c035073cf9 Fix abandon edit warning message
This message was upstreamed to core and later renamed.

Use the upstreamed dialog itself when switching sections.

Bug: T222525
Change-Id: Ibd2d75ec503e92b5ddec2105f762b0c9f0dc96fb
2019-05-06 15:11:58 -05:00
Ed Sanders 0bc3c81978 Fix setting of this.loading so it can be cleared
Set this.loading to dataPromise before the done
handler is attached as that can run synchronously
and try to set this.loading back to false.

Change-Id: I4e5208b7bac9968951f30555dc56e054c38a3935
2019-05-06 15:11:52 -05:00
Bartosz Dziewoński b9dfb5debb Fix some bad math in CSS code comments
Change-Id: Iff405ab0defabe0fff8f3b2ad2e86ceae78ef546
2019-05-06 21:53:15 +02:00