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:
- resolves vertical scrolling problem
- supports collapsed diff and full file diff
- supports opening unchanged files (via fuzzy file finder)
- addresses UX debt introduced by adding the file tree
- TBD
The proposed designs should include proposal for how the improvements can shipped incrementally.