First and foremost, existing users notification preference should not change. However it's possible for them to switch to the new defaults.
User preferences
After a lot of back and forth the best trade-off we identified is to have an option, at user preference level, to disable the legacy behavior "As soon as I touch an artifact, I'll be notified". It's more or less the same approach we already took with the the existing preference "Receive emails for actions I do on the platform".
The following mock-up is an example on how user preferences could be reworked (final mock-up needed).
The proposal is to reword "Receive emails for actions I do on the platform" into "Receive email when you are the author of a change" and to introduce "Receive email for all updates after you made a change on an artifact (comment, change values, ...)".
For the latter, the goal is disable notifications that comes from being an author of a changeset on an artifact. When a notification should be sent, the list of recipients is built in RecipientsManager with the following strategy :
Get all fields that can trigger a notification (eg. a "CC field": an open list field bound to users that can notify, an "Assigned to": a select box field bound to user or group that can notify, etc)
Get all "Commentors", that is to say all users that made a change on artifact. Either comment or field change
Get all people configured in global notification (receive all updates, receive updates on status change, etc)
By unchecking "Receive email for all updates after you made a change on an artifact (comment, change values, ...)", Tuleap will skip the user from the list of people gathered at step 2 only. If the user is in the notification list at step 1 or 3, they will receive the email anyway.
Tracker preferences
Tracker references should be slightly updated to better reflect the user preferences. The reference screen is
For "Notify me on all updates of artifacts I'm involved (assigned, submitter, cc, comment)" it should be adapted depending on the user preferences:
"Receive email when you are the author of a change" ✅ & "Receive email for all updates after you made a change on an artifact" ✅
Notify me on all update of artifacts I touch (assignee, submitter, cc, commentator, change of value, ...)
"Receive email when you are the author of a change" ✅ & "Receive email for all updates after you made a change on an artifact" ❌
"Receive email when you are the author of a change" ❌ & "Receive email for all updates after you made a change on an artifact" ✅
Notify me when other users change an artifact I touched (assignee, submitter, cc, commentator, change of value, ...)
"Receive email when you are the author of a change" ❌ & "Receive email for all updates after you made a change on an artifact" ❌
This notification page should also have a info about the user preferences that affects the behavior. Maybe an helper like "User preferences can change what notifications you will receive" with a link toward user preferences.