Commit graph

7049 commits

Author SHA1 Message Date
Michael Holloway 4a5d1d5ad3 Push: Make default notification options mirror web if push is enabled
Bug: T288770
Change-Id: I445b7a302b7be615a4b796fd8cd946c2a0f98a4e
2021-08-18 17:58:44 -04:00
Translation updater bot 15c72fe4ed Localisation updates from https://translatewiki.net.
Change-Id: I2ac7f45016c0c76096dd5eb18ed1a80906612cf1
2021-08-18 08:13:28 +02:00
Michael Holloway 5eb4c6cd1d Add notifiertypes parameter to ApiEchoNotifications
Previously, ApiEchoNotifications returned only events which were
enabled for the `web` notifier type. With this change, the notifier
type or types to consider can be specified by argument to the new
`notifiertypes` parameter.

This change is required so that the apps can request notification
content from the API for push notifications.

Bug: T287909
Change-Id: I2d1155e113f2defb0f02416a7a659c3ee162d3a6
2021-08-17 10:27:14 -04:00
Translation updater bot 0d5bd6fd18 Localisation updates from https://translatewiki.net.
Change-Id: Ia938ba88e3a3872acc5d2e9ce0a7774812139bd0
2021-08-17 08:19:19 +02:00
jenkins-bot 45ed9cac93 Merge "Clarify the references to talk pages in notification preferences" 2021-08-16 20:43:34 +00:00
Bartosz Dziewoński d4564f1e00 Clarify the references to talk pages in notification preferences
Bug: T286954
Change-Id: I6c9a65501619a3d80f431b0b5fa9ca4a9aec5b1e
2021-08-16 21:58:49 +02:00
Translation updater bot 4b73c510c8 Localisation updates from https://translatewiki.net.
Change-Id: I6a064f27942f2f3b7d05fb0a33d992a97e99de01
2021-08-16 08:16:15 +02:00
jenkins-bot 8032317d9c Merge "Only ignore user muting for notifications on your talk page (not subpages)" 2021-08-12 06:47:32 +00:00
Matěj Suchánek ab8ea040ca Use constant in EchoAttributeManager::getNotificationSection
And as a bonus, add a unit test case to solve the todo.

Change-Id: Ic2e13eae6583155230be6c184db4836f28378483
2021-08-11 11:27:55 +02:00
Translation updater bot 63bd214f68 Localisation updates from https://translatewiki.net.
Change-Id: Ic938f74f100bda924b2ea196ac819a415a0f835c
2021-08-09 08:23:56 +02:00
jenkins-bot afe6a50d3a Merge "Link to the section (if known) from the orange banner" 2021-08-06 09:27:41 +00:00
jenkins-bot 66bb02fd8b Merge "Disable EchoGetEventsForRevision hook handlers while running tests" 2021-08-04 17:42:25 +00:00
jenkins-bot ec9ea8fc81 Merge "Tweaks to EchoTalkPageFunctionalTest" 2021-08-04 16:47:55 +00:00
Bartosz Dziewoński a6db7325e3 Only ignore user muting for notifications on your talk page (not subpages)
Bug: T288112
Change-Id: I41b8774fe0aea836c771c49ce6542156b686707a
2021-08-04 17:36:50 +02:00
Translation updater bot a86996e77a Localisation updates from https://translatewiki.net.
Change-Id: If7e478860242afeae42cdfb0d92f08080eccd2be
2021-08-04 08:14:49 +02:00
Petr Pchelko e609db33ff Replace deprecated UserLoadOptionHook
Bug: T286576
Change-Id: I36d59813f25268097b822919d4236a41e0ea363a
2021-08-03 07:28:31 -07:00
jenkins-bot d9f43ee2f0 Merge "Replace deprecated UserSaveOptions hook" 2021-08-03 14:20:36 +00:00
jenkins-bot 822e623b7d Merge "Fix variable choice in NotificationController::notify" 2021-08-02 15:40:24 +00:00
Translation updater bot cb83df3eb2 Localisation updates from https://translatewiki.net.
Change-Id: I6468fb8d2bd859eaac1104dfc041b3c8e0300746
2021-08-02 08:36:42 +02:00
jenkins-bot 5566f84378 Merge "Turn push notification token list into a circular buffer." 2021-07-30 14:46:10 +00:00
jenkins-bot 65723f1743 Merge "Remove ParserTestTables hook handler." 2021-07-30 13:24:58 +00:00
Translation updater bot 50213c1e13 Localisation updates from https://translatewiki.net.
Change-Id: I4b7ac965f6715a9a033f22bd65cc142d39872b86
2021-07-30 08:27:39 +02:00
DannyS712 5d3c416672 Remove ParserTestTables hook handler.
This hook is no longer called in MW 1.36+ by core, and this
extension already requires MW 1.37+

See I5124789fac333a664b73b4b4a1e801ecc0a618ca

Change-Id: I420c2a231cc1c7d6a350a1f04f7c7d4fd942b377
2021-07-30 04:00:17 +00:00
Dmitry Brant 6c5a88107c Turn push notification token list into a circular buffer.
At the moment we support a maximum of 10 tokens per user for subscribing
to push notifications, stored as a basic list that runs out when the
limit is reached.  There may, however, be some edge cases where an app
registers a token and then forgets to unregister it (and repeats this 10
times), after which time it will be unable to register any new token.

This changes the token list to behave more like a circular buffer, by
simply deleting the oldest token before inserting the new one. This way
an app could register a new token even in the rare case of forgetting
the previous ten.

Change-Id: I387de63460882e4e56d1aa6db1f78d73a0495208
2021-07-29 17:22:57 -04:00
Translation updater bot 20f6be4291 Localisation updates from https://translatewiki.net.
Change-Id: I04c136796bb37f5d50c853d4f697c3748fa3f2f0
2021-07-29 08:44:53 +02:00
Ottomata 7336a1a67c Finalize migration of EchoMail and EchoInteraction to Event Platform
Also remove produciton of inactive Echo schema.

Bug: T287210
Change-Id: Ifc7f5aa22e62e7308f729de5a7fcf3fad9519615
2021-07-28 19:29:26 +01:00
Matěj Suchánek e30b466d9c Fix variable choice in NotificationController::notify
I believe this is a bug. Individual user's option ($userNotifyTypes)
should not influence the options for all users ($notifyTypes).

This piece of code was first introduced in
I51600bbb26594323831d22bc35d34587ff146d47.

Change-Id: I32d56891ac68e82734813280505b4a57d5427f8c
2021-07-28 13:13:00 +02:00
TChin 113230aaed Replace deprecated UserSaveOptions hook
Bug: T287472
Change-Id: I170cd7f5676459f83e7b1abadf5485486b8caaab
2021-07-27 15:24:51 -04:00
jenkins-bot 9e9303221e Merge "SpecialDisplayNotificationsConfiguration: Fix default values of core prefs" 2021-07-27 18:32:19 +00:00
jenkins-bot 0364d96af3 Merge "SpecialDisplayNotificationsConfiguration: Use OOUI checkboxes" 2021-07-27 18:32:18 +00:00
Bartosz Dziewoński 0341634e45 SpecialDisplayNotificationsConfiguration: Fix default values of core prefs
Some of Echo's subscription user preferences are mapped to existing
user preferences defined in core MediaWiki. However, this special page
was checking the Echo preference names, returning incorrect values.

This affected the edit-user-talk preference and watchlist preferences
(not available with the default configuration).

Change-Id: I2de7553f82434505c000c30a71b9f90c4490482b
2021-07-27 19:53:58 +02:00
Bartosz Dziewoński b826dd263c SpecialDisplayNotificationsConfiguration: Use OOUI checkboxes
On some systems, when they are disabled, checked and unchecked
checkboxes are not that easy to distinguish. They're really bad
for me on Windows (apparently a bit less bad on macOS).
https://phabricator.wikimedia.org/F34567120

OOUI checkboxes are clearer (since they're bigger and the
check icon has higher contrast against the background).
https://phabricator.wikimedia.org/F34567121

Change-Id: I124c7e1874d50d5f3883ffcc5264da46ae012e0a
2021-07-27 19:33:30 +02:00
Translation updater bot 2ed45e91c2 Localisation updates from https://translatewiki.net.
Change-Id: I70a23d2b7c8d2f7d39e912fb1f35d6124167f614
2021-07-27 08:13:21 +02:00
Bartosz Dziewoński ee860bc577 Disable EchoGetEventsForRevision hook handlers while running tests
Extensions using this hook (e.g. DiscussionTools) cause test failures
otherwise.

Change-Id: I21159d03eebaf46ad94f4273ba698a59b8019185
2021-07-26 13:56:44 +02:00
DannyS712 4cc8233ee5 DiscussionParser: fetch UserNameUtils service outside of loop
Change-Id: I6c523dcc2ca1e06136f2f5ad18c0ac371c7f9494
2021-07-26 09:40:49 +00:00
Translation updater bot a0636f75a7 Localisation updates from https://translatewiki.net.
Change-Id: I1e1c731baee92a8b3e83599df70cc941db91e843
2021-07-26 08:12:07 +02:00
DannyS712 f13dd018c7 Enable and fix ReturnTypeDeclaration sniff
Libup decided to disable the sniff, fix the issues instead

Change-Id: Ibac1c3f32af19edff3f428928efe578d97061b07
2021-07-24 04:36:30 +00:00
libraryupgrader 17a644263a build: Updating dependencies
composer:
* mediawiki/mediawiki-codesniffer: 36.0.0 → 37.0.0
  The following sniffs are failing and were disabled:
  * PSR12.Functions.ReturnTypeDeclaration.SpaceBeforeReturnType

npm:
* svgo: 2.3.0 → 2.3.1
  * https://npmjs.com/advisories/1754 (CVE-2021-33587)
* postcss: 7.0.35 → 7.0.36
  * https://npmjs.com/advisories/1693 (CVE-2021-23368)
* trim-newlines: 3.0.0 → 3.0.1
  * https://npmjs.com/advisories/1753 (CVE-2021-33623)

Change-Id: Id866782d39ac02a329bd79539f2d52392fffd296
2021-07-24 01:48:06 +00:00
bwang a64b97a620 Override opacity styles for all read badges for vector user links
- Addresses this issue https://phabricator.wikimedia.org/T285259#7231489

Bug: T285259
Change-Id: I58345c84efa129aae56c5ae1be3bcf5117589647
2021-07-23 14:47:14 +00:00
jdlrobson b4ec1eda88 Fix display of user messages orange bar
The icon in Vector is copied across when Vector is loaded before
Echo in LocalSettings.php

Change-Id: Ida8c78e5c723f9628928f0293f43b2d67616888f
2021-07-22 13:21:53 -07:00
jenkins-bot e8430bd44a Merge "Update vector badge styles" 2021-07-22 17:59:38 +00:00
bwang b0aaa2e4ec Update vector badge styles
- Override echo icon styles for modern vector
- Reverts https://gerrit.wikimedia.org/r/c/mediawiki/extensions/Echo/+/704862

Bug: T285259
Change-Id: Id71d3e248dc6d0ee24278e0ecfbcf8691e1da24b
2021-07-22 11:53:36 -05:00
Petr Pchelko a10b0b07c8 Use CentralIdLookupFactory and pass UserIdentity
Change-Id: I44144df7cf244eb867c1b261c10cc29b020f8409
2021-07-21 19:23:42 -07:00
Bartosz Dziewoński 762a2e192a Tweaks to EchoTalkPageFunctionalTest
* Fix off-by-one counting
* Fix asserting properties on the wrong event (first one instead of
  last one), luckily they are identical

Change-Id: Ib1a02476554b29b2a1d0bfdfa89859d71d7691b1
2021-07-21 23:25:54 +02:00
Bartosz Dziewoński 8823aa15cd Fix Phan failure in backfillUnreadWikis
Phan says:
maintenance/backfillUnreadWikis.php:51 PhanTypeMismatchArgumentNullable Argument 1 ($userIdentity) is $lookup->localUserFromCentralId($row->euw_user, CentralIdLookup::AUDIENCE_RAW) of type ?\MediaWiki\DAO\WikiAwareEntity|?\MediaWiki\User\UserIdentity but \MediaWiki\User\UserFactory::newFromUserIdentity() takes \MediaWiki\User\UserIdentity defined at ../../includes/user/UserFactory.php:166 (expected type to be non-nullable)

Follow-up to 64531785a6.

Change-Id: I261e87d16bc23e9f1b5d3385553c5899632c9127
2021-07-21 21:04:47 +02:00
Translation updater bot 961293c192 Localisation updates from https://translatewiki.net.
Change-Id: I58f10c9296fa402ce346df15da1e22813b122fa9
2021-07-20 08:20:30 +02:00
jenkins-bot d38cacd581 Merge "Prepare for CentralIdLookup returning UserIdentity" 2021-07-19 15:28:44 +00:00
Translation updater bot 847ca35eb6 Localisation updates from https://translatewiki.net.
Change-Id: I35fb94ac99332d9c3a8860a511d0f1bb758dc3b2
2021-07-19 08:15:39 +02:00
Matěj Suchánek 3f05f8a71b Drop unused property and inject a service to SpecialDisplayNotificationsConfiguration
Change-Id: I0f238b863638245eef381e540da7d610d01bd25b
2021-07-17 10:40:45 +00:00
jenkins-bot a6dbadb006 Merge "Avoid using User::setOption()" 2021-07-17 10:29:45 +00:00