Page MenuHomePhabricator

Make Special:Mute only usable for named users
Closed, ResolvedPublicFeature

Description

Feature summary (what you would like to be able to do and where):
With the new temp user feature it is possible to your own ip on edits.
But for this user a link to Special:Mute is shown, which is not useful as temp user never can set a email.

Use case(s) (list the steps that you performed to discover that problem, and describe the actual underlying problem which you want to solve. Do not describe only a solution):
Disable linking to Special:Mute for temp users to avoid

Benefits (why should this be implemented?):
No non-functional links in the UI

Testing notes

Environment:

  • This can be tested on Beta or locally
  • Extension needed: Echo
  • Config needed:
$wgEnableSpecialMute = true;
$wgEnableUserEmailBlacklist = true;
$wgEchoPerUserBlacklist = true;

Behaviour:

  • Only named users should be able to access Special:Mute. Anons and temporary users should see an error.
  • Special:Mute/<username> should display an error if <username> is not a named user's name (e.g. if it is an IP, temp user, nonexistent user, or empty)
  • Named users should see a "Mute preferences" link in their side menu on pages that have a 'relevant user' (e.g. Special:Contributions/<someuser>, Special:Block/<someuser>, etc) - but only if <someuser> is a named user. Temp and anon users should not see this link.

Event Timeline

Change 893815 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/core@master] specials: Make Special:Mute only usable for named users

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

Tchanders added subscribers: Niharika, Tchanders.

Thanks for the patch @Umherirrender

@Niharika Could you confirm how you'd like Special:Mute to behave? The original specs are in this task and its related tasks, in case you need to check: T164542

The patch:

  • disallows temporary users from using Special:Mute
  • disallows muting emails and notifications from temporary users
  • removes the shortcut link to Special:Mute if the accessing user is a temporary user
  • removes the shortcut link to Special:Mute if the target user is a temporary user

Questions:

  • Is there anything else to do here?
  • Is there a need to be able to mute notifications from temporary users? (There's no need to mute emails, since temporary users can't send emails. Can they send notifications?)

Thanks for the patch @Umherirrender!

@Niharika Could you confirm how you'd like Special:Mute to behave? The original specs are in this task and its related tasks, in case you need to check: T164542

The patch:

  • disallows temporary users from using Special:Mute

Makes sense. We do not want to expose preferences for temporary accounts at the moment.

  • disallows muting emails and notifications from temporary users

Makes sense. We don't allow muting emails and notifications from IP addresses. Should be consistent for temporary users.

  • removes the shortcut link to Special:Mute if the accessing user is a temporary user

Makes sense. If temp users can't use Special:Mute, they shouldn't be exposed to its link.

  • removes the shortcut link to Special:Mute if the target user is a temporary user

Makes sense. If temporary users can't be muted, we shouldn't show the shortcut link for them.

Questions:

  • Is there anything else to do here?

Not for this task, I think. It will be helpful to update the documentation for Special:Mute to mention this expected behavior for future reference. That can happen in a separate task or offline.

  • Is there a need to be able to mute notifications from temporary users? (There's no need to mute emails, since temporary users can't send emails. Can they send notifications?)

I don't think so. We should keep the behavior consistent with current IP address behavior. I think the patch does it right.

Thanks @Niharika

Not for this task, I think. It will be helpful to update the documentation for Special:Mute to mention this expected behavior for future reference. That can happen in a separate task or offline.

Any idea where this is? I can update it if so.

Change 893815 merged by jenkins-bot:

[mediawiki/core@master] specials: Make Special:Mute only usable for named users

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

I am still able to mute temp users from Special:Preferences. Is this OK, or shall I raise a separate bug? @Niharika @Tchanders?

User profile tab:

special_pref_profile_mute.png (195×774 px, 18 KB)

Notifications tab:

special_pref_notifications_mute.png (120×767 px, 12 KB)

I am still able to mute temp users from Special:Preferences. Is this OK, or shall I raise a separate bug? @Niharika @Tchanders?

User profile tab:

special_pref_profile_mute.png (195×774 px, 18 KB)

Muting notifications is really done via Echo - Special:Mute was just added as a convenient place to do it from.

As far as MediaWiki core is concerned, Special:Mute allows muting emails (which are implemented in core). Echo adds muting notifications via a hook.

If we're deciding in this task that we shouldn't allow muting temporary users via Special:Mute, that implies that Echo shouldn't allow it at all. However, various places in Echo would also need updating (including this form field but also e.g. APIs). Presumably that would belong to the Growth Team, since they own the extension. (See their related task: T330509: [IP Masking] Make Echo Notifications available to temporary users)

Notifications tab:

special_pref_notifications_mute.png (120×767 px, 12 KB)

We added this at the same time as Special:Mute, so we own this. Again, if we're deciding in this task that temporary users can't be muted, then this should be updated. The best way to do this would probably be by doing T332030: Update user name widgets config to accept or deny temporary user names.

I think disallowing muting temporary users as part of this task leads to a few problems:

  • If we do nothing further, Special:Mute behaves differently from Special:Preferences
  • If we fix these fields in Special:Preferences then Special:Preferences behaves differently from Echo APIs
  • If we fix these fields and fix Echo, we may be taking decisions away from the Growth Team
  • If we ask the Growth Team to decide about Echo, and AHT decide about email, notifications and email might behave differently if we decide different things

I see two possible ways for us to keep behaviour consistent:

  1. Fix Special:Preferences and fix the Echo extension, to disallow muting temporary accounts - assuming the Growth Team are happy with that. (As AHT are not experts in that extension, I see some risk here since we might encounter something unexpected that makes this more complicated.)
  2. Put up a patch (as part of this task) to re-allow muting temporary users, while we discuss with the Growth Team what to do in the long term.

@Niharika What do you think we should do?

@Tchanders and I discussed this today. My preference would be for us to disallow muting temporary users from Special:Mute and Special:Preferences. Growth team is already thinking about disabling preferences for temporary users in T330509: [IP Masking] Make Echo Notifications available to temporary users and we should leave the work of updating the Echo APIs to them.

@Tchanders and I discussed this today. My preference would be for us to disallow muting temporary users from Special:Mute and Special:Preferences. Growth team is already thinking about disabling preferences for temporary users in T330509: [IP Masking] Make Echo Notifications available to temporary users and we should leave the work of updating the Echo APIs to them.

We're continuing to discuss this with the Growth Team on T330509. They may want to keep the ability to mute temporary users.

I believe the only thing outstanding on this task is the question of what to do about Special:Preferences. That will need to be decided by that discussion.

I think we should move this task to Done, and once we know what we want to do, file follow-up tasks for either (1) disallowing muting temporary users via Special:Preferences/Echo, or (2) re-allowing muting temporary users via Special:Mute.

Tested on cswiki beta (IP-masking is enabled there). To capture the current behavior, I checked the specs in the task description and added the results of testing and my comment:

Only named users should be able to access Special:Mute. Anons and temporary users should see an error.

Currently

  • Special:Mute can be accessed by named users only
  • temp users attempting to access Special:Mute will be re-directed to the Login page. No additional instructions/explanation is given to temp users.
  • the side menu option "Mute preferences" is present only for old Vector skin. Since Vector 2022 skin is a default skin, "Mute preferences" are not present for temp users by default.

Special:Mute/<username> should display an error if <username> is not a named user's name (e.g. if it is an IP, temp user, nonexistent user, or empty)

DONE, e.g. https://cs.wikipedia.beta.wmflabs.org/wiki/Speci%C3%A1ln%C3%AD:Mute/*Unregistered_54718?uselang=en will display:
"The username could not be found"

Screen Shot 2023-08-21 at 1.04.04 PM.png (622×1 px, 86 KB)

NOTE

  • the message "The username could not be found" is not quite correct; a user name does exist and such message might confuse named users trying to block some temp accounts.
  • unable to block temp users might affect named user experience negatively. Many users do not have permission rights to access Special:Block, so blocking temp users via Preferences-Notifications is their only option now.

