Commit graph

1831 commits

Author SHA1 Message Date
Bartosz Dziewoński 9ded06a655 First-run experience popup for automatic topic subscriptions
Bug: T262103
Change-Id: I9f9336718ad060d553146c4e27604565ce5822c6
2021-11-15 22:45:42 +01:00
Bartosz Dziewoński 90283b3a7e Update the [subscribe] buttons when auto-subscriptions are added
When our interface initialized on a page that the current user
recently edited (using the reply tool, the full-page source editor,
or any other way), check if any new automatic topic subscriptions
were added and update the interface to reflect that.

This requires doing some API requests after the page is loaded,
because adding auto-subscriptions happens asynchronously in a
DeferredUpdate (potentially after the user is already viewing
the page with their comment saved), and depends on the contents
of the edit.

(When using the reply tool, we could avoid this API request and
replicate the logic, but that's not implemented in this commit
to keep it simple.)

Bug: T284836
Change-Id: Ic0fabda0de4ebbc5e424f49641e6b03ebb4b7e6a
2021-11-15 22:45:42 +01:00
Bartosz Dziewoński 8d3cf30f60 Automatic topic subscriptions (only for reply tool and new topic tool)
Bug: T284836
Change-Id: I0f98c26c997f66b7a43cd4b971fe72a37d12db5d
2021-11-15 22:45:42 +01:00
Bartosz Dziewoński 0d57aa9762 Automatic topic subscriptions (on any edit)
Bug: T284836
Change-Id: Ia42ad087218fd91a0cdd1664157d1049738e3c01
2021-11-15 22:45:42 +01:00
jenkins-bot 9fbf2b3177 Merge "Avoid splitting about-groups starting with an empty <span>" 2021-11-15 21:38:56 +00:00
jenkins-bot 2b68d4f301 Merge "Test case for splitting about-groups starting with an empty <span>" 2021-11-15 21:37:36 +00:00
jenkins-bot ad7909affc Merge "List methods not covered by unit tests in TODO sections" 2021-11-15 20:53:18 +00:00
jenkins-bot 8082ffbc4f Merge "Messages for Automatic Topic Subscriptions feature" 2021-11-15 18:52:50 +00:00
Ed Sanders adf9f8dc88 Messages for Automatic Topic Subscriptions feature
Extracted from Ia42ad0872 and I9f933671.

Change-Id: I9b3e563071d879c0592bfbaab0d944b546cb5ee9
2021-11-15 18:21:37 +00:00
jenkins-bot f8d71d1263 Merge "Set a user preference to record whether the new topic tool has been used" 2021-11-15 16:57:41 +00:00
David Lynch bd40523843 Set a user preference to record whether the new topic tool has been used
This will be used for an upcoming A/B test.

Bug: T294167
Change-Id: I494b0b3cf3ae568bec2b9cef80aeb22306896769
2021-11-15 10:25:51 -06:00
Bartosz Dziewoński 83ba496919 Avoid splitting about-groups starting with an empty <span>
Usually this isn't a problem, because the comments are marked as
template-generated and we don't allow replying to them. But we had a
special case where we were trying to skip over some invisible
elements, which was causing us to skip into the middle of the
about-group in some cases. When Parsoid sees that, it serializes the
contents twice.

Bug: T290940
Change-Id: I9fe0b8d43ab874ccef371990799f77bfc46bc954
2021-11-15 16:03:38 +00:00
Bartosz Dziewoński e6de1c0462 Test case for splitting about-groups starting with an empty <span>
Bug: T290940
Change-Id: I632d351cf61980a48c0a16c4bdb3656dac83a584
2021-11-15 16:03:28 +00:00
Translation updater bot caa279718c Localisation updates from https://translatewiki.net.
Change-Id: Ibda93aa2194808c63f58238d97c0b72f450dd023
2021-11-15 08:11:36 +01:00
Ed Sanders 3f5756f495 List methods not covered by unit tests in TODO sections
Change-Id: Ia06c3c726b7bc9758454aa8b2f7ea34cbada4c09
2021-11-13 15:27:38 +00:00
Translation updater bot ce33b44e8a Localisation updates from https://translatewiki.net.
Change-Id: I0d0ca822f4587cddb8a4787d6e9f8576191226ed
2021-11-12 08:29:25 +01:00
Translation updater bot b80d960856 Localisation updates from https://translatewiki.net.
Change-Id: If8fd94242b63fa001835ec91f771f0096f8a768f
2021-11-11 10:02:07 +01:00
Bartosz Dziewoński 99b757465a Split DiscussionToolsEnableMobile=true into 'behind-overlay' and 'remove-overlay'
Bug: T295490
Bug: T295491
Bug: T280051
Change-Id: I1b96b0a22eec9e364c2ecbe8b734cebd0d157b96
2021-11-10 22:24:07 +01:00
jenkins-bot 640f9cac65 Merge "Handle window resize in debug mode" 2021-11-10 19:55:02 +00:00
jenkins-bot e03820ed9d Merge "Suppress events from comments that are more than 10 minutes old" 2021-11-09 23:02:24 +00:00
jenkins-bot aeb7443715 Merge "CommentItem.php: Store timestamp object instead of string" 2021-11-09 23:02:22 +00:00
Ed Sanders 0fba9b0048 Suppress events from comments that are more than 10 minutes old
Bug: T290803
Change-Id: Ic0e23f439eef8a1b785f408d4557bec0abe9104b
2021-11-09 16:37:46 +00:00
Ed Sanders a86d308d66 CommentItem.php: Store timestamp object instead of string
We do something similar in CommentItem.js with a moment object.
The object can be converted to a string when required.

Change-Id: Id7221e9201db0d89c3b771574634c878c9515ca0
2021-11-09 16:37:45 +00:00
jenkins-bot 2446d91af7 Merge "build: Update eslint-config-wikimedia to 0.21.0" 2021-11-09 14:00:04 +00:00
Ed Sanders dbe900b08c Handle window resize in debug mode
Change-Id: I1fdefd40b02a7d188c09b754b76aa658e7a18b76
2021-11-09 13:38:48 +00:00
Translation updater bot 9fb04a89b0 Localisation updates from https://translatewiki.net.
Change-Id: Ib50b438239bc69b43fefe73b52a451e9ab966bab
2021-11-09 07:28:51 +01:00
Ed Sanders 7c3e583bec build: Update eslint-config-wikimedia to 0.21.0
Change-Id: I72de463d5a878e555eeed0e7ce2772e1d3a46f06
2021-11-08 19:03:40 +00:00
Translation updater bot 9836d75a0c Localisation updates from https://translatewiki.net.
Change-Id: Ia2342595ed2bfd1310093dc29e88a7447d0e6de8
2021-11-08 08:16:50 +01:00
jenkins-bot 3861aadbb3 Merge "Add links to Special:TopicSubscriptions in preferences" 2021-11-07 12:10:44 +00:00
jenkins-bot 779c5acd4f Merge "Fix layout of [subscribe] links on desktop Minerva" 2021-11-05 23:29:41 +00:00
Bartosz Dziewoński 9daf5e1202 Fix layout of [subscribe] links on desktop Minerva
This is the minimal fix, they still look out of place, but they don't
break layout of the whole page.

Bug: T292241
Change-Id: I1538962dd266fb455051e4dfe2680e47c4d1bb4c
2021-11-05 23:24:28 +00:00
Bartosz Dziewoński 578be2f91e ReplyLinksController: Update teardown code
Follow-up to de4d4bfb21.

Change-Id: Ibc3293a43befbbb0af400b197993135d4492fe35
2021-11-05 20:21:22 +01:00
jenkins-bot 22f48be13b Merge "Support new topic tool on mobile" 2021-11-05 16:01:14 +00:00
Translation updater bot 91fa55cb9b Localisation updates from https://translatewiki.net.
Change-Id: If7396ed8d5d457b32ebda51816035c2cb6b345c3
2021-11-05 08:17:04 +01:00
jenkins-bot 28885e81aa Merge "Enable DiscussionTools mobile by default for ease of testing" 2021-11-05 00:01:08 +00:00
Ed Sanders 93c75c1521 Enable DiscussionTools mobile by default for ease of testing
Disabled on Wikimedia wikis in configuration:
I83845fb3f22f6c91bd277461598e9ebac42aa16a

Bug: T270536
Change-Id: I937f6e9e89a5bb1728db055d3ec3e12a50c91ef9
2021-11-04 23:54:42 +00:00
Bartosz Dziewoński d52e87a5d1 Fix default value of wgDTSchemaEditAttemptStepSamplingRate, tweak docs
Bug: T295052
Change-Id: I91974c3c6ef4810ab303907017ec45c43defe635
2021-11-04 19:23:52 +00:00
Bartosz Dziewoński 312cce03db Add links to Special:TopicSubscriptions in preferences
Bug: T294994
Change-Id: Ifd564f435e300232d220896e5a29bd8f43db326c
2021-11-04 19:51:08 +01:00
Ed Sanders de4d4bfb21 Support new topic tool on mobile
* Use featuresEnabled.newtopictool to decide when new topic
  links might exist on the page, instead of relying on
  `#ca-addsection` existing. Change the logic of that feature
  flag to check if __NONEWSECTIONLINK__ is on the page.
* Render the add-topic button locally in a hook to replace
  the one suppressed by onMinervaNeueTalkPageOverlay. Do so
  whenever the newtopictool feature is enabled (see above).

Bug: T270537
Change-Id: I3e3f7403b3b86bb84fcb75a8833919512519b70f
2021-11-04 18:19:40 +00:00
Bartosz Dziewoński 2d5af9608a Fix saving edit mode on mobile in reply tool
When this code was added in 5feb69612f,
it was inside the `if ( this.modeTabSelect ) { … }`, because switching
was an experimental option and could have been unavailable.

Switching is always available now, but the `modeTabSelect` widget
doesn't exist in the mobile version (because switching interface is a
part of the toolbar there), so this line should be outside the `if`.

Bug: T270536
Change-Id: I7c5959281e77558bfe82bd39d38ba4dda36d590c
2021-11-04 18:19:30 +00:00
Bartosz Dziewoński 4912a1bf5c Reload the page after posting a comment on mobile
MobileFrontend does not use the 'wikipage.content' hook, and its
interface will not re-initialize properly after we update the page
contents with the new comment. Reload the whole page instead.

Bug: T270536
Change-Id: I3f81e4d77faed367606e47678b8896051982359d
2021-11-04 18:19:06 +00:00
jenkins-bot 3104c94e9d Merge "Use MinervaNeue hook to disable talk overlay if DT mobile enabled" 2021-11-04 17:34:10 +00:00
jenkins-bot f2bd9e84b4 Merge "Support reply tool on mobile" 2021-11-04 17:06:32 +00:00
jenkins-bot 9a677a9da0 Merge "UsernameCompletion: Disable fragment auto-select" 2021-11-04 16:57:20 +00:00
David Lynch 7588a393e4 Use MinervaNeue hook to disable talk overlay if DT mobile enabled
Bug: T280051
Change-Id: I6a52adcfd8030b26649b609ca99902ff840e8fdf
2021-11-04 16:46:42 +00:00
Translation updater bot 53a864f0bc Localisation updates from https://translatewiki.net.
Change-Id: Ie90bf444781c3e3e5ba86911185040f54afee0b2
2021-11-04 10:07:58 +01:00
Bartosz Dziewoński d0f8794388 Handle JS exceptions in API error logging
When an exception is thrown by our code elsewhere, and caught by the
promise mechanisms, it bubbles up here in the `code` variable, and
`data` is undefined.

Change-Id: I8a0ac49d22d254f353797fc8978871502ae8b9de
2021-11-03 22:21:18 +01:00
Ed Sanders 900a01772f Support reply tool on mobile
Bug: T270536
Change-Id: I94d04e9cd442f9a4e0c5924da67c43a768417a8b
2021-11-03 17:49:06 +00:00
Translation updater bot 6cb595296f Localisation updates from https://translatewiki.net.
Change-Id: I8b8d65bd5a300c545b801d02c3f77ccc0f151f44
2021-11-03 08:20:33 +01:00
Ed Sanders 54471b5037 UsernameCompletion: Disable fragment auto-select
This causes the username to be selected on mobile, when
we want to place the cursor after it.

Bug: T294616
Change-Id: I29012ecd04cd553bf78ffff477babafacfeabb31
2021-11-02 23:35:29 +00:00