Product discovery for merge request diff navigation

Easy efficient movement around diffs is critical to efficient code review process. The file tree was the first iteration towards significantly improving reviewing diffs in GitLab.

We need a solution that works for:

collapsed diffs (current) and full file diff (future)

changed files (current) and unchanged files (future)

Even now the diff list can become so long it is almost impossible to navigate, even with the file tree. The file tree is an incomplete solution because when the diff list is long, the scroll wheel quickly takes you into the next/previous file making it all but impossible to find the top or bottom of the current file.

Proposal

This product discovery issue should result in a design for a new diff mode in merge requests that: