Discussions¶
The Discussion tab (5 from MR detail) provides a card-based view of all conversations on a merge request. It complements the inline diff markers by showing every thread in one scrollable list.
Discussion cards¶
Each discussion card shows:
- Author and timestamp
- Diff snippet for inline discussions, showing the surrounding code context
- Full Markdown-rendered thread with all replies
- Resolution status for resolvable threads (GitLab)
Navigation¶
| Key | Action |
|---|---|
| J / K | Move between discussion cards |
| ] / [ | Jump to next / previous unresolved discussion |
| Enter | Jump to the diff location (inline discussions only) |
Pressing Enter on an inline discussion switches to the Diff tab and scrolls to the exact line where the comment was left.
Filtering¶
Press F to cycle through filter modes:
| Filter | Shows |
|---|---|
| All | Every discussion thread |
| Unresolved | Only unresolved threads |
| Resolved | Only resolved threads |
Replying¶
Press R on any discussion card to open the comment editor and post a reply to that thread. The reply is submitted to the forge and appended to the card immediately.
Resolving threads¶
Press R+Shift (uppercase R) on a discussion to toggle its resolution status. This requires a double-press to confirm. Resolution is supported on GitLab; on GitHub, threads do not have a resolve/unresolve concept.
General MR comments¶
Press C from the Overview tab (1) to post a top-level comment on the MR that is not attached to any specific line.
Cross-tab workflow¶
A typical review workflow using discussions:
- Open the Discussion tab to scan unresolved threads
- Press Enter on a thread to jump to its location in the diff
- Review the surrounding code in context
- Press R to reply, or R+Shift to resolve
- Press 5 to return to the Discussion tab and continue