Repository navigation
feat(desktop): expand a whole file from its header, and show a file that only moved as its lines - #3797
Merged
Conversation
…-cli does Minimize inline comments folded each open thread to its head row, and left resolved and outdated threads as they were, since those already stand folded; on a pull request whose threads were resolved it changed nothing to see. It now means what stage-cli's means: each line's threads draw as one chip at the end of the line, in a row of no height, so the diff reads as if the line held no comments. The chip names who wrote on the line, how many comments, and how many are open; pressing it shows or hides the line's threads, and the tab's find reads them and opens the line it brings into view. I turns the setting on and off inside Files changed. Co-authored-by: luke-agent[bot] <339870089+luke-agent[bot]@users.noreply.github.com>
Co-authored-by: luke-agent[bot] <339870089+luke-agent[bot]@users.noreply.github.com>
…on no line a row for their chip Two findings from review. The chip's fold was drawn anew each time it opened or closed, so a find that opened a resolved thread's own fold inside it had that fold drawn closed again, and a keyboard press lost the focus; the fold is now kept and told whether it is open. And the chip of threads on no line, above the diff or under a file's picture, floated up over what stood before it; it now takes a row of its own. Co-authored-by: luke-agent[bot] <339870089+luke-agent[bot]@users.noreply.github.com>
…iet fold and a clearer header Each file's code area kept room for a scroll bar up and down, which a Mac that always shows scroll bars drew as a strip at the end of every line, so the rows and the bands between hunks stopped short of the file's header. The code area keeps none now, and the header, the bands, the rows, and the threads share one left and one right edge. Each file is a card on the panel's ground, rounded whole and set apart by the room between files; its header stuck at the top stands square, the card's rounded top scrolled away. The fold is a compact quiet mark with no fill while its file is open. The header names the file's folder quietly and its name in the full ink, cutting the folder first where the row runs short; its letter stands on a tint of its own colour; and Viewed says V in its hint. The bands between hunks are 24 px and quieter, and the tree's search stands level with the first card. Co-authored-by: luke-agent[bot] <339870089+luke-agent[bot]@users.noreply.github.com>
…ere on its row, and fold every file with ⌥ A file's header now copies the path it names on a press, as stage-cli's does, a renamed file's old path and new path each its own; a press anywhere else on the row folds the file, its controls keeping their own presses; and ⌥ with a press on the fold folds every file the filter keeps, or unfolds them all, which the fold's hint says. Co-authored-by: luke-agent[bot] <339870089+luke-agent[bot]@users.noreply.github.com>
Co-authored-by: luke-agent[bot] <339870089+luke-agent[bot]@users.noreply.github.com>
…anged-design Co-authored-by: luke-agent[bot] <339870089+luke-agent[bot]@users.noreply.github.com>
…er-actions Co-authored-by: luke-agent[bot] <339870089+luke-agent[bot]@users.noreply.github.com>
…hat only moved as its lines A file's header now offers Expand full file, as stage-cli's does: the file is read as its gaps read it, once, at the pull request's head, its text before turned back from its patch, and drawn whole, every unchanged line among its changes, until Collapse to changes. A file that only moved, which said so in its lines' place, shows its whole text as unchanged lines once expanded. Only a file whose gaps open, or one that only moved, is offered; a secret one never is, and one whose read is refused stays as it is and says why. Co-authored-by: luke-agent[bot] <339870089+luke-agent[bot]@users.noreply.github.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
luke-agent Bot
added a commit
that referenced
this pull request
Oct 19, 2026
Co-authored-by: luke-agent[bot] <339870089+luke-agent[bot]@users.noreply.github.com>
A pure rename's note offers its lines directly, read only on the press. Co-authored-by: luke-agent[bot] <339870089+luke-agent[bot]@users.noreply.github.com>
Adds I to Files changed's shortcut table (Review group) and to its dispatch record, after #3795. Co-authored-by: luke-agent[bot] <339870089+luke-agent[bot]@users.noreply.github.com>
Viewed's hint now reads V from Files changed's shortcut table (#3795). Co-authored-by: luke-agent[bot] <339870089+luke-agent[bot]@users.noreply.github.com>
Co-authored-by: luke-agent[bot] <339870089+luke-agent[bot]@users.noreply.github.com>
…-file Co-authored-by: luke-agent[bot] <339870089+luke-agent[bot]@users.noreply.github.com>
Co-authored-by: luke-agent[bot] <339870089+luke-agent[bot]@users.noreply.github.com> # Conflicts: # packages/panel/src/tasks/agent-changes-tab.test.ts # packages/panel/src/tasks/agent-changes-tab.tsx
Co-authored-by: luke-agent[bot] <339870089+luke-agent[bot]@users.noreply.github.com> # Conflicts: # packages/panel/src/tasks/agent-changes-tab.tsx
Co-authored-by: luke-agent[bot] <339870089+luke-agent[bot]@users.noreply.github.com> # Conflicts: # packages/panel/src/tasks/agent-changes-tab.tsx
…ts threads on them, and drop a stale whole read - Two texts alike diff to no hunk, so a pure rename shown whole drew nothing: whole-diff.ts lays its lines out as one hunk of context; a file of no line keeps its notice. - A file drawn whole places its review threads against every line of its texts rather than its patch's rows. - A whole read of an earlier answer that lands after a refresh is dropped, rather than overwriting the files expanded since. Co-authored-by: luke-agent[bot] <339870089+luke-agent[bot]@users.noreply.github.com>
…read, and whole-diff's headers lead Co-authored-by: luke-agent[bot] <339870089+luke-agent[bot]@users.noreply.github.com>
Co-authored-by: luke-agent[bot] <339870089+luke-agent[bot]@users.noreply.github.com>
github-merge-queue
Bot
removed this pull request from the merge queue due to a conflict with the base branch
Oct 19, 2026
Co-authored-by: luke-agent[bot] <339870089+luke-agent[bot]@users.noreply.github.com> # Conflicts: # packages/panel/src/diff-view/index.ts # packages/panel/src/tasks/agent-changes-tab.tsx
github-merge-queue
Bot
removed this pull request from the merge queue due to a conflict with the base branch
Oct 19, 2026
Co-authored-by: luke-agent[bot] <339870089+luke-agent[bot]@users.noreply.github.com> # Conflicts: # packages/panel/src/tasks/agent-changes-tab.tsx
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Part of the stage-cli features the developer chose: expand or collapse a whole file, as stage-cli's file header does (
file-diff-list.tsx:522,lib/file-expansion-context.tsx,lib/full-file-preview.ts). Built on #3762'sreadTextsand stacked on the header actions PR.UnfoldVertical/FoldVertical, with a pressed state and a tooltip) draws the whole file, every unchanged line among its changes, until it's pressed again.CodeViewonly has a list-wideexpandUnchanged. So instead of drivingexpandHunkacross a file's hunks, the item'sfileDiffis replaced withparseDiffFromFile(before, after, { context: MAX }): one hunk holding every line.FileTexts.read): oneTASKS_FILEread atheadSha,blobSha-checked, kept for the answer's life.textsOftreats the text before as the text after).TextButtonthat runs the same toggle.commentLinesis unchanged).Screenshots
PR #2908's
build.mjsin the harness (Chromium).Evidence
tsc --noEmitfor panel and desktop: clean../scripts/oxlint.sh: 0 errors.pnpm knip: clean../scripts/repository-checks.sh: passed.vitest run --project panel --project desktop: 231 files, 2366 tests passed, run with this change in the tree.agent-changes-tab.test.ts:wholetexts. For the moved file, pressed through its note's Show file, before equals after and it's no longer a lead.whole.Invariants
as.Made with Luke
Review fixes (Devin)
diff-view/whole-diff.tsnow lays such a file out as one context hunk. A file with no lines keeps its notice.