Page MenuHomePhabricator

Ensure notifications are sent when someone closes a discussion you are subscribed to
Closed, ResolvedPublic

Assigned To
Authored By
ppelberg
Jan 20 2022, 4:22 PM
Referenced Files
F35486137: image.png
Aug 23 2022, 10:10 PM
F35486146: image.png
Aug 23 2022, 10:10 PM
F35486148: image.png
Aug 23 2022, 10:10 PM
F35485624: archive.svg
Aug 23 2022, 4:50 PM
F35485628: archive.png
Aug 23 2022, 4:50 PM
F35485608: path1751.png
Aug 23 2022, 4:50 PM
F35431868: image.png
Aug 12 2022, 2:11 PM
F35380507: image.png
Aug 2 2022, 12:36 PM

Description

Inspired by a discussion with @matmarex, this task involves the work of ensuring people who are subscribed to a discussion are notified when someone else closes said discussion.

Where "close" in this context could mean the following (a non-exhaustive list):

  • A template is added to mark the closure/resolution of a discussion (e.g. {atop} (T299516))
  • Discussion is moved to an "archive" subpage:
  • Discussion is deleted from the page
  • Discussion is merged into another discussion (related: T298617)

Note: this task is the first step towards us ensuring people are made aware when a discussion they have subscribed to has been changed in a way that could prevent them from receiving further notifications about it. See more in T314973.

Story

When a discussion I am subscribed to, and expecting to receive notifications about, is moved to another page, deleted, or merged into another discussion, I want to be made aware that this change could impact my ability to receive notifications about this discussion so that I can: A) decide whether there is any action I need to take on my part to continue staying up to date about this discussion and B) avoid mistaking NOT receiving notifications about a discussion I previously subscribed to as evidence that there is no new activity within the discussion for me to see.

