Group code review mail notification
My users recently started using pull requests with code peer review. They think it's working great overall, but they are critical about the mail notifications. This is with RhodeCode 4.18.2.
Basically, they complain about the number of mail notifications. Here is what happens from their point of view:
- The reviewer reads the diffs, and creates 20 inline comments along the way, in the span of 40 minutes
- 1 hour later, the author replies to most comments in the span of a few minutes
- 1 hour later, the reviewer replies to some comments in the span of a few minutes
The last two steps are repeated up to 5 comments, like individual threads of conversation.
The problem is that in the span of a few hours, all the recipients of the pull request (author and all reviewers) have received 83 individual mails "user left a note on pull request", that are rarely exploitable by themselves. People who are online receive a mail every two minutes, and people who are offline receive 83 mails at once when they log in. Each mail content is super clean and nicely formatted, but they lack context to be directly actionable (no mentions of the previous comments of the discussion thread). Some users feel like these comments should be grouped in a single mail, corresponding to a "review session" (some code review tools have a concept of review session, where all the comments and notifications are sent in one shot at the end of the session). Other users think they should not even receive these notifications in the first place, since they don't even participate in the specific discussion thread.
I realize it's a very open ended problem, with no perfect solution. My personal opinion is:
- Notifications should contain more context to be actionable. Receiving notifications with the message "why would it be the case?" or "done" without a reminder of the previous comments is not helpful.
- Finding a way to group comment notifications could help. This can be by introducing the notion of review session (explicit), or by waiting 30 minutes before sending notifications in batch (implicit).