Open questions
- What should happen when "Person 1" is automatically subscribed to "Conversation A" and then unsubscribes from "Conversation A"?
- "Person 1" should remain unsubscribed to "Conversation A". This is documented in the newly-created Unsubscribing section within ===Implementation details.
Implementation details
Meta
- Functional Requirements - @ppelberg
- Platforms: mobile and desktop
- The editing interface people are using to start a new discussion or post a new comment should NOT impact their - ability to automatically be subscribed to a topic. (We previously planned to handle the full-page source editor separately in T289021.)
- The software should continue considering a discussion/conversation to be any == H2 == section that exists on pages - used for hosting conversations (e.g. talk pages, pages in wgExtraSignatureNamespaces namespaces...more in T249036).
- No new comment notifications should be sent for comments authored by users the would-be recipient has muted in Special:Preferences#mw-prefsection-echo > Muted users
- By default, automatic topic subscriptions should be enabled for all people who have the Enable topic subscription enabled
- Design Requirements @iamjessklein
- Not needed for this step of the workflow.
- QA specifications
- See Functional requirements above.
Relation to existing topic subscriptions
- When automatic topic subscriptions are deployed, no one should be automatically subscribed to all topics they previously participated in.
Initiating a subscription
- Functional Requirements - @ppelberg
- For people who have automatic topic subscriptions enabled, they should be automatically subscribed to a topic after taking either of the following actions:
- Posting a comment in a discussion they are not already subscribed to
- After "1)", people should see the [ subscribe ] affordance on the page turn into [ unsubscribed ]
- Starting a new discussion
- Posting a comment in a discussion they are not already subscribed to
- Design Requirements @iamjessklein
- Not needed for this step of the workflow.
- QA specifications
- See Functional requirements above.
Being made aware of automatic subscription | T262103
- Functional Requirements - @ppelberg
- The first time someone is automatically subscribed to a conversation, they should be made aware:
- They will receive a notification if/when someone posts a new comment in that discussion
- Where they can adjust whether they are automatically subscribed to discussions they participate in the future
- Design Requirements @iamjessklein
- User story
- As someone posting a comment or starting a new conversation for the first time after automatic topic subscriptions became available:
- I want to know that I will be made aware when someone posts a new comment in that discussion so that I have an accurate expectation for how I will know if someone responds to me.
- I want to know where I can adjust whether I am automatically subscribed to the future discussions I start and/or participate so that I can ensure the notifications I receive are valuable to me.
- As someone posting a comment or starting a new conversation for the first time after automatic topic subscriptions became available:
- Mockups
- Mockups will be created in T262103.
- User story
- QA specifications
- See Functional requirements and Mockups above.
Notification delivery/receipt (no implementation required)
- Functional Requirements - @ppelberg
- In general, new comment notifications initiated via an automatic subscription should be delivered in the same ways they are when initiated via manual subscriptions (T263820).
- Notifications about new comments in sections people are subscribed to should appear in Notices
- Design Requirements @iamjessklein
- Not needed for this step of the workflow.
- QA specifications
- See Functional requirements above.
Unsubscribing
- When someone is automatically subscribed to a conversation, and they subsequently unsubscribe from that conversation using any method (e.g. clicking [unsubscribe] on the talk page or unsubscribing from within Echo), that person should remain unsubscribed to that conversation until they manually resubscribe to it.
Managing automatic subscription behavior
- Functional Requirements - @ppelberg
- The setting that controls the channels through which new comment notifications are delivered should continue to be: Special:Preferences#mw-prefsection-echo > Talk page subscription
- People should be able to enable/disable being automatically subscribed from all conversations they start and/or comment in within Special:Preferences#mw-prefsection-editing --> Discussion pages
- This setting should only be visible to people who have the Talk page subscription setting enabled. More in T263819#7143367.
- This setting should read: Automatically subscribe to topics. / When you start a new discussion or comment in an existing discussion, you will be automatically notified when others post new comments to it.
- When a user disables the automatic subscription setting, their existing automatic subscriptions should continue sending notifications.
- To unsubscribe from conversations in this case, people should be able to use the affordance within Echo that was implemented in T279150.
- There should be one notification method setting (web/email/apps/none) that applies to topic subscriptions that are initiated manually and automatically
- Design Requirements @iamjessklein
- Not needed for this step of the workflow.
- QA specifications
- See Functional requirements above.
Minimum Test Case
Starting a new discussion
- On desktop, log in to the Beta Cluster
- Visit Special:Preferences: https://en.wikipedia.beta.wmflabs.org/wiki/Special:Preferences#mw-prefsection-editing
- Locate the Automatically subscribe to topics setting and verify it is disabled
- Enable the Automatically subscribe to topics setting
- Visit a talk page https://en.wikipedia.beta.wmflabs.org/wiki/Talk:Cats
- Start a new discussion on said talk page
- Verify the You have subscribed popup appears upon publishing said topic
- Verify there is an [ unsubscribe ] affordance within the == H2 == of the section you just started
Participating in an existing discussion
- On desktop, log in to the Beta Cluster
- Verify the the Automatically subscribe to topics setting is enabled
- Visit a talk page https://en.wikipedia.beta.wmflabs.org/wiki/Talk:Cats
- Publish a comment in an existing discussion on said talk page
- Verify the [ subscribe ] affordance within the == H2 == of the section you published a comment in transitioned to an [ unsubscribe ] affordance upon publishing the comment [in Step "6."]