Repository navigation
Show review threads under their lines on the Code tab - #68
Conversation
Each review thread on a line of an unfolded file shows under that line, open unless resolved, and Enter or a click opens and closes it. Threads on no line the tab read go to a list above the files, closed at first, as the desktop's Conversations not on the current diff. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…50cd Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…gain after a theme change Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…age recipe Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ile order in its recipe Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The recipe now reads #7 with review threads on its diff: the resolved one under removed line 26 and the open one under added line 28 with the host's extra comments, a click on each, both kept across a read again, the list of threads off the diff, a folded file hiding its threads, and schema.rs's outdated thread. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ast u64::MAX and reads the Code's diff again each time it shows a minute after it came Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…3b63, the environment switcher Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…e count at the highest line number Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
FAIL for head Blocking finding at
The placement and default expansion match the reachable desktop source at f570bd2. The earlier empty-diff review thread is answered and resolved; the desktop also returns its empty message before listing off-diff threads. Regression sweep: all 13 checkout recipes pass on each build, including the Code rerun with that checkout's fixture; all 12 master recipes pass on both builds. Parent results from the preceding layer are reused by exact SHA. Unchanged captures differ only in run addresses, ages, spinners and the transient reconnect indicator and transport error wording. Shared Code steps have identical Rules: doctor and live/after-stop checks pass on valid drives. No added control reads the host without the reader asking. The feature file is updated. Local Greptile: one resolved thread and one new unanswered thread, confirmed above. Binaries driven, with LC_UUID:
Evidence: |
Conversation::restyle dropped the laid-out text of the Summary's remarks but not of the review threads' remarks, and Remark::lay_out keeps its rows while the width is the same. After Alt+Shift+A to Light, a thread's comments kept Dark's near-white text. The test lays a thread out in Dark, restyles, and checks its text takes Light's fg. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… lays review threads out again when the theme changes Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…hat lays review threads out again when the theme changes Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… lays review threads out again when the theme changes Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…hat lays review threads out again when the theme changes Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…run while the file's text is read and brings #68's fix that lays review threads out again when the theme changes Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…a run while the file's text is read and brings #68's fix that lays review threads out again when the theme changes Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
PASS+NOTES for head The round 1 finding at
Regression sweep: all 13 head recipes pass. The pinned parent's 13 passing recipes are reused from round 1 by exact SHA. All shared Code steps through the TypeScript capture have identical Rules: doctor and live/after-stop checks pass on the valid drives. All runs were stopped with Step 6: in a separate scratch worktree at this head, I reverted only ad1590c's change to CI on this exact head: macOS, E2E smoke, Linux build and Greptile passed. Greptile: both threads are answered and resolved; no open thread or new finding. The theme finding's author reply identifies the fix and regression test. The earlier empty-diff finding remains resolved as desktop parity. Notes, shared with the pinned base:
Binaries driven, with LC_UUID:
Evidence: No new code defect found. No pull request or branch was edited, pushed, merged or closed. |
…n while the file's text is read and brings #68's fix that lays review threads out again when the theme changes Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…run while the file's text is read, tests that no hunk is read once the whitespace steps run out and brings #68's fix that lays review threads out again when the theme changes Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ile the file's text is read, tests that no hunk is read once the whitespace steps run out and brings #68's fix that lays review threads out again when the theme changes Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…hile the file's text is read, tests that no hunk is read once the whitespace steps run out and brings #68's fix that lays review threads out again when the theme changes Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…un while the file's text is read, tests that no hunk is read once the whitespace steps run out and brings #68's fix that lays review threads out again when the theme changes Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…un while the file's text is read, tests that no hunk is read once the whitespace steps run out and brings #68's fix that lays review threads out again when the theme changes Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Shows the pull request's review threads on the Code tab, each under the line it is on, as the desktop's Code tab does.
OpenorResolved(green), how many comments the host counts andoutdatedwhen the host says so.2 more comments on the host.when the host counts more than T3 sent.› 1 conversation not on the current diff, ornot on the diff read so farwhile slices are left. It starts closed. Open, it lists each path once, thenLine 12and the thread.Stacked on #67.
All three come from the fixture server, with invented threads on #7's invented diff at 120x40.
After Alt+Shift+A twice to Light with the open thread in view, at 100x30. Before ad1590c the comment kept Dark's near-white text. Now it takes Light's.
Decision log
What I noticed. The Code tab showed the diff but none of the review threads on it. Plan item 7 in docs/pull-request-panel.md named them as next, and plan item 3 left whole threads to the Code tab, since the Summary only joins each remark to its file and line.
How I confirmed it. In the pinned T3 source (f570bd2):
isLineInFileDiff(pullRequestDiff.logic.ts:12-22) finds that line inside one of the file's hunks on its side.Line Nbefore each.ReviewThreadCard(PullRequestReviewAnnotation.tsx:89-358) starts open unless resolved, and its header has the state, the comment count andoutdated.Options.
N more comments on the host.where the desktop hasLoad more comments. Reading the rest throughpullRequests.threadCommentsis its own slice.What review changed. Greptile asked for the off-diff list on a diff with no files, where a force-push left only older threads. Nothing changed: the desktop returns
This pull request has no file changes.before it lists any thread (PullRequestCodeTab.tsx:1366-1376), and the reply says so.Greptile also found that a thread's comments kept the old theme's colors after Alt+Shift+A, as
restylecleared the Summary's remarks but not the threads'. It now clears both (ad1590c), anda_new_theme_restyles_the_threadsfails without it. c5cd706 drops amutclippy flagged in that test.8184aa0 merges #67 at 4195b13, which brings #66's fix for a hunk that removes nothing at the highest line number (8073497) and its test, with the same patch.
Known limits.
Load more comments, Resolve, Reply, Edit, reactions orFix in thread.Tests
\ No newlinenote, a thread on a cut-short hunk going off the diff, the list's two labels, its grouping andLine N, what the reader opened following a thread across reads and dropping threads that are gone, and hostile paths and text cleaned at every width from 1 to 80 columns. Each row fits widths of 10 and up. Below 10 a remark's rows stay within 10 columns, since the Markdown renderer keeps 8 for text, as the conversation tests allow.🤖 Generated with Claude Code


Confidence Score: 5/5
The PR appears safe to merge; no blocking issues remain.Summary
The Code tab shows review threads beneath their lines and groups threads outside the shown diff above the files.
Reviews (7) · Last reviewed commit: "Drop a needless mut in the theme test" · Reviewed by Greptile