Requirements

  • Notify the people who are subscribed to a discussion when one of the following things happens to said discussion: A) it is moved to another page, B) Deleted, or C) Merged into another discussion
    • Ideally, we would be able to suppress notifications about discussions that are moved by a bot. See ===Open questions below.
    • Note: it should not matter whether people initiated this subscription manually or automatically.
  • The notification people receive in the cases described above should contain the following:
    • Information
      • The title of the discussion that was moved, deleted, or merged
      • A notice informing people they may no longer receive notifications about said discussion
    • Actions
      • View the diff that caused the notification people are seeing to be sent
      • Elect to stop receiving notifications about all future "moves" of discussions I am subscribed to
        • The call to action for muting future moving notification should appear within the notification card's ••• menu [can't be controlled] read as follows: Stop receiving notifications like this
        • The confirmation message shown after using the action links to Special:Preferences#mw-prefsection-echo-echosubscriptions (to show the user how to re-enable them)
        • The email and no-JS fallback links to Special:Preferences#mw-prefsection-echo-echosubscriptions
      • Visit the page from which the discussion I was subscribe to has been moved
    • Imagery/Iconography
      • An icon of some kind that causes people to recognize this notification as being different from a notification about a new comment. Maybe the "⚠️ alert" icon?
  • The notification people receive in the cases described above should read as follows:
    • Case #1: Single topic moved from its original location
      • Notification headline: Topic "NAME" was archived or removed from PAGE NAME
      • Notification subtext: You might no longer receive notifications about this topic.
    • Case #2: >1 topics moved from the same original location
      • Notification headline: # topics were archived or removed from PAGE NAME
      • Notification subtext: You might no longer receive notifications about these topics.
  • A new setting should be added to Special:Preferences#mw-prefsection-echo:
    • Setting name: Talk page archiving
    • Setting helper text (per T299657#8148197): Notify me when a topic I am subscribed to is archived or removed from a page, or if notifications about new comments posted in that topic can't be sent for other reasons.

Open question

  • 1. Is it possible to filter out/suppress/not notify people about discussions that are moved by bots? If so, how much complexity would implementing this add to this task?
  • 2. What icon should accompany the notifications this task will implement?
    • @nayoub is going to post the icon he thinks ought to accompany these notifications.
    • We're going to address this open question in T316965

Done

  • Answers to all Open questions are documented
  • All `Requirements are implemented

Related

Related Objects

Event Timeline

Change 818588 had a related patch set uploaded (by Bartosz Dziewoński; author: Bartosz Dziewoński):

[mediawiki/extensions/DiscussionTools@master] Notify users when a topic they are subscribed to is removed from a page

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

Screenshot from Slack:

image.png (990×1 px, 139 KB)

Given we expect the most common use case to be archiving, maybe the message should be "Topic X was archived or removed [from page Y]"

I do not want to be notified when a discussion gets moved to an /Archive page. This is a normal and routine action. If you are an experienced editor, you will expect it; if you are an inexperienced editor, you may be confused by it (what's archiving?!). It does not deserve my attention. Just make the subscription keep working and don't bother me about it. Notifications are for things that need my attention, not for convincing me that the topic subscriptions software works.

Notifications about discussion removals could also interfere with other social measures. Sometimes, a discussion is archived before anyone replies, because nobody thinks it's appropriate to reply. See, e.g., https://en.wikipedia.org/wiki/Wikipedia:Shunning Sometimes a discussion is removed without archiving because it's completely inappropriate. It would not be helpful to send notifications to editors that their unwanted contributions (e.g., insults, spam, soapbox speeches, drunken rants...) have been removed. Page blanking is also an old method of "archiving" (e.g., by the former head of Product and Technology at the WMF).

I do not want to be notified when a discussion gets moved to an /Archive page. This is a normal and routine action. If you are an experienced editor, you will expect it; if you are an inexperienced editor, you may be confused by it (what's archiving?!). It does not deserve my attention. Just make the subscription keep working and don't bother me about it. Notifications are for things that need my attention, not for convincing me that the topic subscriptions software works.

Archiving/closing a discussion is a significant event / change in state that many subscribers would absolutely want to know about. If other people come to the same conclusion as you: that these notifications are unwanted, we can group them separately in preferences so that users can mute them. Also, archiving notifications will only happen once per discussion, whereas you will get several notifications for each comment added after you subscribed, so we don't expect this to drastically increase the volume of notifications.

Notifications about discussion removals could also interfere with other social measures. Sometimes, a discussion is archived before anyone replies, because nobody thinks it's appropriate to reply. See, e.g., https://en.wikipedia.org/wiki/Wikipedia:Shunning Sometimes a discussion is removed without archiving because it's completely inappropriate. It would not be helpful to send notifications to editors that their unwanted contributions (e.g., insults, spam, soapbox speeches, drunken rants...) have been removed. Page blanking is also an old method of "archiving" (e.g., by the former head of Product and Technology at the WMF).

We also send notifications to users when edits are reverted, so this doesn't sound like a new issue.

I do not want to be notified when a discussion gets moved to an /Archive page. This is a normal and routine action. If you are an experienced editor, you will expect it; if you are an inexperienced editor, you may be confused by it (what's archiving?!). It does not deserve my attention. Just make the subscription keep working and don't bother me about it. Notifications are for things that need my attention, not for convincing me that the topic subscriptions software works.

@Whatamidoing-WMF: thank you for raising this concern. A few thoughts in response:

  1. I agree with you in thinking that Topic Subscriptions are not doing their job if we/they need to "tell" you they are
  2. I appreciate there are likely to be volunteers who, like you, will perceive notifications about a discussion they are subscribed to being moved as noise.
  3. I think it is important that people be made aware when a discussion they are subscribed to is changed in a way that would cause them to stop receiving notifications
  4. It is not currently possible for the software to differentiate between a discussion being moved to an /Archive page and a discussion being merged into another discussion which, in the latter case, would cause the subscription to break

To deliver on "3." while addressing "2." and working within the constraint of "4.", I'm proposing that we:

  • Consider this ticket, and the notification it will introduce to make people aware when a discussion they are subscribed to is moved, deleted, or merged, as a first generic step towards us improving support for the various kinds of discussion state changes. See the cases described in T314973.
  • As part of this task, offer people the ability to elect to stop receiving notifications of this sort
  • If/when we come to find that many people are electing to stop receiving notifications of this sort, we can decide to prioritize work on T314973 or implement the preference @Esanders alluded to in T299657#8145609.

I've updated the task description to reflect the above.

As part of this task, offer people the ability to elect to stop receiving notifications of this sort

The patch already groups these notifications separately from not subscription notifications, so they can be disabled:

image.png (207×375 px, 24 KB)

  1. Is it possible to filter out/suppress/not notify people about discussions that are moved by bots? If so, how much complexity would implementing this add to this task?

Probably - but seeing as whether an discussion is archived by a bot or manually is somewhat arbitrary, it seems like a not very useful feature. I also don't see why a bot archiving a page is any less interesting that a human archiving a page.

Per my comment above I propose changing the current wording of the notification from:

  • Topic X was removed from page Y

to

  • Topic X was archived or removed from page Y

Given that "archived" is the most likely thing happening.

Aside from this I think the patch is ready to go.

As part of this task, offer people the ability to elect to stop receiving notifications of this sort

The patch already groups these notifications separately from not subscription notifications, so they can be disabled:

image.png (207×375 px, 24 KB)

@Esanders: Looking good. I've added the new notification setting within Special:Preference (pictured above) to the requirements.

Question: Regarding offering the ability to turn off these "merge/move/delete" notifications: can that option also be presented within the notification item/card itself so that people have the ability to stop these notifications without having to navigate away from the context they're encountering it within? I'm imagining this action being located within the notification item's/card's ••• menu...

  1. Is it possible to filter out/suppress/not notify people about discussions that are moved by bots? If so, how much complexity would implementing this add to this task?

Probably - but seeing as whether an discussion is archived by a bot or manually is somewhat arbitrary, it seems like a not very useful feature. I also don't see why a bot archiving a page is any less interesting that a human archiving a page.

Fair. I don't think this first iteration needs to filter out/suppress notifications about discussions that bots archive. If/when people report these notices as being noisy, we can consider adding this.

Per my comment above I propose changing the current wording of the notification from:

  • Topic X was removed from page Y

to

  • Topic X was archived or removed from page Y

Given that "archived" is the most likely thing happening.

@Esanders: I don't have a strong conviction about which of the two phrasings people will find most helpful. I've updated the requirements to reflect the language you're suggesting above.

ppelberg updated the task description. (Show Details)
ppelberg added a subscriber: nayoub.

I made some tiny changes to the requirements where I felt that the different wording already in the patch was better, I hope you don't mind.

I have thoughts about some other requirements:

  • The notification people receive in the cases described above should contain the following:
    • Information
      • The username of the person who made the change that caused the notification people are seeing to be sent
    • Actions
      • Visit the user page of the person who made the change that caused the notification people are seeing to be sent

If we're thinking that many of these will be in response to bot edits, then we probably shouldn't surface the username too directly, it might confuse people into trying to converse with the bot. Even if it isn't confusing, it would still be rather unhelpful, and this notification already tries to present too much information in my opinion.

You could still find the username if you really wanted by following the link to the diff.

We omit the username in some notifications already, one example is the revert notification, which also seems designed to discourage immediately contacting the other user, although for different reasons.

  • Elect to stop receiving notifications about all future "moves" of discussions I am subscribed to
    • The call to action for muting future moving notification should appear within the notification card's ••• menu and read as follows: Stop receiving notifications like this

I'm not sure about encouraging unsubscribing from these notifications so much, I think they are actually useful…

If we do, I think the wording needs to make it clear that you're unsubscribing from all notifications about topics being archived/deleted/etc., rather than just from this one topic, like our unsubscribe action in the other notifications.

  • Imagery/Iconography
    • An icon of some kind that causes people to recognize this notification as being different from a notification about a new comment. Maybe the "⚠️ alert" icon?

I think they're useful, but not nearly so important as to give them an exclamation mark ;)

I looked and I don't see an icon I'd be happy with. If anyone would like to draw an icon, I'd suggest a filing cabinet like the image in https://en.wikipedia.org/wiki/Template:Archives. Otherwise, I'm okay with using the same speech bubbles we have for other notifications.

I lost some time this morning trying to draw an icon. It turns out that filing cabinets don't really work at 30x30px size. On the other hand, no one has used a filing cabinet in the last 20 years, so maybe that's for the best.

Here's one idea I was happy with:

path1751.png (400×400 px, 5 KB)

And some bad ideas, in case you want to see:

archive.png (1×2 px, 66 KB)

I updated the patch and requirements per the meeting today.

  • Removed the username requirements
  • Added an action to stop receiving notifications
  • Swapped an icon for one of the available ones with an exclamation mark
  • (Also changed "may" to "might" per the British among us)

Note:

BeforeYesterdayToday
image.png (1×1 px, 99 KB)
image.png (1×1 px, 102 KB)
image.png (1×1 px, 116 KB)

I made some tiny changes to the requirements where I felt that the different wording already in the patch was better, I hope you don't mind.

Assuming the wording changes you are referring to are the ones you made in T299657#8176675, then I think they look good except for the addition of the word page before the page name.

...in the new comment notifications, we don't include the word discussion or topic before the name of the section title people are being notified about and, to my knowledge, we have yet to see a report of someone finding that copy confusing.

If you think it's important that the notification be explicit informing people that the topic they are/were subscribed to has moved from a page then, I'd prefer we say the following instead: TOPIC NAME was archived or removed from the PAGE NAME page.

I have thoughts about some other requirements:

  • The notification people receive in the cases described above should contain the following:
    • Information
      • The username of the person who made the change that caused the notification people are seeing to be sent
    • Actions
      • Visit the user page of the person who made the change that caused the notification people are seeing to be sent

If we're thinking that many of these will be in response to bot edits, then we probably shouldn't surface the username too directly, it might confuse people into trying to converse with the bot. Even if it isn't confusing, it would still be rather unhelpful, and this notification already tries to present too much information in my opinion.

You could still find the username if you really wanted by following the link to the diff.

We omit the username in some notifications already, one example is the revert notification, which also seems designed to discourage immediately contacting the other user, although for different reasons.

Omitting the username from these notifications for the reasons you mentioned above sound good to me.

  • Elect to stop receiving notifications about all future "moves" of discussions I am subscribed to
    • The call to action for muting future moving notification should appear within the notification card's ••• menu and read as follows: Stop receiving notifications like this

I'm not sure about encouraging unsubscribing from these notifications so much, I think they are actually useful…

If we do, I think the wording needs to make it clear that you're unsubscribing from all notifications about topics being archived/deleted/etc., rather than just from this one topic, like our unsubscribe action in the other notifications.

A) I think it's important people have the ability to elect to stop receiving notifications about topic moves/removals from within the notification.

As for the copy that accompanies this action, I think Stop receiving notifications like this. is a good starting place.

  • Imagery/Iconography
    • An icon of some kind that causes people to recognize this notification as being different from a notification about a new comment. Maybe the "⚠️ alert" icon?

I think they're useful, but not nearly so important as to give them an exclamation mark ;)

I looked and I don't see an icon I'd be happy with. If anyone would like to draw an icon, I'd suggest a filing cabinet like the image in https://en.wikipedia.org/wiki/Template:Archives. Otherwise, I'm okay with using the same speech bubbles we have for other notifications.

@nayoub is going to follow up with a comment on this task with the icon he thinks ought to accompany these notifications.

NOTE: I've updated the requirements to reflect the above.

A) I think it's important people have the ability to elect to stop receiving notifications about topic moves/removals from within the notification.

This is not true for any other notification type.

During today's team discussion we decided:

  1. To keep the CTA within each notification that enables people to turn off all future "topic move/remove" notifications
  2. To introduce a generic notification that will invite people to revisit their notification settings in Special:Preferences. Note: this work will happen in T316171 and we have not yet decided when this could get implemented.
  3. To check how many people have disabled the new notification this ticket introduces so that we can understand the extent to which people are/are not finding them useful. Note: this analysis will happen in T316163.

I made some tiny changes to the requirements where I felt that the different wording already in the patch was better, I hope you don't mind.

Assuming the wording changes you are referring to are the ones you made in T299657#8176675, then I think they look good except for the addition of the word page before the page name.

...in the new comment notifications, we don't include the word discussion or topic before the name of the section title people are being notified about and, to my knowledge, we have yet to see a report of someone finding that copy confusing.

If you think it's important that the notification be explicit informing people that the topic they are/were subscribed to has moved from a page then, I'd prefer we say the following instead: TOPIC NAME was archived or removed from the PAGE NAME page.

OK, I changed it back.

(I wanted to be explicit because there was some confusion about referring to the page vs the subject of the page in some of the empty state messages, but you're right that in notifications it's unambiguous. And I wrote "page X" instead of "the X page", even though it's grammatically unorthodox, because I find that easier to read when X can get long, and I think I'm not alone.)

As for the copy that accompanies this action, I think Stop receiving notifications like this. is a good starting place.

Done.

Change 818588 merged by jenkins-bot:

[mediawiki/extensions/DiscussionTools@master] Notify users when a topic they are subscribed to is removed from a page

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

  • 2. What icon should accompany the notifications this task will implement?
    • @nayoub is going to post the icon he thinks ought to accompany these notifications.

We're going to revise the icon that will accompany the new notification this task implements in T316965.

cc @nayoub