•  
     
    story #38631 @ notifications in trackers
Summary
Empty
@ notifications in trackers
Empty

Overview

The goal of the feature is to bring the, now ubiquitous, (email) notification when using @username in a tracker follow-up comment. This is a one time notification, the user who's being notified won't receive updates for future notifications.

Acceptance criteria

Add a follow-up comment

  • When a follow-up comment contains a user reference in the form @username

  • Then Tuleap sends an email to that user with the tracker notification according to user permissions

An info text helper is added near the "follow-up" section of the mass change zone to inform that people mentioned here triggers notifications. See mockup [0]

Update of text / string

  • When a text or a string field contains a user reference in the form @username

  • Then there is no notification of the mentioned user

Note : in order to avoid confusions about the expected behaviour, the @... autocompleter is removed from Text field edition in Artifact View and Modal.

Update of an existing comment

  • When the new content of the follow-up comment contains a user reference in the form @username

  • Then Tuleap sends an email to that user with the tracker notification according to user permissions

Notifications preferences

Mentioned user chose "No notification for the tracker"

  • When a follow-up comment contains a user reference in the form @username

  • Then there is no notification of the mentioned user

Mentioned user Unsubscribed to the artifact notification

  • When a follow-up comment contains a user reference in the form @username

  • Then there is no notification of the mentioned user

Tracker is configured with "No notifications at all"

  • When a follow-up comment contains a user reference in the form @username

  • Then there is no notification of the mentioned user

  • And there is a warning to the author the change telling them that the tracker doesn't send notifications (this is the only situation where there is a non delivery warning)

Email de-duplication

There can be several reasons to send an email notification for a single artifact update. For example, user "madeupuser" could be in a user-bound list field "CC" and could be mentioned with @madeupuser in a follow-up comment for the same update. When such situations occur, Tuleap will send only one single email, not two, to avoid spamming the user.

General note: the author of the comment cannot be informed about the success or failure of the notification. We could imagine that we can detect that user chose to unsubscribe to an artifact and inform author about that. However, if the email cannot be sent because of configuration issue or issue with email infrastructure or because the recipient mailbox is full, we won't be able to detect it. If we sometime inform them that mail cannot be sent it could assume that no warning/error message means that user got notified but that's not 100% accurate.

[0] https://www.figma.com/design/hM7pZdnb8yJDe3s5aFtIjC/Notifications-Story%2338631?node-id=0-1&t=365VHdVlIdiDWC5g-1

Empty
Empty
Status
Trackers
Done
Development
  • [ ] Does it involves User Interface? 
  • [ ] Are there any mockups?
  • [ ] Are permissions checked?
  • [ ] Does it need Javascript development?
  • [ ] Does it need a forge upgrade bucket?
  • [ ] Does it need to execute things in system events?
  • [ ] Does it impact project creation (templates)?
  • [ ] Is it exploratory?
Empty
Details
#38631
Manuel Vacelet (vaceletm)
2024-12-05 15:12
2024-06-24 17:48
39909

References
Referencing story #38631

Git commit

tuleap/tuleap/stable

refactor: presenter for RichTextarea provider 6c70490d47
feat: remove at mention autocompletion from text fields d02b7f99a3
Notify a mentioned user in follow up comment 4855d6397c
chore: improve ability to replay tracker e2e tests 0214a6acd8
refacto: Modernize Masschangeupdater class 2b74479231
chore: end-to-end test for edition of comment 9e14bbbb7c
refacto: MentionnedUserInCommentRetriever::getMentionedUsers returns 58f41fa2cb
refacto: Create a dedicated object for the post creation task 61497b670a
refactor: kill prototype in comment edition eedbe8b284
feat: Add mentioned users in `tuleap.tracker.artifact` payload b90533d350
feat: info message below new follow-up comment b2b298580f
feat: warning when tracker has no notifications 02a8d061ea
feat: info and warning messages in comment edition ab8d3967f0
feat: init atwho autocompleter in comment edition 0ea9cc1b10
Referenced by story #38631

Follow-ups

User avatar
  • Acceptance criteria
    Something went wrong, the follow up content couldn't be loaded
    Only formatting have been changed, you should switch to markup to see the changes
User avatar
Joris MASSON (jmasson)2024-11-18 11:46
  • Acceptance criteria
    Something went wrong, the follow up content couldn't be loaded
    Only formatting have been changed, you should switch to markup to see the changes
User avatar
Joris MASSON (jmasson)2024-11-12 10:09
  • Acceptance criteria
    Something went wrong, the follow up content couldn't be loaded
    Only formatting have been changed, you should switch to markup to see the changes
User avatar
Joris MASSON (jmasson)2024-11-12 09:45
  • Acceptance criteria
    Something went wrong, the follow up content couldn't be loaded
    Only formatting have been changed, you should switch to markup to see the changes
User avatar
Joris MASSON (jmasson)2024-11-12 09:40
  • Acceptance criteria
    Something went wrong, the follow up content couldn't be loaded
    Only formatting have been changed, you should switch to markup to see the changes
User avatar
  • Acceptance criteria
    Something went wrong, the follow up content couldn't be loaded
    Only formatting have been changed, you should switch to markup to see the changes
User avatar
  • Acceptance criteria
    Something went wrong, the follow up content couldn't be loaded
    Only formatting have been changed, you should switch to markup to see the changes
User avatar
  • Acceptance criteria
    Something went wrong, the follow up content couldn't be loaded
    Only formatting have been changed, you should switch to markup to see the changes
User avatar
  • Acceptance criteria
    Something went wrong, the follow up content couldn't be loaded
    Only formatting have been changed, you should switch to markup to see the changes
User avatar
  • Acceptance criteria
    Something went wrong, the follow up content couldn't be loaded
    Only formatting have been changed, you should switch to markup to see the changes
User avatar
  • Acceptance criteria
    Something went wrong, the follow up content couldn't be loaded
    Only formatting have been changed, you should switch to markup to see the changes