Uploaded image for project: 'Bitbucket Data Center'
  1. Bitbucket Data Center
  2. BSERV-2839

Don't send a notification on every pull comment immediately

    • Icon: Suggestion Suggestion
    • Resolution: Fixed
    • 3.4.0
    • Notifications
    • None
    • We collect Bitbucket feedback from various sources, and we evaluate what we've collected when planning our product roadmap. To understand how this piece of feedback will be reviewed, see our Implementation of New Features Policy.

      Gerrit (which we switched from to Stash) allows the batching of comments before submitting as a single notification. I had a large pull request with > 100 files changed and my teammate commented on a lot of the files which I got a large thread for in Mail.app which is fine, but I cannot recomment on each one, because that sends him an email for each that he doesn't want since he doesn't thread emails. This turns into an unintentionally passive-aggressive situation since it isn't painful to the person using threaded email views, but it is a huge pain point to those that need to use unthreaded email views in their mail reader, so one person can comment freely and the other can't without causing a deluge of crap in the non-threaded folks inbox.

      However, if we turn off notifications, then he won't know that I commented. So, there needs to be a way to make a number of comments and then send the notification, somehow. I had thought of suggesting that Stash provide an hourly digest of messages, but that wouldn't be immediate and could slow down development. However, if comments are send as a batch in a notification, then there is the change that they would not be sent unless I submitted them, so would require more significant UI/UE changes to the process of commenting.

      This is the most painful thing I've run into with Stash so far, and I think it will take some thought about the user experience to come up with something that will both allow real-time commenting and limit tons of notifications being sent without requiring email to be read in threads. Thanks for any consideration and assistance!

            [BSERV-2839] Don't send a notification on every pull comment immediately

            Stash 3.4 now has batched email notifications for pull requests, see here:

            http://blogs.atlassian.com/2014/10/stash-3-4-pull-request-batch-notifications/

            Robin Stocker (Inactive) added a comment - Stash 3.4 now has batched email notifications for pull requests, see here: http://blogs.atlassian.com/2014/10/stash-3-4-pull-request-batch-notifications/

            rose1, martin.petricek, thanks for the feedback.

            Pull request tasks shipped in Stash 3.3. Tasks help participants keep track of changes needed on a pull request. https://www.atlassian.com/software/stash/whats-new

            Regarding additional workflow around pull requests, we are currently tracking a similar improvement on STASH-2999

            Roger Barnes (Inactive) added a comment - rose1 , martin.petricek , thanks for the feedback. Pull request tasks shipped in Stash 3.3. Tasks help participants keep track of changes needed on a pull request. https://www.atlassian.com/software/stash/whats-new Regarding additional workflow around pull requests, we are currently tracking a similar improvement on STASH-2999

            The workflow could be also that any comment will require either a reply, or at least dismissing with some "This is done" button near the comment. This will ensure that no comments are missed/skipped.

            Especially as you can have comments scattered on all commits and the whole diff, so it is quite easy to miss something.

            Martin Petricek added a comment - The workflow could be also that any comment will require either a reply, or at least dismissing with some "This is done" button near the comment. This will ensure that no comments are missed/skipped. Especially as you can have comments scattered on all commits and the whole diff, so it is quite easy to miss something.

            We would like to wrap a simple workflow around pull requests, similar to the functionality Code Collaborator provides out of the box. Something like:

            Open -> In progress
            In progress -> Open | Cancelled | Approved

            It would also be great if you could mark things as 'defects' that require attention before the code review can be approved.

            Deleted Account (Inactive) added a comment - We would like to wrap a simple workflow around pull requests, similar to the functionality Code Collaborator provides out of the box. Something like: Open -> In progress In progress -> Open | Cancelled | Approved It would also be great if you could mark things as 'defects' that require attention before the code review can be approved.

            Today, we ran into yet another reason why a single email for the entire review rather than a mail for every comment is better: we use Google for our email and they've started rate limiting our stash instance as it's sending too much email. Now, not only do our developers get lots of email, but it arrives much, much slower than it should (which is the opposite of what the email for every comment was meant to achieve).

            Paul Armstrong added a comment - Today, we ran into yet another reason why a single email for the entire review rather than a mail for every comment is better: we use Google for our email and they've started rate limiting our stash instance as it's sending too much email. Now, not only do our developers get lots of email, but it arrives much, much slower than it should (which is the opposite of what the email for every comment was meant to achieve).

            Mark Gillespie added a comment - - edited

            The notification system in Stash is by far it's weakest area. Not just the amount of spam from commenting, for us, the emails are really badly broken in Lotus Notes, there are images that aren't displayed (including the most important one, the link to the review), there is white on white text and all sorts of horrendously bad formatting and display decisions.

            Stash needs to batch up emails, and it also needs to embed any images is uses urgently for it to be taken seriously by the Enterprise sector, as currently it looks and works in a very unprofessional matter.

            Mark Gillespie added a comment - - edited The notification system in Stash is by far it's weakest area. Not just the amount of spam from commenting, for us, the emails are really badly broken in Lotus Notes, there are images that aren't displayed (including the most important one, the link to the review), there is white on white text and all sorts of horrendously bad formatting and display decisions. Stash needs to batch up emails, and it also needs to embed any images is uses urgently for it to be taken seriously by the Enterprise sector, as currently it looks and works in a very unprofessional matter.

            Sending pending comments when a new code from that author appears in stash may be also useful, but you still need a feature to commit/send all pending comments even without any code (typically the person doing the code review won't send any code of their own to the branch).
            It may be even undesirable to auto-send comments on new commit (if half-done review comments will be sent to a developer because he pushed some hotfix - the reviewer may rather wish instead to amend those unsent comments based on contents of the hotfix instead of sending them all away)

            Martin Petricek added a comment - Sending pending comments when a new code from that author appears in stash may be also useful, but you still need a feature to commit/send all pending comments even without any code (typically the person doing the code review won't send any code of their own to the branch). It may be even undesirable to auto-send comments on new commit (if half-done review comments will be sent to a developer because he pushed some hotfix - the reviewer may rather wish instead to amend those unsent comments based on contents of the hotfix instead of sending them all away)

            Greg Breen added a comment -

            Hello fellow Stash spam sufferers. We just upgraded to Stash 2.12 to 3.2. Sadly, it's all sizzle, no sausage. The spam continues.

            Since we don't even have fine grained control over Stash notifications, I intend to nobble every notification by killing the mail server configuration. We will lose nothing, because nobody ever reads the emails. We all just have rules that send them to a black hole mail folder, never to be seen again. Once a day we log into Stash and see if we have any reviews pending.

            As a possible alternative, I setup HipChat. With Go2Group's HipChat plugin in Stash. I have one HipChat room per Stash project - so directing Stash notifications to HipChat on a per project/room basis. These notifications seem better than email - it's still spammy, but the temporary nature of chat is a better fit than email. Plus, with the notifications from Go2Group, it's much easier to see, in a glance, the difference between a Pull Request creation, an update, a comment and a comment reply. (As compared to email subject headings.) Furthermore, the text of the comments and replies comes in the notification. So a quick scan of the chat room every couple of hours gives a very fast overview of Pull Request activity and status. Still not ideal, but a bit better I think.

            Greg Breen added a comment - Hello fellow Stash spam sufferers. We just upgraded to Stash 2.12 to 3.2. Sadly, it's all sizzle, no sausage. The spam continues. Since we don't even have fine grained control over Stash notifications, I intend to nobble every notification by killing the mail server configuration. We will lose nothing, because nobody ever reads the emails. We all just have rules that send them to a black hole mail folder, never to be seen again. Once a day we log into Stash and see if we have any reviews pending. As a possible alternative, I setup HipChat. With Go2Group's HipChat plugin in Stash. I have one HipChat room per Stash project - so directing Stash notifications to HipChat on a per project/room basis. These notifications seem better than email - it's still spammy, but the temporary nature of chat is a better fit than email. Plus, with the notifications from Go2Group, it's much easier to see, in a glance, the difference between a Pull Request creation, an update, a comment and a comment reply. (As compared to email subject headings.) Furthermore, the text of the comments and replies comes in the notification. So a quick scan of the chat room every couple of hours gives a very fast overview of Pull Request activity and status. Still not ideal, but a bit better I think.

            Linking emails with the next commit is an interesting take on the issue. If that is implemented, there would need to be some flag along the lines of "delay notification for this batch of comments until the next code update" and have the default as false. Having that on each comment being replied to (rather than on the batch) would be too noisy IMHO and lead us back into the path of way too many emails.

            The main issue being that a comment which needs a response before code can be changed should not be hanging around waiting for said code to be changed before the notification is sent (this would cause the inverse of the issues we have today).

            Paul Armstrong added a comment - Linking emails with the next commit is an interesting take on the issue. If that is implemented, there would need to be some flag along the lines of "delay notification for this batch of comments until the next code update" and have the default as false. Having that on each comment being replied to (rather than on the batch) would be too noisy IMHO and lead us back into the path of way too many emails. The main issue being that a comment which needs a response before code can be changed should not be hanging around waiting for said code to be changed before the notification is sent (this would cause the inverse of the issues we have today).

            Recently we started to use Stash quite heavily for code reviews and the one-email-per-comment system is already driving half of our dev team mad (due to to relatively thorouch code review, sometimes there are dozen comments per issue per reviewer, often followed by dozen replies).

            Having some batch mode (you would need to "commit" all your comments and that would generate one email) would also ease the workflow a bit, as the author will write many "I fixed this/I have fixed it in other way/This cannot be fixed" replies and then commit the replies right after pushing relevant changes, so the reviewer can then check the comments and code to see if the fix is ok.

            Now reviewer gets spammed by "i will fix this" comments and perhaps hour later a fixed code is pushed to repo.
            Coupling pushing the fixed code and all the comments would really help to improve the workflow and reduce spam.

            Martin Petricek added a comment - Recently we started to use Stash quite heavily for code reviews and the one-email-per-comment system is already driving half of our dev team mad (due to to relatively thorouch code review, sometimes there are dozen comments per issue per reviewer, often followed by dozen replies). Having some batch mode (you would need to "commit" all your comments and that would generate one email) would also ease the workflow a bit, as the author will write many "I fixed this/I have fixed it in other way/This cannot be fixed" replies and then commit the replies right after pushing relevant changes, so the reviewer can then check the comments and code to see if the fix is ok. Now reviewer gets spammed by "i will fix this" comments and perhaps hour later a fixed code is pushed to repo. Coupling pushing the fixed code and all the comments would really help to improve the workflow and reduce spam.

              Unassigned Unassigned
              2e8177f73f93 Gary Weaver
              Votes:
              136 Vote for this issue
              Watchers:
              87 Start watching this issue

                Created:
                Updated:
                Resolved: