Page MenuHomePhabricator

Allow watchlist notifications to be delivered as web notification (through Echo)
Closed, ResolvedPublicFeature

Description

With Echo we have the option of setting how we want to be notified about most events. Importantly we can choose if we want the notification delivered via web, email or both through mw-prefsection-echo. The exception to this are watchlist notifications where we can choose to have these notifications delivered as email on mw-prefsection-personal but we cannot chose to have them delivered as a web notification.

For new contributors this leads to some confusion as there is no reason to see the watchlist email notifications as any different from other notifications. Infrastructure wise it means we have to maintain two separate notification pipelines.

Acceptance criteria
  • Two watchlist email notification checkboxes (Email me when a page or a file on my watchlist is changed and Email me also for minor edits of pages and files) have been moved from the the #mw-prefsection-echo in Special:Preferences to #mw-prefsection-notifications with the additional Web and Apps notification options.
  • Watchlist changes are added to the "Notices" section on the web echo notifications.
  • Use the Watchlist star icon in the OOUI icon set as the notification icon.
    • The icon is in the Accent50 blue colour (per Notification design guidelines here for 'update' type notifications)

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes

Something like this for Tech News?

You can get notifications when a page on your watchlist is changed. Previously you could only get them as email. Now you can get them as web notifications. [phab]

Will this be functional in wmf.11?

This won't be enabled until someone merges a config patch to enable it. When that is planned to happen I have no idea.

Since this also changes the email notifications for watchlist edits (from the old style to the Echo style), this will need to be rolled out carefully. We'd be moving a lot of people's cheese, and some pretty important cheese at that.

@Catrope Do you think we should try a rollout or work on the email content first to make it more similar to the enotif one to minimize disruption for those cheese lovers?

Email content should probably be reworked, since in its current state there's no hint that you won't get any further notification for that page until you visit the page being logged in, something important to note IMHO

I'd also recommend someone resolving the @todo I left in my patch (creating a custom icon instead of the default one) before this gets enabled.

Pppery subscribed.

Is there an update on the state of this?

