Repository navigation
feat(desktop): copy a file's path from its header, fold it from anywhere on its row, and fold every file with ⌥ - #3796
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>
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
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>
Co-authored-by: luke-agent[bot] <339870089+luke-agent[bot]@users.noreply.github.com> # Conflicts: # packages/panel/src/tasks/agent-changes-tab.test.ts
Co-authored-by: luke-agent[bot] <339870089+luke-agent[bot]@users.noreply.github.com> # Conflicts: # packages/panel/src/styles/tasks.css # packages/panel/src/tasks/changes-list.tsx
| .diff-list-path-part[data-moved] { | ||
| flex: 0 1 auto; | ||
| color: var(--luke-color-text-muted); |
There was a problem hiding this comment.
🟡 Current filename clips before old path
When a renamed file has a long old path, .diff-list-path-part shrinks both paths instead of yielding old-path space first. The current filename becomes truncated while part of the old path remains visible.
Learn more
A renamed header displays the old and current paths as separate flex items within the width-limited path container. Both items can shrink, so a long old path consumes width that the current filename needs. The current file name was previously a direct child of the path container, where the preceding old-path text could shrink first.
Example: With a long previousPath such as packages/legacy/generated/deeply-nested/report.ts and a short current path src/report.ts, narrowing the panel can ellipsize report.ts while still displaying report.ts from the old path.
Recommended fix: Give the current path priority when the renamed header shrinks, allowing the old path's folder and name to truncate first. Verify both names on a narrow panel, and retain truncation for current paths that cannot fit even after the old path yields.
Was this helpful? React with 👍 or 👎 to provide feedback.
Summary
Part of the stage-cli features the developer chose for Files changed: header actions, modelled on stage-cli's
components/chapter/file-header.tsx. Stacked on #3794 (the design pass).@luke/uiTextButtonwith an accessible name such as "Copy path: src/seats.ts".;still folds the file stood on.toggleAllnow reads the latest folds through a ref, astoggledoes. That keeps it a stable prop, so passing it to every header doesn't redraw every file.Screenshots
Harness: the real Pull request tab on PR #2908, Chromium.
Evidence
tsc --noEmitfor panel and desktop: clean../scripts/oxlint.sh: 0 errors.pnpm knip: clean../scripts/repository-checks.sh: passed.biome check: no errors.vitest run --project panel --project desktop: 231 files, 2366 tests passed.agent-changes-tab.test.ts:src/seats.ts,src/old/plan.tsandsrc/plan.tsfrom the three buttons, and a copy folds nothing.Invariants
as.Made with Luke