Page MenuHomePhabricator

[SPIKE] Investigate how we might handle mass messages differently in DiscussionTools
Open, Needs TriagePublic

Event Timeline

We do store sub_namespace and sub_title when the subscription is created, so we are able to tell when a notification is being sent whether it's actually on the original subscription page. (Unless it was renamed.) Therefore, assuming we can identify mass message topics somehow ("original topic author is in the bots usergroup", perhaps?), we could add an extra check so we only notify a user if it's from the original page.

The complicating UI issue then becomes that you'd still appear to be subscribed to all instances of a given mass message even if you're not receiving notifications about them. If we special-cased that to only show you as subscribed on the original page, then because we have a unique index on user+itemid we'd also need to disable the ability to request to be subscribed on any other instance of that mass message for you.

("original topic author is in the bots usergroup", perhaps?)

There are many bots that send standardized yet individual messages (e.g. about pages marked for deletion), treating them differently from messages sent by humans wouldn’t make much sense. I think only topics created by MediaWiki message delivery ($wgMassMessageAccountUsername or \MediaWiki\MassMessage::getMessengerUser()->getName()) need to be special-cased. However, there’s a catch: people sometimes put their own names in mass message signatures, so ideally the user who created the revision would be considered rather than the user whose signature it contains.