Keyboard shortcut for "jump to NEXT unresolved discussion"
Problem to solve
In a merge request with a lot of discussions, such as a large feature change to an application or even just a blog post that was written by a lot of individuals it can be hard to find all of the unresolved discussions.
Intended users
Developers, development leads, etc.
Further details
This would greatly improve the UX of Merge Request discussions.
Proposal
Just as in vim
you can find the next search term with a keyboard shortcut, allow a user to transverse all unresolved discussions by hitting a keyboard shortcut.
Looking at the keyboard shortcuts used in other code review tools, our best bet is using n / p for next/previous unresolved discussion (we already use shift+p
to navigate to the global projects list). This shortcut should be listed under the “Merge requests” section of the keyboard shortcuts modal (shift+?, click “Show all” in the header).
Keyboard shortcuts in other code review tools
-
Gerrit: shift+n / shift+p (Next comment / Previous comment)
- It also uses n and p, without shift, for next/previous diff chunk/patch set
- Reviewable uses these for next/previous changed file (without shift, next/previous unreviewed file)
- Phabricator:
- n / p (Next inline comment / Previous inline comment)
- shift+n / shift+p (Next comment, including collapsed comments / Previous comment, including collapsed comments)
-
Crucible:
-
n / p (Next review comment / Previous review comment)
- Reviewable uses these for next/previous unreviewed file
-
shift+n / shift+p (First review comment / Last review comment)
- Reviewable uses these for next/previous changed file
- l / h (Next thread / Previous thread)
-
] / [ (Next unread comment / Previous unread comment)
- We are also using these for next/previous file in MR diff: https://gitlab.com/gitlab-org/gitlab-ce/issues/48798
-
n / p (Next review comment / Previous review comment)
-
Review Board: ] or c / [ or x (Next comment / Previous comment)
- It also uses n and p for next/previous change (with shift, next/previous file)
- Gerrit uses c to add reviewers or create new inline comment
- Gerrit uses x to collapse all messages (z to expand all messages)
- Crucible uses c to collapse current file
-
Reviewable: shift+j / shift+k (Next unresolved comment / Previous unresolved comment)
- We are using j and k for next/previous file in MR diff: https://gitlab.com/gitlab-org/gitlab-ce/issues/48798
- Gerrit uses j and k for next/previous line or next/previous file
- Crucible uses these to go to first/last file, and j and k for next/previous element (file, comment, defect or diff hunk depending on your current context)
The tools here are ordered according to the average worldwide interest in Google Trends over the past 12 months.
Permissions and Security
This does not impact our current permission model.