Commit graph

1133 commits

Author SHA1 Message Date
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
Bartosz Dziewoński ddd391b6db Ignore "tracked" templates at the beginning of comments
This improves the behavior when replying to these comments
and the message snippets shown in notifications.

Bug: T313097
Change-Id: Ia10400472c9e999fa526c7437a03b72461c37b74
2022-07-31 03:56:36 +02:00
Bartosz Dziewoński e5abfdbe8a Re-enable keyboard sequences for template, table etc. in new topic tool
They were only disabled in the reply tool, because their wikitext
markup doesn't work when indented. This is not a concern in the new
topic tool.

Rename our sequences that display the wikitext warning to avoid these
items showing up in the command help dialog, and remove overrides for
global ve.ui.commandHelpRegistry. (As a result, the dialog now lists
the blockquote command, which was previously missing even though it
was enabled, but only with the 'Ctrl+8' shortcut and not 'Type ":"'.)

Also remove filtering rules for external paste.

Bug: T311653
Change-Id: I4557c376fcf099d81e91ae5c2b18301d97921180
2022-07-31 02:40:12 +02:00
Ed Sanders 434e11df87 Enable new comment notifications on mobile
Since writing this feature we added the ability to update
the page dynamically on mobile, so this shoud just work now.

Bug: T301929
Change-Id: Iceb5d8c90a892807745ba7133b7dd389293d3327
2022-07-31 00:07:14 +01:00
Ed Sanders 4da2ecf32f Hide section collapse button in preview.
In general we are hiding non-content elements in the preview
and this matches the behvaviour of the article editor.

Change-Id: I6669d8cc737214d464b662ccc6900ccce229b3d7
2022-07-29 14:09:56 +01:00
Bartosz Dziewoński f4a9d5b8f9 Fire new 'wikipage.tableOfContents' hook to update TOC after save
Bug: T294950
Depends-On: Icaeda68ded94a04edef7a3629385eeb232048684
Depends-On: I1644a74370b42b04d0db167879f7de2207ebfcf5
Change-Id: Ic3ef4e332ade8918778b6aaaa8eaf7e98f0a8d7d
2022-07-28 23:37:29 +02:00
Bartosz Dziewoński 9425f75f47 Initialize on live preview and real-time preview too
Bug: T309423
Change-Id: I661dfb2b9159fe56edffabd9fba00cd2c56343cd
2022-07-28 19:06:32 +02:00
Ed Sanders 2f44d99184 Simplify CSS selectors for [reply] and [subscribe] links
:first-of-type selectors refer to the node name, so just
use :first-child and :last-child for the open and close brackets.

Change-Id: I2e8ca7e99d1262522ed2d3b5133093817af8ad29
2022-07-27 16:22:11 +00:00
Ed Sanders 2960853088 Move subscribe button up on desktop
Bug: T312674
Change-Id: I419883b5f9a4291b4bf575d57195d553fd5e291e
2022-07-27 13:55:03 +01:00
jenkins-bot 61f76003d1 Merge "Show empty state on mobile when there is only non-discussion content" 2022-07-26 13:24:29 +00:00
Ed Sanders 1d1df63cab Show empty state on mobile when there is only non-discussion content
Bug: T313801
Change-Id: I4e9910ef7d63c6ce330da1a896f518a9a22a12cd
2022-07-26 13:52:22 +01:00
Bartosz Dziewoński e7bbc9864c ReplyWidget: Scroll save error into view after showing it
Bug: T298263
Change-Id: Ibe488bf9184dc9d9c3c8b2c3491c0baf6676ba16
2022-07-25 18:16:13 +02:00
Bartosz Dziewoński dc342291b5 highlighter: Fix exception when trying to highlight an unknown comment
If some content is loaded without re-initializing DiscussionTools
(this currently happens on live preview), then a link to a comment is
clicked, we will not find the comment, which previously caused an
exception. Just ignore this, other code paths in highlighter already
handled this situation in this way.

Bug: T309423
Change-Id: Ie46fd782b8a45907dc6fc604691575c4b55d08ce
2022-07-22 17:47:09 +02:00
jenkins-bot 6e57e3ba78 Merge "Show a "Return to reply/new topic" button when widget is scrolled off the screen" 2022-07-18 16:09:54 +00:00
Ed Sanders 2c2e57fd47 Show a "Return to reply/new topic" button when widget is scrolled off the screen
Bug: T310967
Change-Id: I3d1626162eb5c66ac35560792a81ce09455e86a8
2022-07-18 13:20:12 +01:00
Bartosz Dziewoński 2d3b497a21 Avoid localized digits in internal timestamps in JS
Unlike PHP DateTime, and unlike the .toISOString() method,
the Moment.js .format() method will output localized digits.

Bug: T312828
Change-Id: I49a250b1ad74d9395bf3f994379613cc121b5be4
2022-07-13 02:33:24 +02:00
Bartosz Dziewoński f51d26fd3a Parse 'DiscussionToolsTimestampFormatSwitchTime' config value as UTC
When the input to moment() doesn't define a timezone, it
defaults to the local timezone (as defined on the device,
not in user preferences).

Bug: T312828
Change-Id: I8d2e1c2f6feb5584af4bbf9fef39567eb87780ff
2022-07-12 14:10:09 +02:00
Bartosz Dziewoński 2bc76dabd7 Enable transformations in preview mode
We remove the [reply] and [subscribe] links when they should not be
visible (controlled by 'enableSectionEditLinks' option, which is
disabled when previewing).

Bug: T309423
Change-Id: Ie0d3fba2c4d166daac3ea2e117a246c9584284ca
2022-07-07 23:37:56 +01:00
jenkins-bot caefb1ae39 Merge "Show new topic tool empty state on existing pages with no topics too" 2022-07-07 21:52:36 +00:00
Bartosz Dziewoński a98cd369ba Show new topic tool empty state on existing pages with no topics too
Bug: T312599
Change-Id: I316d2f119b9c899ffaeebc7ec288823c826db092
2022-07-07 21:45:44 +00:00
jenkins-bot 3bb23f30f8 Merge "Remove some unused or redundant styles" 2022-07-07 20:50:17 +00:00
jenkins-bot 1e479288be Merge "Prevent the "Subscribe" button focus outline from being cut off" 2022-07-07 20:50:15 +00:00
jenkins-bot 31c35992f4 Merge "CommentController: Scroll before focusing in showAndFocus" 2022-07-07 20:26:23 +00:00
Ed Sanders d367b1fc50 ReplyWidget: CSS tweaks for monobook
Use 12.8px for interface, and 12.7px for content.

Move mode tabs away from the reply body so the underline can be seen.

Change-Id: I9cb9a611ca64595152f800e1e15b640402f6cb74
2022-07-07 16:24:49 +01:00
Ed Sanders 9f670d0ee0 ReplyWidget: Don't add border-radius when hovering mode tab
Change-Id: Ied05b70119ea724c126e88d30aa62e0f7526ba12
2022-07-07 16:24:06 +01:00
Ed Sanders 2a31eed846 CommentController: Scroll before focusing in showAndFocus
This removes the need for a setTimeout before scrolling.

Change-Id: I1c47d5635f66ed523b492c384464e2e6accabf01
2022-07-07 13:43:16 +01:00
Esanders d6a8c75899 Hide the lede section on mobile when DiscussionTools is enabled (2nd attempt)
Previously this was reverted in I28a5c774f5f after the initial
commit I3736b488046 caused T312177.

Bug: T311760
Change-Id: Iba65615378b183f0c970afff565f45cc878f1d71
2022-07-06 16:03:27 +01:00
Ed Sanders 72bb4aed13 Revert "Hide the lede section on mobile when DiscussionTools is enabled"
This reverts commit 69bfc6d6a2.

Reason for revert: Caused T312177

Bug: T312177
Change-Id: I28a5c774f5f9d0391a8addf5b31b9c229fb40948
2022-07-06 00:31:54 +01:00
Bartosz Dziewoński 5c3277a196 Format number of comments in reply tool new comment warning
Bug: T312033
Change-Id: If8e95b9554eddec2f00c492885575266b02cc1af
2022-07-04 17:57:41 +02:00
jenkins-bot 00d63026a3 Merge "Halve the initial height of the reply widget on mobile" 2022-07-01 22:20:06 +00:00
jenkins-bot 4ed36bc03b Merge "Reply widget mobile: Reduce space between footer and footer-links" 2022-07-01 22:19:25 +00:00
jenkins-bot 8a0703f29d Merge "Reply widget mobile: Move reply/cancel buttons up into empty space of "advanced" bar" 2022-07-01 22:19:22 +00:00
jenkins-bot 11961a85a7 Merge "Reply widget: Simplify LESS expression" 2022-07-01 22:12:40 +00:00
Ed Sanders 9d9dc7f26a Halve the initial height of the reply widget on mobile
Vertical space is at a premium on mobile with the virtual keyboard.
The widget will auto-size when more text is entered.

Bug: T311836
Change-Id: I03ff7217f9ffe217f93a3dc95db2df018bd0d221
2022-07-01 15:05:00 +01:00
Ed Sanders 172960f887 Reply widget mobile: Reduce space between footer and footer-links
Bug: T311836
Change-Id: I6275ff67a909125398872e2f691e5b62d165d546
2022-07-01 15:05:00 +01:00
Ed Sanders 5014aa3c50 Reply widget mobile: Move reply/cancel buttons up into empty space of "advanced" bar
This reduces the overall vertical height of the tool

Bug: T311836
Change-Id: I095bff00686a54779d45efa73c3f8b74ba016702
2022-07-01 15:04:58 +01:00
Ed Sanders 1ad01e661a Reply widget: Simplify LESS expression
Change-Id: I1d00c81377cfe83167384c83d3abd3f1bcdc2497
2022-07-01 13:38:01 +01:00
Ed Sanders 98b5371a8c Have "Read as wiki page" link remove all DT content changes
As well as visual enhancements:
* Reply links
* Mobile lede section hiding

Change-Id: I14d591830620edf8bbaccb76b4bce0e87971d7c3
2022-06-30 23:02:50 +01:00
Ed Sanders 69bfc6d6a2 Hide the lede section on mobile when DiscussionTools is enabled
Bug: T311760
Change-Id: I3736b4880465359bcae9b903eecc57f1cd7674ef
2022-06-30 23:02:50 +01:00