Commit graph

1171 commits

Author SHA1 Message Date
jenkins-bot d55b8f8d2f Merge "Don't insert comment markers inside <figure>" 2022-10-26 16:28:37 +00:00
Bartosz Dziewoński c6cd20f682 Remove support for <span class="mw-headline-number"> in headings
This feature has been removed from MediaWiki in change
Ic9ed88f419419cf4cc5cc32010539eea8b76314b.

Change-Id: If11b33589f47eab614f5129b38e80d0f3cafa083
2022-10-25 18:59:05 +00:00
jenkins-bot 212db49484 Merge "Add 'specialCharacter' tool to toolbar" 2022-10-25 15:53:48 +00:00
jenkins-bot c728f35e3a Merge "logger: Also log VisualEditorFeatureUsage events via Metrics Platform" 2022-10-24 12:48:25 +00:00
Bartosz Dziewoński d2df103803 Don't insert reply tool outside <section> on mobile
Bug: T319148
Change-Id: I7db0ef1980f4997b77593f3d43d35886ecd8a4ae
2022-10-21 01:20:13 +02:00
jenkins-bot d5bbe213cb Merge "Remove oldid from URL when refreshing page" 2022-10-20 22:44:58 +00:00
Ed Sanders 7364214ea6 Remove oldid from URL when refreshing page
Code mostly copied from VE, but ported to native URL object.

Change-Id: I3e780f33df548c59741b7ae3b5dfb33f657d24a3
2022-10-20 22:02:10 +00:00
jenkins-bot 38bc9bba60 Merge "Separate out mobile init from controller.js" 2022-10-20 21:57:35 +00:00
Bartosz Dziewoński 5ed1c4a482 Add accesskey "s" to the "Reply" / "Add topic" button
Add brackets around the existing shortcut key labels, so that they
don't look quite so out-of-place next to the automatically added
accesskey label.

Bug: T278249
Change-Id: Icc0df5ba036080807ea0eb215f5526c93da78ef1
2022-10-20 22:58:25 +02:00
jenkins-bot c049f07055 Merge "ReplyLinksController: Skip empty reply buttons container" 2022-10-20 14:35:34 +00:00
Ed Sanders 292725e864 Add 'specialCharacter' tool to toolbar
Bug: T249072
Change-Id: I9db0954db05f825adaa311bb3777c5e4493172b6
2022-10-20 12:22:19 +00:00
jenkins-bot 4935197c66 Merge "logger: Use wgWMESchemaVisualEditorFeatureUseSamplingRate config variable" 2022-10-19 19:09:24 +00:00
Func 3cbab3b789 ReplyLinksController: Skip empty reply buttons container
For preview parsing, the span containers are empty.

Not sure why not strip the container along with all generated
contents, but this should be the easiest fix.

Bug: T321185
Change-Id: I9afb2d0f543b79dbac8a652236fe55284de542a8
2022-10-19 23:14:27 +08:00
jenkins-bot f953953c9b Merge "Fire wikipage.content hook on edit notices" 2022-10-18 16:19:57 +00:00
Ed Sanders 481b687c35 Follow-up I394f02912: Use existing class API to move button away from sticky header
Bug: T318474
Change-Id: Iab3a817e305d48e922499aad3620d93cf8aa165e
2022-10-17 14:49:36 +01:00
Ed Sanders d0cd0e57a1 Separate out mobile init from controller.js
Change-Id: I2dfafc1d816c5cae97fd51bc11de9aefbdd73ee8
2022-10-14 17:38:19 +01:00
jenkins-bot f6e271d781 Merge "Remove all hacks for old HTML in HTTP cache or parser cache" 2022-10-12 14:20:52 +00:00
Bartosz Dziewoński 65339e3ad4 Fix new topic tool appearing from autosave in edit mode
Follow-up to 2bc76dabd7.

Bug: T317005
Change-Id: I2f982e7e631cc45375143b1ba280850e66e51719
2022-10-11 00:26:55 +02:00
Bartosz Dziewoński 2ad3e4ad26 Fix new topic tool appearing from autosave in its own preview
Follow-up to 9425f75f47

Bug: T317005
Change-Id: I247f33e3658fbb8307a725b7c4fdc5871932b5d3
2022-10-10 23:12:18 +02:00
Ed Sanders 2c160ddb72 CommentItem.js: Ensure timestamps are UTC
This will not be the case if we do a full parse in the
client on a non-UTC site.

Change-Id: I226c4f580e60114992bfc06896ef4868e6ea9124
2022-10-10 14:50:02 +01:00
Bartosz Dziewoński f8d25be872 Remove all hacks for old HTML in HTTP cache or parser cache
Change-Id: I609cbbf5b26eca3a84bae91cc17cbc663925714c
2022-10-09 18:17:35 +00:00
Bartosz Dziewoński 8664de52d1 Don't insert comment markers inside <figure>
…when wgParserEnableLegacyMediaDOM=false. See task for details.

Bug: T320285
Change-Id: I397cb70f915bb8d974fe2796198d252b1be9a368
2022-10-08 23:23:54 +02:00
Ed Sanders 0e5f4460a7 Fix styling of heading input in new topic tool
We accidentally set some proposed mobile styles for desktop.

Change-Id: I3d7092137708196599ccf44fed948757b9aef276
2022-10-03 17:20:10 +02:00
Sam Smith 2f6305b7b5 logger: Also log VisualEditorFeatureUsage events via Metrics Platform
The VisualEditorFeatureUsage instrument is a candidate for migration to
the Metrics Platform [0]. The first step of the migration is to log
events both using the Event Platform directly (i.e. via
mw.eventLog.submit()) and using the Metrics Platform client (i.e. via
mw.eventLog.dispatch()).

The Metrics Platform Client can mix in additional information -
so-called context attributes [1] - based on the stream configuration.
The majority of the default values mixed into each event via the
mw.eventLog.Schema defaults mechanism are already known to the Metrics
Platform Client.

Note well that the Metrics Platform client will not log an event without
one or more streams being configured to receive that event. Therefore,
this change is a NOP.

An example stream configuration is given in [2].

[0] https://wikitech.wikimedia.org/wiki/Metrics_Platform
[1] https://gerrit.wikimedia.org/g/mediawiki/libs/metrics-platform/+/aed6738b845/js/src/StreamConfig.d.ts#31
[2] https://phabricator.wikimedia.org/T309602#7973206

Bug: T309602
Change-Id: Ib919ae0e3f404c85cef17637ea91bb95d5030cf1
2022-10-03 12:02:23 +01:00
Sam Smith b90a2675b0 logger: Use wgWMESchemaVisualEditorFeatureUseSamplingRate config variable
... for the sampling rate for the VisualEditorFeatureUse schema.

Bug: T312016
Depends-On: I259757db0c4441a3fcfce505d5bc82dcf2acf58c
Change-Id: I1c7f9c06384549deac2787f5df93c0078b6402af
2022-10-03 11:46:43 +01:00
Bartosz Dziewoński 5f32c90225 Fire wikipage.content hook on edit notices
Bug: T319133
Change-Id: I36efb9326a9bf0efc5ef646d49361b314fdd0b5a
2022-10-02 11:38:33 +02:00
Bartosz Dziewoński 8d727dc26d Fix reply link/button margins on RTL wikis
Follow-up to c232df01a4.

Change-Id: Ie8c463108d2e0cb172d270d6205677459adbb86a
2022-10-01 21:52:32 +02:00
Ed Sanders c2594914f9 Don't re-color :visited links that act as buttons
Bug: T319019
Change-Id: I26820229820768390827e79ec09c86eeed424531
2022-09-30 13:40:26 +01:00
Ed Sanders f9d8b7afd5 Reduce padding around reply button slightly to improve vertical alignment
Change-Id: Ia420f1d6bf1038bfe803c62aba636f046d74bb29
2022-09-29 14:42:11 +01:00
Bartosz Dziewoński 4d1722d1e6 Fix double <div class="mw-parser-output"> after saving
Follow-up to d00fa80ff4. .html()
replaces the inner HTML, .replaceWith() replaces the outer HTML.