Named users should see a "Mute preferences" link in their side menu on pages that have a 'relevant user' (e.g. Special:Contributions/<someuser>, Special:Block/<someuser>, etc) - but only if <someuser> is a named user. Temp and anon users should not see this link.

Temp users have Vector 2022 skin by default and do not see the "Mute preferences" option.


@Tchanders and I discussed this today. My preference would be for us to disallow muting temporary users from Special:Mute and Special:Preferences. Growth team is already thinking about disabling preferences for temporary users in T330509: [IP Masking] Make Echo Notifications available to temporary users and we should leave the work of updating the Echo APIs to them.

We're continuing to discuss this with the Growth Team on T330509. They may want to keep the ability to mute temporary users.

I believe the only thing outstanding on this task is the question of what to do about Special:Preferences. That will need to be decided by that discussion.

I think we should move this task to Done, and once we know what we want to do, file follow-up tasks for either (1) disallowing muting temporary users via Special:Preferences/Echo, or (2) re-allowing muting temporary users via Special:Mute.

I agree with closing this task and create some follow-ups phab tickets on making decisions on whether muting temp users should be done or not.

Pinging @KStoller-WMF, @RHo and moving to Design review column for further discussion. QA testing is done for this ticket.

Hiya, my 2 cents is that I agree that temp accounts should not be have the ability to mute others, but I am not sure why named users shouldn't be able to mute a temp account if it so happens that a temp account is someone they do not wish to have contact, per the use cases of this feature.

It also seems to make the temp account less than to IP editors, because you can currently mute IPs:

image.png (536×1 px, 86 KB)

I created a follow up tasks so we can discuss this particular question separately: T344647: Named users should be able to Mute a temp account

Hiya, my 2 cents is that I agree that temp accounts should not be have the ability to mute others, but I am not sure why named users shouldn't be able to mute a temp account if it so happens that a temp account is someone they do not wish to have contact, per the use cases of this feature.

It also seems to make the temp account less than to IP editors, because you can currently mute IPs:

image.png (536×1 px, 86 KB)

@RHo where did you get that screenshot from? I am not sure that's correct. I did not find IPs being auto-completed on that field on the wikis and neither do IPs have the "Mute this user" option on their contrlbs pages (old task: T218270). I think muting IPs was requested at some point but we did not develop it. The closest task I found is T207659: Allow 'Muted users' notification preference to support IP ranges.
@Tchanders can you please confirm that IPs cannot be muted through the current implementation?

Hiya, my 2 cents is that I agree that temp accounts should not be have the ability to mute others, but I am not sure why named users shouldn't be able to mute a temp account if it so happens that a temp account is someone they do not wish to have contact, per the use cases of this feature.

It also seems to make the temp account less than to IP editors, because you can currently mute IPs:

image.png (536×1 px, 86 KB)

@RHo where did you get that screenshot from? I am not sure that's correct. I did not find IPs being auto-completed on that field on the wikis and neither do IPs have the "Mute this user" option on their contrlbs pages (old task: T218270). I think muting IPs was requested at some point but we did not develop it. The closest task I found is T207659: Allow 'Muted users' notification preference to support IP ranges.

Hiya, the screenshot is from my logged in account on enwiki. Here's another IP user I muted just now on enwiki and eswiki respectively:

enwiki
image.png (1×1 px, 169 KB)
eswiki
image.png (378×1 px, 89 KB)
eswiki with one IP that has not edited shown as error
image.png (388×1 px, 82 KB)

If it is not actually possible to mute IPs then this should be filed as a bug 'cos it certainly appears that I have now muted the IPs. Note that it is only allowing me to enter IP addresses that have made edits.
IMO the use cases for muting *should* include IP editors and temp accounts, since if this was not possible it may encourage people to intentionally use IP or temp accounts to send spam notifications.

@Tchanders can you please confirm that IPs cannot be muted through the current implementation?

@Tchanders can you please confirm that IPs cannot be muted through the current implementation?

@Umherirrender is correct, but I can also confirm that this is the case.

Hiya, my 2 cents is that I agree that temp accounts should not be have the ability to mute others, but I am not sure why named users shouldn't be able to mute a temp account if it so happens that a temp account is someone they do not wish to have contact, per the use cases of this feature.

It also seems to make the temp account less than to IP editors, because you can currently mute IPs:

image.png (536×1 px, 86 KB)

@RHo where did you get that screenshot from? I am not sure that's correct. I did not find IPs being auto-completed on that field on the wikis and neither do IPs have the "Mute this user" option on their contrlbs pages (old task: T218270). I think muting IPs was requested at some point but we did not develop it. The closest task I found is T207659: Allow 'Muted users' notification preference to support IP ranges.

Hiya, the screenshot is from my logged in account on enwiki. Here's another IP user I muted just now on enwiki and eswiki respectively:

enwiki
image.png (1×1 px, 169 KB)
eswiki
image.png (378×1 px, 89 KB)
eswiki with one IP that has not edited shown as error
image.png (388×1 px, 82 KB)

If it is not actually possible to mute IPs then this should be filed as a bug 'cos it certainly appears that I have now muted the IPs. Note that it is only allowing me to enter IP addresses that have made edits.
IMO the use cases for muting *should* include IP editors and temp accounts, since if this was not possible it may encourage people to intentionally use IP or temp accounts to send spam notifications.

@Tchanders can you please confirm that IPs cannot be muted through the current implementation?

@Tchanders can you please confirm that IPs cannot be muted through the current implementation?

@Umherirrender is correct, but I can also confirm that this is the case.

I'm confused because it seems from my testing and screenshots and the comment from @Umherrirrender that is *is* possible to mute IP editors currently. Based on the current behaviour and the use case for people wanting to be able to mute folks who don't have a named account, would it make sense to proceed with T344647: Named users should be able to Mute a temp account ?

I'm confused because it seems from my testing and screenshots and the comment from @Umherrirrender that is *is* possible to mute IP editors currently. Based on the current behaviour and the use case for people wanting to be able to mute folks who don't have a named account, would it make sense to proceed with T344647: Named users should be able to Mute a temp account ?

I have not written that it is possible to mute temp accounts. Maybe my text was not accurate, here a more accurate text:
You have muted named accounts with the prefix "IP ...", there is a small list of them under https://es.wikipedia.org/wiki/Especial:ListaUsuarios/IP or https://en.wikipedia.org/wiki/Special:ListUsers/IP

I'm confused because it seems from my testing and screenshots and the comment from @Umherrirrender that is *is* possible to mute IP editors currently. Based on the current behaviour and the use case for people wanting to be able to mute folks who don't have a named account, would it make sense to proceed with T344647: Named users should be able to Mute a temp account ?

I have not written that it is possible to mute temp accounts. Maybe my text was not accurate, here a more accurate text:
You have muted named accounts with the prefix "IP ...", there is a small list of them under https://es.wikipedia.org/wiki/Especial:ListaUsuarios/IP or https://en.wikipedia.org/wiki/Special:ListUsers/IP

Sorry if it was unclear, That's what I meant, that it seems it is possible to mute iPs.

I'm confused because it seems from my testing and screenshots and the comment from @Umherrirrender that is *is* possible to mute IP editors currently. Based on the current behaviour and the use case for people wanting to be able to mute folks who don't have a named account, would it make sense to proceed with T344647: Named users should be able to Mute a temp account ?

I have not written that it is possible to mute temp accounts. Maybe my text was not accurate, here a more accurate text:
You have muted named accounts with the prefix "IP ...", there is a small list of them under https://es.wikipedia.org/wiki/Especial:ListaUsuarios/IP or https://en.wikipedia.org/wiki/Special:ListUsers/IP

Sorry if it was unclear, That's what I meant, that it seems it is possible to mute iPs.

What @Umherirrender is trying to explain is that what you've muted there are actually registered accounts (not IPs) whose usernames confusingly start with the text IP , for example IP 127.0.0.1 is a registered account. If you try to simply type 127.0.0.1 into that form, it will not autocomplete because you cannot mute IPs. IPs do not start with IP , their 'username' is simply the IP itself.

These are all just registered accounts with "127.0.0.1" in the username, and I cannot save the field with just the IP:

Screenshot 2023-08-30 at 11.57.42.png (624×1 px, 78 KB)

Screenshot 2023-08-30 at 11.58.19.png (224×774 px, 26 KB)

I'm confused because it seems from my testing and screenshots and the comment from @Umherrirrender that is *is* possible to mute IP editors currently. Based on the current behaviour and the use case for people wanting to be able to mute folks who don't have a named account, would it make sense to proceed with T344647: Named users should be able to Mute a temp account ?

I have not written that it is possible to mute temp accounts. Maybe my text was not accurate, here a more accurate text:
You have muted named accounts with the prefix "IP ...", there is a small list of them under https://es.wikipedia.org/wiki/Especial:ListaUsuarios/IP or https://en.wikipedia.org/wiki/Special:ListUsers/IP

Sorry if it was unclear, That's what I meant, that it seems it is possible to mute iPs.

What @Umherirrender is trying to explain is that what you've muted there are actually registered accounts (not IPs) whose usernames confusingly start with the text IP , for example IP 127.0.0.1 is a registered account. If you try to simply type 127.0.0.1 into that form, it will not autocomplete because you cannot mute IPs. IPs do not start with IP , their 'username' is simply the IP itself.

These are all just registered accounts with "127.0.0.1" in the username, and I cannot save the field with just the IP:

Screenshot 2023-08-30 at 11.57.42.png (624×1 px, 78 KB)

Screenshot 2023-08-30 at 11.58.19.png (224×774 px, 26 KB)

Ooooh wow,ok gotcha,thanks for explaining that it indeed very confusing.

  • Only named users should be able to access Special:Mute. Anons and temporary users should see an error.
  • Special:Mute/<username> should display an error if <username> is not a named user's name (e.g. if it is an IP, temp user, nonexistent user, or empty)
  • Named users should see a "Mute preferences" link in their side menu on pages that have a 'relevant user' (e.g. Special:Contributions/<someuser>, Special:Block/<someuser>, etc) - but only if <someuser> is a named user. Temp and anon users should not see this link.

@Etonkovidova now that T344647: Named users should be able to Mute a temp account is complete, will you test this?

Etonkovidova claimed this task.
  • Only named users should be able to access Special:Mute. Anons and temporary users should see an error.
  • Special:Mute/<username> should display an error if <username> is not a named user's name (e.g. if it is an IP, temp user, nonexistent user, or empty)
  • Named users should see a "Mute preferences" link in their side menu on pages that have a 'relevant user' (e.g. Special:Contributions/<someuser>, Special:Block/<someuser>, etc) - but only if <someuser> is a named user. Temp and anon users should not see this link.

@Etonkovidova now that T344647: Named users should be able to Mute a temp account is complete, will you test this?

Re-checked on cswiki betalabs. Below are the results of testing. Also added this task's cases to T341839: [QA task] IP masking - temp users testing in production.

  • Only named users should be able to access Special:Mute. Anons and temporary users should see an error.

✅ A temp user will be re-directed to Login page (just as anon user) .

Screen Shot 2023-10-12 at 3.24.37 PM.png (1×2 px, 267 KB)

  • Special:Mute/<username> should display an error if <username> is not a named user's name (e.g. if it is an IP, temp user, nonexistent user, or empty)

✅ "The username requested could not be found." will be displayed for the above cases.

Screen Shot 2023-10-12 at 3.37.18 PM.png (518×1 px, 41 KB)

  • Named users should see a "Mute preferences" link in their side menu on pages that have a 'relevant user' (e.g. Special:Contributions/<someuser>, Special:Block/<someuser>, etc) - but only if <someuser> is a named user. Temp and anon users should not see this link.

✅ Temp and anon users do not see Special:Block and Special:Mute links in the side menu (Vector (2022) skin doesn't have such links displayed in the side menu).