=====Meta=====
[x] 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.
- 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
[x] Design Requirements @iamjessklein
-- //Not needed for this step of the workflow.//
[x] QA specifications
-- //See `Functional requirements` above.//
---
=====Initiating a subscription=====
[x] 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
[x] Design Requirements @iamjessklein
-- //Not needed for this step of the workflow.//
[x] QA specifications
-- //See `Functional requirements` above.//
---
=====Being made aware of automatic subscription | T262103=====
[x] 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.
-- Mockups
[x] QA specifications
-- //See `Functional requirements` and `Mockups` above.//
---
=====Notification delivery/receipt (no implementation required) =====
[x] 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
[x] Design Requirements @iamjessklein
-- //Not needed for this step of the workflow.//
[x] QA specifications
-- //See `Functional requirements` above.//
---
=====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.`
[x] Design Requirements @iamjessklein
-- //Not needed for this step of the workflow.//
[x] QA specifications
-- //See `Functional requirements` above.//