Page MenuHomePhabricator

Provide a way for Tools that post messages to talkpages to avoid auto-subscribing the poster
Closed, ResolvedPublicFeature

Description

Feature summary:
DiscussionTools should provide a way for Tool-developers to setup some of their tool's features so that: optionally, when that tool posts a message to a discussion-location, it does not auto-subscribe the tool-user to that ==Section==, even if the tool-user has the preference "Automatically subscribe to topics" enabled (which they want to keep "on" for other circumstances).

Use case(s):
When an editor uses a tool (e.g. Twinkle, Wikishield, etc) to post a message to a usertalkpage, those tools often re-use an existing ==Heading== section. The editors posting these messages often do not intend to Subscribe to the thread, because there is an expectation that other semi-automated messages from other experienced editors will be sent to the same re-usable ==Heading== in the future, which are not intended for all the other experienced editors who post to that section.

Examples from the original bug-report thread: https://en.wikipedia.org/wiki/Wikipedia:Village_pump_(technical)#Notification_issues

  • In this usertalkpage (of a subsequently-blocked account) , the first experienced-editor who has posted there (Lynch44) used Twinkle to deliver a Template:uw-vandalism1 warning message, after rolling back the warned-user's vandalism.
    • After they (Lynch44) left that warning, they were auto-subscribed to the thread, which used the standard generic ==December 2025== heading per local convention.
    • Shortly after, two other editors left additional standard-template warning messages in the same thread (page-history), one using Wikishield, and one using Twinkle.
    • The original experienced editor received two unexpected Notifications (Echo) for replies in the thread.
  • Similarly, that same experienced editor used Twinkle to report a username-policy violation to the standard page Wikipedia:Usernames for administrator attention, and by convention that page is setup so that Twinkle-reports go under the permanent ==User-reported== section heading. The user was unexpectedly auto-subscribed to that section, too, and started receiving Notifications (Echo) for all subsequent posts to that section by other users.

Benefits:
Some editors (especially vandalism-patrollers at the larger wikis) may post new warning-messages on dozens-to-hundreds of different usertalkpages every day. They want to be able to retain the user-preference of "Automatically subscribe to topics" for many instances of their editing activities, but not when they use specific features via tools such as Twinkle/Wikishield/etc.

If there was an edit parameter to override the auto-subscription preference [?jargon?] within DiscussionTools, then Tool-developers could configure some of their tool's features to use this parameter, in order to not auto-subscribe the tool-users in those instances.

Event Timeline

Change #1217746 had a related patch set uploaded (by Esanders; author: Esanders):

[mediawiki/extensions/DiscussionTools@master] Add 'discussiontoolsautosubscribe' param to ApiEditPage

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

The above patch will add a discussiontoolsautosubscribe param to the action=edit API, which can be set to 'no' to override the user preference. Gadget authors can set this when appropriate, e.g. when posting Twinkle welcome messages.

cc @Novem_Linguae, @LuniZunie

Change #1217746 merged by jenkins-bot:

[mediawiki/extensions/DiscussionTools@master] Add 'discussiontoolsautosubscribe' param to ApiEditPage

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

Developers can start passing this paramater immediately, although it will do nothing and return a harmless warning until the code has been deployed later this week.

Why is this feature opt-out rather than opt-in?

Because the point of T290778: [Config change] Enable automatic topic subscriptions in all editing interfaces is that topic subscriptions work everywhere by default, regardless of whether the new topic tool, the legacy edit interface, the 2017 wikitext editor, an app, or any other kind of editing tool is used. There are many tools, such as Commons’ AjaxQuickDelete or huwiki’s “Járőrscript”, which always post new topics, and I’d expect auto-subscription to work with them; reusing topics is more of an exception than a rule.

Passing yes/no is very unusual in the Action API. It makes it look like a boolean param, so people might expect 1 to behave same way as yes. For an enum param, the names could have been more descriptive, eg. discussiontoolsautosubscribe = always / never / preferences.

Esanders added a project: Editing QA.
Esanders moved this task from Inbox to Low Priority on the Editing QA board.
ppelberg added a project: Skipped QA.
ppelberg subscribed.

I'm going to boldly assumed this functionality is working as expected. Of course, if you observe something different, please boldly re-open!