Page MenuHomePhabricator

[Epic] Ping/notify user when username used in an edit summary
Closed, ResolvedPublic

Description

Notify users when their username is linked to in the edit summary.

This feature was result #2 on the 2017 Community Wishlist. Wishlist project documentation: https://meta.wikimedia.org/wiki/Community_Tech/Ping_users_from_the_edit_summary


Example use cases

splitting section into two, as per discussion with [[User:Apples]]

rewriting this section -- [[User:Apples]] and [[User:Bananas]], please check that I've done this correctly?


Acceptance criteria

These requirements are not finalized. Please discuss these in the comments below or on the project talk page.

  • Notifications will be delivered if a user types in [[User:*]] in the edit summary. Pipes and templates will not be supported.
    • Should support the localized namespace name for the wiki's language (e.g. [[Benutzer:Apples]] in German or [[利用者:Apples]] in Japanese.)
  • The contents of the notification (on-wiki and email) should be:
    • Icon: Existing Mention icon Echo mention icon.svg
    • Text: Username mentioned you in an edit summary on pagename.
      • Should use the same pagename detection logic as the existing Mention notification.
      • Page name should be bolded.
    • First few characters of the edit summary, truncated with an ellipsis so the preview displays on one line.
    • Link & person icon to user who mentioned you
    • When the on-wiki notification is clicked or the 'View mention' button is clicked in an email, the notification should navigate the user to the diff page of the mention
    • Email subject: Username mentioned you on wikiname
  • TBD: Throttling. In general, we will use whatever already exists for other notifications, including limiting the total number of pings a user can send in a time frame.
  • De-duplication
    • Reverts should only trigger the existing Revert notification. If users have the 'Revert' notification preference disabled they should not receive either notification.
    • If a user types the same username in the same edit summary, only one notification should be sent.
  • Preferences
    • When the 'Mention' notification preference is disabled, the notification should not be delivered, for both on-wiki and email notifications
    • Mute list should be respected (e.g. If Apples mutes Bananas, Bananas can link to [[User:Apples]] in an edit summary but Apples will not receive either an on-wiki or email notification.)
  • A maximum of 5 users can be pinged per edit summary. Any additional usernames can be saved as the summary but should not send a notification
  • If the user has the 'successful mention' or 'failed mention' notification preferences, they should receive an appropriate notification if their edit summary pings was successful or failed.

Blockers

  • Finalize requirements
  • Answer open questions on wiki page
  • Get sign-off from Collaboration team

Basic information

  • Purpose of the notification: Let a user know when they have been mentioned in an edit summary.
  • Notification name: Edit summary mention
  • What triggers notification?: Linking to their username in an edit summary (e.g. Made an edit that [[User:Apples]] and I discussed on the talk page.)
  • "Notice" or "Alert"?: Alert
  • Notification type (standard, bundled, expandable bundle): Standard

Wording

For a single message

  • Header: Username mentioned you in an edit summary on pagename.
  • Body: First N characters of the edit summary

Links

  • Primary link target: Diff page of the edit
  • Primary link label (for email display only): View mention
  • #1 secondary link target: User page of user who sent Mention
  • #1 secondary link label: Username of user who sent Mention

Icon

Related Objects

StatusSubtypeAssignedTask
OpenNone
ResolvedNone
ResolvedMaxSem
ResolvedMaxSem
Invalid TBolliger
DeclinedNone
DuplicateNone
OpenNone
ResolvedMaxSem
Resolved Niharika
Resolved Niharika
ResolvedMaxSem
Resolved Niharika
ResolvedMaxSem
ResolvedMaxSem
ResolvedMaxSem
InvalidNone
Resolvedmatmarex

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes

Could you either add this Tech News or ping me/@Quiddity/@Trizek-WMF as son as you know when this will go into production?

Could you either add this Tech News or ping me/@Quiddity/@Trizek-WMF as son as you know when this will go into production?

Yeah. @Keegan is going to do that, I believe.

Could you either add this Tech News or ping me/@Quiddity/@Trizek-WMF as son as you know when this will go into production?

Yeah. @Keegan is going to do that, I believe.

@Niharika says we can probably go into production next week, so I've gone ahead and added it to Tech News.