Change-Id: I8da2d24d439acc5e83ef1f42959fefef27bbea71
2022-09-29 01:26:33 +02:00
jenkins-bot f910e54802 Merge "Empty state banner: Improve selector for hiding top border" 2022-09-28 16:30:45 +00:00
Ed Sanders 79d4879b3a Empty state banner: Improve selector for hiding top border
Pages can be empty (blanked) without outputting the noarticletext
class, so just suppress the top border if the banner is the first
child of the document.

Change-Id: I808160a7f73a9a976d25e77f4bd47727a57b70c0
2022-09-28 17:04:42 +01:00
jenkins-bot f4f83bfb2f Merge "Show mf-section-0 in preview" 2022-09-28 15:45:29 +00:00
jenkins-bot 8a2e02e8e1 Merge "Suppress top border when section follows <h1>" 2022-09-28 15:40:07 +00:00
Ed Sanders df96154538 Show mf-section-0 in preview
Bug: T318758
Change-Id: I12039696bfe0f06e21b28ed32fdfc23442033805
2022-09-28 14:38:20 +01:00
jenkins-bot 99c772d4ee Merge "Add mw.track call when comment setup fails" 2022-09-27 22:32:08 +00:00
Ed Sanders f6df39c11a Always scroll "Loading..." text into view
If the widget has just been opened, it should already be in view,
but when we are recovering from auto-save it might not be.

Scrolling it into view lets the user know sooner that a draft is
about to be recovered.

Change-Id: I2b8232edc20e71b04a3f106107c0c7bc6333f66a
2022-09-25 13:28:14 +01:00
Ed Sanders 688cdc24ae Move "Return to comment" below sticky header when present
Also ensure that when we click the button, we scroll the widget fully
into view below the sticky header.

Bug: T318474
Change-Id: I394f02912cd6ab2773552a7364691ef89a17369c
2022-09-25 13:28:12 +01:00
jenkins-bot 43f95c18c3 Merge "Tweak topic container margins on desktop" 2022-09-22 15:32:34 +00:00
Ed Sanders a9488a9ead Suppress top border when section follows <h1>
Bug: T318198
Change-Id: I550dd240fe629d0159448ea49d49195de0166a25
2022-09-21 21:39:40 +01:00
David Lynch 9ee2301f1e ThreadItemSet.newFromAnnotatedNodes needs to wait to compute names
Computing the name, for headings, requires determining the oldest
comment. This must not be done before all the replies are added to the
thread.

Follow-up to e24550fae9. It was
already *technically* incorrect before then because it was generating
the name based on the first comment in the thread, but that was only
not the oldest in very unusual cases so it was fine. That commit caused
the thread summary to be cached when first requested, however, which
made future requests for oldest/newest comment and authors to be
incorrect.

Bug: T318057
Change-Id: If0bd6caf88e72cd3f91e7f0633c40b445f5e2246
2022-09-19 14:13:51 -05:00
Ed Sanders 39502b4f9a Use margin to position comment marker to avoid Chrome bug
Bug: T317135
Change-Id: I627d92fabaa9d9e477279041d3c40a7c6bfe37c8
2022-09-14 10:01:53 +02:00
Ed Sanders 516ea4a970 Tweak topic container margins on desktop
Bug: T314449
Change-Id: I021dbd33f211fcdc5ef2fea1d99212df772053b4
2022-09-14 09:59:39 +02:00
David Lynch 968250bb02 Add mw.track call when comment setup fails
Bug: T310390
Change-Id: I6df98032469931276ea096a008fdf8f63893dff5
2022-09-14 01:23:07 -05:00
jenkins-bot f152ca001d Merge "Reduce size of topic headings to 18px on mobile" 2022-09-10 11:53:39 +00:00
jenkins-bot 639ad57914 Merge "Suppress top border of first section on mobile" 2022-09-10 11:53:37 +00:00
Ed Sanders 9af812720c Reduce size of topic headings to 18px on mobile
Also reduce spacing around headings and meta bar.