No; I wrote the code, and it was merged behind a configuration setting that is currently disabled (I unassigned myself because I don't plan to actually work on getting the configuration enabled on Wikipedia, because I have no experience with that social issue)

kostajh added a subscriber: MMiller_WMF.

@MMiller_WMF putting this in our discussion column for us to talk about. At a glance the issues are:

  1. Adding a custom icon
  2. The issue about reworking email content T203941#5739858
  3. Testing / QA on some environments (enwiki beta? testwiki?) to set EchoWatchlistNotifications and EchoWatchlistEmailOncePerPage

So, probably some combination of design review, code review, engineering, product review.

Change 601102 had a related patch set uploaded (by Pppery; owner: Pppery):
[mediawiki/extensions/Echo@master] Specify that watchlist emails are only sent once per page

https://gerrit.wikimedia.org/r/601102

They're unrelated, as far as I can tell. This task is about adding a new type of notification, and T252899 is about providing a new way of delivering notifications. I have no idea why my patch above conflicts with the patch for that ticket.

My bad, I interpreted "web notification" as "web push notification" in this task, but that's clearly not what it is about. The conflict is probably something generic like both adding messages to the end of the same localization file.

kostajh changed the subtype of this task from "Task" to "Feature Request".

Removing this one from Growth-Team-Filtering so that we can process it.

@MMiller_WMF putting this in our discussion column for us to talk about. At a glance the issues are:

  1. Adding a custom icon
  2. The issue about reworking email content T203941#5739858
  3. Testing / QA on some environments (enwiki beta? testwiki?) to set EchoWatchlistNotifications and EchoWatchlistEmailOncePerPage

So, probably some combination of design review, code review, engineering, product review.

Revisiting this again:

  1. Adding a custom icon is a nice to have, we could probably just make use of an existing one if we don't want to make our own.
  2. The email content is already handled in https://gerrit.wikimedia.org/r/c/mediawiki/extensions/Echo/+/601102
  3. QA and testing could be done on testwiki ahead of a broader rollout.

T286192 also needs to be fixed at some point.

We're going to try to get this task and minor fixes it may need wrapped up.

Change 747186 had a related patch set uploaded (by Kosta Harlan; author: Kosta Harlan):

[operations/mediawiki-config@master] betalabs: Enable Watchlist Echo notifications feature

https://gerrit.wikimedia.org/r/747186

Change 601102 merged by jenkins-bot:

[mediawiki/extensions/Echo@master] Specify that watchlist emails are only sent once per page

https://gerrit.wikimedia.org/r/601102

Urbanecm_WMF changed the task status from Open to In Progress.Jan 31 2022, 11:34 AM

Change 747186 merged by jenkins-bot:

[operations/mediawiki-config@master] betalabs: Enable Watchlist Echo notifications feature

https://gerrit.wikimedia.org/r/747186

kostajh added a subscriber: Etonkovidova.

@Etonkovidova this is ready for QA on beta cluster wikis. To test, you'd want to enable "Edit to watched page" and "Minor edit to watched page" checkboxes in Special:Preferences in the Notifications section.

Moving to Design review - @RHo

  • the Edits to watched page notifications are in the Alert group. Alerts notifications are usually not about updates, but about actions directly involving a user - mention, changes in user rights, thanks, reviewed/reverted actions etc.
  • the icon calls for an immediate action (along with the fact that it's an Alert notifications)

Screen Shot 2022-04-08 at 9.49.14 AM.png (574×1 px, 67 KB)

@Etonkovidova this is ready for QA on beta cluster wikis. To test, you'd want to enable "Edit to watched page" and "Minor edit to watched page" checkboxes in Special:Preferences in the Notifications section.

The email notification was never received. I checked if beta cluster works for email - yes, I received two emails - via Special:EmailUser and for "Edit to my user talk page" option in Notifications section on Special:Preferences - is the email sending not yet enabled for this type of notifications?

Also, if an option "Edit to watched page" is disabled, the current notifications will be filtered out - that behavior is consistent with other types of notifications. However, old notifications (~5 months old) are not filtered and still present, even if a user disables all notification options. Is it something that needs to be fixed?

Moving to Design review - @RHo

  • the Edits to watched page notifications are in the Alert group. Alerts notifications are usually not about updates, but about actions directly involving a user - mention, changes in user rights, thanks, reviewed/reverted actions etc.
  • the icon calls for an immediate action (along with the fact that it's an Alert notifications)

Screen Shot 2022-04-08 at 9.49.14 AM.png (574×1 px, 67 KB)

Thanks for the ping @Etonkovidova and sorry for the delayed response. I agree that the icon is calling for immediate action which seems a bit overly urgent based on the notification type. I think we should instead use the Watchlist star icon instead.

@Etonkovidova this is ready for QA on beta cluster wikis. To test, you'd want to enable "Edit to watched page" and "Minor edit to watched page" checkboxes in Special:Preferences in the Notifications section.

The email notification was never received. I checked if beta cluster works for email - yes, I received two emails - via Special:EmailUser and for "Edit to my user talk page" option in Notifications section on Special:Preferences - is the email sending not yet enabled for this type of notifications?

Also, if an option "Edit to watched page" is disabled, the current notifications will be filtered out - that behavior is consistent with other types of notifications. However, old notifications (~5 months old) are not filtered and still present, even if a user disables all notification options. Is it something that needs to be fixed?

Agreed that a different icon should be used and it should be in the "notices" section as the original author of the patch (I used the "placeholder" icon since I didn't feel like coming up with a new icon at the time)

Agreed that a different icon should be used and it should be in the "notices" section as the original author of the patch (I used the "placeholder" icon since I didn't feel like coming up with a new icon at the time)

Thanks for the additional info @Ppery, in that case I will move back so the the icon can be changed, along with the placement in "Notices" instead of "Alerts".

Change 791016 had a related patch set uploaded (by Kosta Harlan; author: Kosta Harlan):

[mediawiki/extensions/Echo@master] Use watchlist icon for WatchlistChangePresentationModel

https://gerrit.wikimedia.org/r/791016

Change 791017 had a related patch set uploaded (by Kosta Harlan; author: Kosta Harlan):

[mediawiki/extensions/Echo@master] WatchlistChangePresentationModel: Place in "notice" section

https://gerrit.wikimedia.org/r/791017

Tgr changed the task status from In Progress to Open.May 15 2022, 7:15 PM
Tgr moved this task from Code Review to QA on the Growth-Team (Sprint 0 (Growth Team)) board.

Change 791016 merged by jenkins-bot:

[mediawiki/extensions/Echo@master] Use watchlist-progressive icon for WatchlistChangePresentationModel

https://gerrit.wikimedia.org/r/791016

Change 791017 merged by jenkins-bot:

[mediawiki/extensions/Echo@master] WatchlistChangePresentationModel: Place in "message" section

https://gerrit.wikimedia.org/r/791017

If I understand correctly, this change will be going live on the deployment train next week.

Re: Tech News - What wording would you suggest as the content? I would imagine something like this (please confirm or improve!):

Changes later this week

  • You will have new Notification preferences available for "Edit to watched page" and "Minor edit to watched page". You will now be able to choose to receive these notifications in any of: email, on-wiki, or in the apps. This change moves the old preferences from the first tab.

I used roughly this wording. If it needs to be removed before delivery on Monday, please let me know, or remove it directly. https://meta.wikimedia.org/wiki/Tech/News/2022/21
(Note: it is frozen for translation, so the wording should not be edited at this point. If rewording is needed, we can reschedule it for next week. Thanks!)

I don't think this is going live yet -- there still has to be a config patch before it is enabled which doesn't seem to have been posted to Gerrit.

I've removed this from Tech News per my above comment.

Checked in betalabs. The screenshots below are for @RHo review - I did not find any issues with the UI elements display or the basic functionality. I've updated the checkboxes in the task description.

bundled notifications
Screen Shot 2022-06-02 at 2.57.18 PM.png (868×1 px, 117 KB)
cross-wiki bundled notifications
Screen Shot 2022-06-02 at 11.27.24 AM.png (1×1 px, 146 KB)

The email message format:

Screen Shot 2022-06-02 at 3.15.59 PM.png (934×2 px, 147 KB)


@RHo - there are issues that technically are outside of the scope of this task. Please review and let me know if they whether they need to be filed separately (or not to be filed at all):

(1) A namespace indication is not a part of a notification. The current algorithm adds discussion pages automatically to a user's Watchlist when a user adds an article. A user will be not able to distinguish whether a notification comes from an article or fro an article's discussion page. That is true for any other namespace - it's not present in the notification.

e.g. a user adds Long article to their Watchlist. The page Long was changed, then Talk:Long was changed (in the screenshot it was created because it's betalabs env). Both notifications look as they indicate the changes on the article itself.

Screen Shot 2022-06-02 at 3.06.48 PM.png (606×1 px, 78 KB)

(2) Flow topic names are not properly parsed. Could updates on Flow discussion boards be just filtered out?

Screen Shot 2022-06-02 at 3.04.40 PM.png (836×1 px, 112 KB)

Checked in betalabs. The screenshots below are for @RHo review - I did not find any issues with the UI elements display or the basic functionality. I've updated the checkboxes in the task description.

bundled notifications
Screen Shot 2022-06-02 at 2.57.18 PM.png (868×1 px, 117 KB)
cross-wiki bundled notifications
Screen Shot 2022-06-02 at 11.27.24 AM.png (1×1 px, 146 KB)

The email message format:

Screen Shot 2022-06-02 at 3.15.59 PM.png (934×2 px, 147 KB)


@RHo - there are issues that technically are outside of the scope of this task. Please review and let me know if they whether they need to be filed separately (or not to be filed at all):

(1) A namespace indication is not a part of a notification. The current algorithm adds discussion pages automatically to a user's Watchlist when a user adds an article. A user will be not able to distinguish whether a notification comes from an article or fro an article's discussion page. That is true for any other namespace - it's not present in the notification.

e.g. a user adds Long article to their Watchlist. The page Long was changed, then Talk:Long was changed (in the screenshot it was created because it's betalabs env). Both notifications look as they indicate the changes on the article itself.

Screen Shot 2022-06-02 at 3.06.48 PM.png (606×1 px, 78 KB)

I think for watchlist notifications we could change it to use e.g. Long or Talk:Long.

(2) Flow topic names are not properly parsed. Could updates on Flow discussion boards be just filtered out?

Screen Shot 2022-06-02 at 3.04.40 PM.png (836×1 px, 112 KB)

That issue is due to T299874: Flow sets RecentChange::$pageStatus to invalid value 'update', which we should fix.

Change 802726 had a related patch set uploaded (by Kosta Harlan; author: Kosta Harlan):

[mediawiki/extensions/Echo@master] WatchlistChange: Include namespace in presentation

https://gerrit.wikimedia.org/r/802726

Checked in betalabs. The screenshots below are for @RHo review - I did not find any issues with the UI elements display or the basic functionality. I've updated the checkboxes in the task description.

bundled notifications
Screen Shot 2022-06-02 at 2.57.18 PM.png (868×1 px, 117 KB)
cross-wiki bundled notifications
Screen Shot 2022-06-02 at 11.27.24 AM.png (1×1 px, 146 KB)

The email message format:

Screen Shot 2022-06-02 at 3.15.59 PM.png (934×2 px, 147 KB)


@RHo - there are issues that technically are outside of the scope of this task. Please review and let me know if they whether they need to be filed separately (or not to be filed at all):

(1) A namespace indication is not a part of a notification. The current algorithm adds discussion pages automatically to a user's Watchlist when a user adds an article. A user will be not able to distinguish whether a notification comes from an article or fro an article's discussion page. That is true for any other namespace - it's not present in the notification.

e.g. a user adds Long article to their Watchlist. The page Long was changed, then Talk:Long was changed (in the screenshot it was created because it's betalabs env). Both notifications look as they indicate the changes on the article itself.

Screen Shot 2022-06-02 at 3.06.48 PM.png (606×1 px, 78 KB)

I think for watchlist notifications we could change it to use e.g. Long or Talk:Long.

Done in https://gerrit.wikimedia.org/r/802726

Thanks @Etonkovidova for the notes and thanks @kostajh for the update to the first note about prepending Talk: when it's in that namespace. It looks like the second issue with topic subscriptions is covered in T299874 already, so will resolve this task. Awesome update!

Change 802726 merged by jenkins-bot:

[mediawiki/extensions/Echo@master] WatchlistChange: Include namespace in presentation

https://gerrit.wikimedia.org/r/802726