I'll be notifying communities when we're released into production, it's a straightforward and highly requested feature.

Very nice catch... we'll have to discuss this. You could always mute the bot(s) in your preferences, but perhaps you shouldn't have to go out of your way to do that. Or we could exempt users with the bot permission, but I know some bots purposefully use Echo (albeit rare).

I also see Twinkle will issue some inadvertent pings, e.g. https://github.com/azatoth/twinkle/blob/master/modules/twinklewarn.js#L1394 That's easy to fix. I suppose we'd have to link to Special:Contribs instead?

It might be nice to have a way to link to a user page without pinging.

@MusickAnimal muting the bots is a lot of work as EACH editor has to do it, better would be to investigate any high-use bots in advance and contact the operators. They could change their user: links to something else (e.g. contributions as mentioned above, or logs or something else). I'm not sure what the "best" approach to this is. Perhaps a more complicated "exempt API edits unless some additional parameter is purposeful set" ?

@MusickAnimal muting the bots is a lot of work as EACH editor has to do it, better would be to investigate any high-use bots in advance and contact the operators. They could change their user: links to something else (e.g. contributions as mentioned above, or logs or something else). I'm not sure what the "best" approach to this is. Perhaps a more complicated "exempt API edits unless some additional parameter is purposeful set" ?

Totally. We're going to discuss more and hopefully we'll resolve these issues prior to deployment. At the very least give a broader "heads up" :) I'd wait on saying anything to the botops, because we may want to exempt them entirely, not sure.

Well, getting notified by SineBot doesn't seem _that_ bad, since the user should have signed the comment themself. OTOH, the admin mentioned by CommonsDelinker doesn't need the ping at all.

Thanks for raising that, @Xaosflux. That's a good point that we missed. I'm compiling a list of bots which mention users in edit summaries. I'm going to run a few queries to figure out which major bots mention users in their summaries and how often they seem to do that, on a couple of big wikis.

Enwiki's Sinebot is probably (?) already excluded, because it's the 1 entry on https://en.wikipedia.org/wiki/MediaWiki:Echo-blacklist (The blacklist feature is documented at https://www.mediawiki.org/wiki/Help:Notifications#Community_blacklisting ).
However, I'm not sure if that blacklist system would be a very good solution to the main problem (I suspect not), because there are likely to be bots that have multiple tasks, where some of the tasks purposefully ping users on talk/project pages, and some of the tasks result in edits that currently link usernames in the edit-summaries (with no ping intended).

@Niharika I've created a logging filter on enwiki, see results here:
https://en.wikipedia.org/w/index.php?title=Special:AbuseLog&wpSearchFilter=905
(I just exempted SineBot due to the Blacklist already discussed)

This comment was removed by Xaosflux.

Hello. Thank you again for this task. Tell me, please, if I'll fill two more tasks, that are reasonable after both this one, and expanding to 1000 symbols, is there a chance for them, or some of them? I'm talking about:

  • Adding url parsing (or at least pure html, with no []).
  • Adding wikilink parsing.

Thank you.

This comment was removed by IKhitron.

Hello. Thank you again for this task. Tell me, please, if I'll fill two more tasks, that are reasonable after both this one, and expanding to 1000 symbols, is there a chance for them, or some of them? I'm talking about:

  • Adding url parsing (or at least pure html, with no []).

This would add additional requirements on communities to patrol, as external links can lead to dangerous destinations. I think the communities would have to provide some serious feedback about the desirability of that, before it would be added.

  • Adding wikilink parsing.

I thought [[ ]] wikilinks are already parsed, are they not ? Random example

Hello. Thank you again for this task. Tell me, please, if I'll fill two more tasks, that are reasonable after both this one, and expanding to 1000 symbols, is there a chance for them, or some of them? I'm talking about:

  • Adding url parsing (or at least pure html, with no []).
  • Adding wikilink parsing.

Thank you.

This would be an unrelated change to this project. You can propose it by creating a new Phabricator task.

Hello. Thank you again for this task. Tell me, please, if I'll fill two more tasks, that are reasonable after both this one, and expanding to 1000 symbols, is there a chance for them, or some of them? I'm talking about:

  • Adding url parsing (or at least pure html, with no []).

This would add additional requirements on communities to patrol, as external links can lead to dangerous destinations. I think the communities would have to provide some serious feedback about the desirability of that, before it would be added.

I see. Thank you.

  • Adding wikilink parsing.

I thought [[ ]] wikilinks are already parsed, are they not ? Random example

Sorry. My fault.

Hello. Thank you again for this task. Tell me, please, if I'll fill two more tasks, that are reasonable after both this one, and expanding to 1000 symbols, is there a chance for them, or some of them? I'm talking about:

  • Adding url parsing (or at least pure html, with no []).
  • Adding wikilink parsing.

Thank you.

This would be an unrelated change to this project. You can propose it by creating a new Phabricator task.

It's exactly what I talked about - creation a new Phabricator task. Unfortunately you did not see this part. I get an answer, and will not create this task.

@IKhitron Sorry, I wasn't trying to dissuade you. I think your first idea has merit as new feature proposal, but as @TheDJ said we'll need to discuss it further before building them.

Internal links currently work (e.g. [[Cats]]) but external links do not work (e.g. [http://www.google.com cats]) (example). HTML links (e.g. <a href=") probably shouldn't be supported thought, in my opinion.

@IKhitron Sorry, I wasn't trying to dissuade you. I think your first idea has merit as new feature proposal, but as @TheDJ said we'll need to discuss it further before building them.

Internal links currently work (e.g. [[Cats]]) but external links do not work (e.g. [http://www.google.com cats]) (example). HTML links (e.g. <a href=") probably shouldn't be supported thought, in my opinion.

I see. thank you. But looks it will not happen.

  • Adding url parsing (or at least pure html, with no []).

There is a task about that: T16892: Linkify plain external links in revision editsummary and log reason

Will user subpages be included? The first of the acceptance criteria above is not clear on this point.

Notifications will be delivered if a user types in [[User:*]] in the edit summary.

As written this would match both [[User:Foo]] and [[User:Foo/Bar]].

As a real-world example, I have a UserTalkCleaner script that leaves the edit summary remove automated messages using [[User:Mr. Stradivarius/gadgets/UserTalkCleaner.js]]. I don't want this to ping me every time it's used (although I don't think that this particular script is used by anyone other than me).

No, subpages will not trigger this.

I think that log summaries should be consistent with edit ones. What do you think ? I'm not sure if I have to create a patch for this without any more consensus/discussion.

I think that log summaries should be consistent with edit ones. What do you think ? I'm not sure if I have to create a patch for this without any more consensus/discussion.

I agree that it's a reasonable expectation that all summaries should have similar behavior, but I think it needs to be thought through before implementation. Our experience on T60485 we have found it difficult to link all logs up with reasonable places to link to (and therefore to discuss.) I'd say it should be considered on a case-by-case basis.

Hi, it still does not work in yesterday's deployment. Should it work? Thank you.

Hi, it still does not work in yesterday's deployment. Should it work? Thank you.

No, it will be deployed today.

Initially, thanks for all of this work.

But few users on arwiki (including me) complained from incredible nuisance that this feature make.

If any user rollback or revert any edit to your version on the page you receive a notification that the user mentioned you!

For example, when user:أحمد ناجي rollback IP edit, I received a notification that user:أحمد ناجي mentioned me. I received many notifications like that on the last days!

Also, another user complain on Keegan announcement about this feature.

So any suggestion here?

In T32750#4060410, @alanajjar wrote:

Initially, thanks for all of this work.

But few users on arwiki (including me) complained from incredible nuisance that this feature make.

If any user rollback or revert any edit to your version on the page you receive a notification that the user mentioned you!

For example, when user:أحمد ناجي rollback IP edit, I received a notification that user:أحمد ناجي mentioned me. I received many notifications like that on the last days!

Also, another user complain on Keegan announcement about this feature.

So any suggestion here?

I see it raised here T189819

@alanajjar Indeed, the problem will be fixed this week when the patch is deployed.

@alanajjar In the meantime, I've edited the MediaWiki:Revertpage message, to avoid such pings on arwiki.

matmarex subscribed.

Looks like work on this was completed a few months ago.