Bug: T311612
Change-Id: I40e01caea22c6b89122a29f87282e4147961f6a7
2022-09-10 12:46:34 +01:00
Ed Sanders 7a579fd67b Suppress top border of first section on mobile
The :first-child that would usually do this doesn't work
due to the hidden .mf-section-0.

Change-Id: I772414f563543f6a39ec61e87a9c46cb3ef6690d
2022-09-10 12:44:32 +01:00
jenkins-bot 183fba9171 Merge "Update mw:tocplace CSS hack" 2022-09-09 21:12:43 +00:00
Ed Sanders e24550fae9 Refactor thread summary getters
Replace getThreadSummary with individual getters that call
calculateThreadSummary once.

Change-Id: Ie8a8b4d7cb5121847b78dbc20bca2c8d48c7d857
2022-09-06 23:19:13 +02:00
jenkins-bot 1c624210f4 Merge "Table of contents style tweaks" 2022-09-05 21:43:06 +00:00
Ed Sanders 5c7cf02457 Table of contents style tweaks
* Make "X comments" appear on a new line deliberately
* Remove parentheses around "X comments"

Bug: T309463
Change-Id: I803eee9db59c633f129f15e436242a12bcc627f0
2022-09-05 12:57:31 +01:00
jenkins-bot cb4eb9f9e9 Merge "ReplyWidget: Ignore pending updates after tearing down" 2022-09-03 20:23:22 +00:00
Bartosz Dziewoński 9b317c6f22 ReplyWidget: Ignore pending updates after tearing down
When using ReplyWidgetVisual, this would just crashes in #getValue.

When using ReplyWidgetPlain, if the timing is right, this might update
our auto-save after the value was cleared in the teardown code,
breaking the way we restore the reply after showing new comments.

Bug: T316074
Change-Id: I23c5f17a6ff9a6ec9c73a176e4cc60e3ad96e7f1
2022-09-03 06:55:42 +02:00
jenkins-bot f8b5ada93d Merge "Remove clear:both from topic containers" 2022-09-03 00:25:27 +00:00
Ed Sanders 664d5d041a Fix fetching of oldest comment in a thread
The implementation in Parser doesn't descend into sub-thread.
Re-use the getThreadSummary method in ThreadItem and traverse
the thread properly.

Bug: T298617
Change-Id: I318d9012eb83f37ccbe463923524ef2e9f995ced
2022-09-01 21:22:09 +00:00
Ed Sanders 2883829678 highlighter: Use upstream getTargetFromFragment
Bug: T315872
Depends-On: I605a24c708e60ccffde9dce524485f61fd5c7b06
Change-Id: Ie689c57ce23b6298e089c7bf9bc53409abc45016
2022-08-31 13:10:10 +00:00
Ed Sanders b4eaa05c1c Update mw:tocplace CSS hack
Bug: T311502
Depends-On: Ie63eed07b9bca1bfa07d4c256aba3728cedd8f93
Change-Id: I989e178419aec75b673308ca26f967176116e260
2022-08-30 14:41:34 +01:00
jenkins-bot e680735d63 Merge "Remove all stuff about legacy IDs" 2022-08-27 05:34:48 +00:00
jenkins-bot b9e3043415 Merge "Enhance vector-2022 table of contents" 2022-08-26 20:57:39 +00:00
jenkins-bot f9dc5dd135 Merge "Support nested-directionality content" 2022-08-26 18:46:57 +00:00
Ed Sanders 4a092df740 percentDecode: Pre-escape query string separators (&,=)
Change-Id: I1f648f192749fdd1d9d1217a87bd0a78ba064f7d
2022-08-26 13:33:38 +01:00
Ed Sanders c232df01a4 Support nested-directionality content
Bug: T315037
Change-Id: I93f258a5d5fea174902b77d5d0728cfd68a66867
2022-08-26 12:46:26 +01:00
Ed Sanders 40bd58859e Prefix browser title while replying/starting a new topic
We already do this while editing so that users can quickly see which
tabs they are actively working on.

This extends the functionality to the reply and new topic tools.

Bug: T262066
Change-Id: Iae662ad26072617aad71e519bb6c3cbb19ef1246
2022-08-25 16:12:54 +01:00
Ed Sanders 776fca861f Update categories list when reloading page
Change-Id: I0f6b61eec33dca26e128bd60bb027a5a42a3f9ee
2022-08-24 13:13:12 +01:00
Ed Sanders dec755c802 Fix updating of subtitle when reloading page for new comments
The subtitle prop and some others were missing from the action=parse
request. Use the same props as the VE edit API.

Change-Id: I8e9cc735d3ee50dfe0fbe0349713d88654ad9fd1
2022-08-24 13:05:07 +01:00
Bartosz Dziewoński cfa45a5f4c Remove all stuff about legacy IDs
We can no longer change IDs so easily, because they're stored in the
permalink database, so remove this mechanism to make sure it's not
accidentally used in the future.

Change-Id: I392ee1f49c48fc2f23d05e9a37c643438b4f2b9a
2022-08-24 01:01:09 +02:00
Bartosz Dziewoński 434944b197 Enhance vector-2022 table of contents
Bug: T307823
Depends-On: I034a579b7ef51950726c9ac056d6c940a7d7d472
Change-Id: Icafc13e1c846549429fe2b3b4a1721c02ab7428d
2022-08-23 19:46:44 +00:00
Ed Sanders 9adafd43a1 Show latest comment info in subtitle
Bug: T306675
Change-Id: I1400dbb50cdf8a0a5e23ce533c84fad96f3fae16
2022-08-23 19:31:40 +00:00
jenkins-bot e309fba4c2 Merge "Update permalinks when refreshing the page" 2022-08-22 23:03:40 +00:00
Ed Sanders 7cfa070b86 Remove clear:both from topic containers
Bug: T315581
Change-Id: I94533854dd985cb30278c5a001510feeab7ab41d
2022-08-22 21:25:37 +01:00
Ed Sanders 837591f12e Don't pass an empty string to getElementById to avoid Firefox warning
Bug: T315614
Change-Id: I6d4eedd75a23f6ada26aedca54da80c5e33ea4f0
2022-08-22 16:36:09 +01:00
Ed Sanders c221a2fb7b Update permalinks when refreshing the page
Bug: T315830
Change-Id: I56620e9d31799640241430ceba6da959a0c8405e
2022-08-22 12:15:34 +01:00
jenkins-bot ab8b1fe815 Merge "Logging: platform as phone/desktop depending on whether MF is active" 2022-08-19 22:45:04 +00:00
jenkins-bot 3267a1deed Merge "Fix headings changing height when JS loads on mobile (FOUC)" 2022-08-19 00:56:13 +00:00
Ed Sanders c56bf250ac Fix headings changing height when JS loads on mobile (FOUC)
The bottom margin used to collapse into the next heading, but
MobileFrontend changed how section hiding was done.

Change-Id: Ide10e9f17ad38d672958e2c3a43c2eb2cfdd82ae
2022-08-19 00:50:08 +00:00
David Lynch acadaf7f1e Logging: platform as phone/desktop depending on whether MF is active
Change-Id: I3ecf4b56b11008dbe6d30a0a868affa028786d95
2022-08-18 14:48:29 -05:00
Ed Sanders 0e95e45e88 Add space after namespace on talk pages
Bug: T313636
Change-Id: I481e885b54a1aeb9dd69a08dc614ab5f4f94b41e
2022-08-18 16:02:27 +01:00
jenkins-bot 4b0349a178 Merge "Initialize on live preview and real-time preview too" 2022-08-10 15:14:05 +00:00
jenkins-bot 91a94fe9bb Merge "Pass empty string to unused argument of pushState/replaceState" 2022-08-09 20:48:12 +00:00
jenkins-bot 89607c6e25 Merge "Implement percentDecode for finding link fragment targets" 2022-08-09 20:18:58 +00:00
Ed Sanders b3b543040b Implement percentDecode for finding link fragment targets
Relying on :target getting set means we can't use
history.pushState to change the URL without scrolling.

Should conform to https://url.spec.whatwg.org/#percent-decode

