Todo's
New current proposal
The dashboard and homepages of groups and projects should show people where they have to respond and what I can work on.
Only after I responded I'm done. So if someone mentions or assigns me this will show up in my queue until I've:
- left or edited a comment
- added an emoji
- reassigned it
- added a label
- changed the title
- I or anyone else closed or merged it
- marked it handled myself (in practise I hope that I will not have to do it since I'll respond anyway)
On your dashboard you should see the merge requests, issues and other comments you need to respond to. Not sure if it should be different panels but this is likely.
In addition there should be a 'do now' section that shows issues and mr's assigned to me, unassigned issues and unassigned mr's in the current milestone and a new issue button.
Also we should sort the milestones properly https://gitlab.com/gitlab-org/gitlab-ce/issues/4195#note_3001317 and
For the reasons behind the above please see the comment below and our meeting with Kevin Hale (INTERNAL).
Old deprecated proposal (too complex)
After interacting with GitLab for the past few months, I feel that a notification system would be an incredible asset to the application. Currently, we receive emails when we are tagged in comments, when issues/MRs are assigned to us, and for any comment in an issue/MR that we started, whether our name is directly tagged or not. I understand that we can change these notification settings for each project to getting no notifications for anything in the project all the way to getting a notification for any and all activity within that project. This proposal is simply a new way of delivering those notifications to users of GitLab.
Reasons for this change:
- I loose track of places where I was tagged because I forget to go back to old emails in my inbox
- Having a go-to place within the GitLab app to find out what I need to work on/respond to would be awesome, rather than flipping from email to GitLab back and forth all day
- GitHub has one (and ours could be better than theirs :) )
How this will work:
Notifications:
- Sorted by project
- This could be set up as a user configurable option for both the global dashboard page and the project dashboard page (I remember a conversation occurring that this was going to be implemented for the Project homepage where a user could choose to see the Project page or the Project Activity).
- Notifications that are unread will show up with a green background (similar to the green background on new issues in projects).
- When the issue/MR that you had the notification for is read, the background of the notification is no longer green (becomes the page background color).
- Commenting, closing an issue/MR, or merging causes notifications to be marked as ‘complete’
- Allow users to choose between a combination of GitLab and email notifications (no emails, only GitLab notifications, for example)
- It should be possible to ignore a notification upon reading if it is not going to require a response. There’s no reason to clog up your notifications for something that you don’t need to respond to. This could be a status called Ignored or Dismissed, and it would maybe be possible to see under another filter.
- Have a filter option to see only read/unread notifications could be a possibility (though the green highlighting does automatically distinguish between the two)
- The notification level is the same as what is chosen for each project (no notifications, notifications for all activity, etc). Reuse existing Notification Service.
- When a notification is triggered, if it meets user’s notification criteria it is written to the database. We will need a new model for this.
When your name is tagged in an issue MR:
- You get a notification.
- Once read, the background color is no longer green, but it still stays in your notifications
- This notification is marked as ‘complete’ upon commenting in the issue/MR where you were tagged. The reason for this is because when someone tags your name somewhere, they are doing so to ask a question, get an opinion/feedback, and to signal for help, etc. These should stay in your list of notifications until you respond, and upon that response, then they disappear. ** This way, if you look at something and don’t comment, a reminder still exists telling you to respond to it
- In a single issue/MR, if multiple people both tag you, the notifications aggregate and would become something like “Douwe and Patricio mentioned you in #1234 (closed)”
- All notifications are marked complete when the issue/MR is closed/merged.
Issues/MRs you created and MRs assigned to you:
- You get notifications for all activity (if that is your existing notification setting. If not, you get notifications in your chosen notification setting, as you would emails).
- This way you can stay on top of all activity going on in something that you “own” or “started”
- Even after reading new notifications, these entries would stay on the page, but be marked as read, and would stay that way until the issue/MR is closed/merged
@dblessing helped me with these ideas, and thank you @sytses for suggestions as well
@JobV @dzaporozhets @marin @DouweM @rspeicher what do you think?