Support recipient-level optout for Twinkle notices#2251
Conversation
efb153c to
45712b0
Compare
2cf3e90 to
d4f0e7b
Compare
Allows users to opt out from CSD/PROD/XFD notices by placing {{Twinkle optout}} on their talk page. The template creates an invisible external link to `https://optout.twinkle` with a `types` query param being the list of opted-out notice types. Opting out of specific CSD criteria notices is left for later, but opting out from specific XfD venues is supported. See https://en.wikipedia.org/wiki/Template:Twinkle_optout for usage details.
In Twinkle, we use a prop=extlinks API call to check for external links to that domain and parse the `types` parameter. An external link is used because it's the only way to create metadata that can be modified in wikitext and also accessed via the API.
This is a popular request, the most recent version being https://en.wikipedia.org/wiki/Wikipedia:Village_pump_(technical)#Mute_feature_not_working.
d4f0e7b to
f7b1357
Compare
|
|
Some additional thoughts about the consensus part of this:
|
|
I think this is a feature which is often mis-requested in more general forms like "opt out all blocked users" or "opt out all deceased users" which indeed don't have consensus. Allowing individual opt-outs specifically has not come up frequently, but when it has come up I have not heard anyone opposing it. The template prevents itself from being included in other templates due to the namespace check. It's still possible to include the external link manually, but I don't think that's going to happen.
I believe he wants to opt out of all automated messages altogether, not just Twinkle ones. But sure, we can add a param to specify usernames to block. |
Allows users to opt out from CSD/PROD/XFD notices by placing {{Twinkle optout}} on their talk page. The template creates an invisible external link to
https://optout.twinklewith atypesquery param being the list of opted-out notice types. Opting out of specific CSD criteria notices is left for later, but opting out from specific XfD venues is supported. See https://en.wikipedia.org/wiki/Template:Twinkle_optout for usage details.In Twinkle, we use a prop=extlinks API call to check for external links to that domain and parse the
typesparameter. An external link is used because it's the only way to create metadata that can be modified in wikitext and also accessed via the API.This is a popular request, the most recent version being https://en.wikipedia.org/wiki/Wikipedia:Village_pump_(technical)#Mute_feature_not_working.