Change-Id: I4ccc3fd745884849a781a9f7fc8b00b8b689e20a
2022-08-09 20:06:28 +00:00
Ed Sanders 9f27c55f8c Pass empty string to unused argument of pushState/replaceState
Per https://developer.mozilla.org/en-US/docs/Web/API/History/replaceState
this argument is treated as unused in all the browsers we support.

Change-Id: I515193fdafaaf1c19701bc77e590d6f66b1cf4bf
2022-08-09 13:37:57 +01:00
jenkins-bot a4d9455743 Merge "logger: Also log EditAttemptStep events via Metrics Platform" 2022-08-06 05:01:19 +00:00
jenkins-bot 7ba6443a05 Merge "Clear floats above the new topic empty state" 2022-08-05 08:16:27 +00:00
Bartosz Dziewoński 0c80eeb88b Fix ReplyLinksController#teardown
Follow-up to 31c57d594a. This was
causing an exception, preventing the page contents from updating after
saving changes.

Change-Id: I8c9ab51385172056be9032ec0087f64ff34b6709
2022-08-03 20:46:19 +02:00
jenkins-bot 7ee49a2138 Merge "Make comment markers inline-block to fix comment wrapping in Safari (in headings only)" 2022-08-03 14:22:51 +00:00
Bartosz Dziewoński 2bb0a11d55 Clear floats above the new topic empty state
It should appear below any page content, at full width.
Currently it gets squished by floats on some pages.

Change-Id: I4c4107d438dfd06eec21badce5f216aa2c137272
2022-08-02 19:37:12 +02:00
jenkins-bot b1934c8a84 Merge "Don't infuse reply buttons if not in use" 2022-08-02 12:58:17 +00:00
Ed Sanders a0fa7c466f Don't infuse reply buttons if not in use
Change-Id: I704cbf3f1a681c474ce5d44b7c5af5c8dbb82f3b
2022-08-02 13:27:43 +01:00
Bartosz Dziewoński 35db93d9f5 Disable OOUI reply buttons for real, not with CSS hack
We already infuse them, so might as well do this...

Change-Id: I962c052d3f5b5c15b3a15e6e4533bd87624eb6e2
2022-08-02 00:32:24 +02:00
Bartosz Dziewoński 293df2438f Make "Add topic" button in Vector sticky header disabled after click
Bug: T307726
Change-Id: I3077357d7753d9259c5c32b71dd23a0e21bde6de
2022-08-02 00:32:24 +02:00
Bartosz Dziewoński 549fcc062b Fix focussing the reply button/link after closing the reply widget
Change-Id: I0db0fc8a93512751f8a9bcc96b048c1ab1f24f95
2022-08-02 00:32:24 +02:00
Bartosz Dziewoński 31c57d594a Do not duplicate item JSON in page HTML
Rather than setting it on both the reply link and the reply button,
set it on their parent element.

Update ReplyLinksController to handle this.

Change-Id: I650e9c0ebd354a82b8f66a63c5b4c02b2e29b105
2022-08-01 22:14:50 +00:00
jenkins-bot 47158f28dc Merge "Fire new 'wikipage.tableOfContents' hook to update TOC after save" 2022-08-01 19:49:39 +00:00
Ed Sanders 980b2c38bc Make reply links into buttons when visual enhancements enabled
Bug: T255560
Bug: T309904
Change-Id: I3932f576086a43df89ff97a1b3dafdc27c54f71c
2022-08-01 20:59:53 +02:00
jenkins-bot 9ceccd2d48 Merge "Fix styling of new comment notification on mobile" 2022-08-01 18:28:10 +00:00
jenkins-bot d247842772 Merge "Ignore "tracked" templates at the beginning of comments" 2022-08-01 14:52:39 +00:00
jenkins-bot 96868976bf Merge "Re-enable keyboard sequences for template, table etc. in new topic tool" 2022-08-01 12:28:15 +00:00
Ed Sanders 54eabe1f4f Fix styling of new comment notification on mobile
* Keep buttons on the same line
* Reduce font size to align borders

Change-Id: I1cc44ae1bd8b5e45d9a5b2ea4f9352163d12e8e6
2022-07-31 23:00:05 +01:00