Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -318,7 +318,7 @@ the resolved app appearance automatically.
defaults and the existing changed-file and full-diff dialog.
- **Commit graph** — SVG lanes with branch/tag chips, revealable inline stash
nodes with non-mutating diff inspection, a
resizable commit detail panel with lazy GPG/SSH/X.509 verification,
resizable commit detail panel with a scrollable changed-files list, lazy GPG/SSH/X.509 verification,
subject/body copy, and exact patch export; in-graph search by message /
author / hash; a multi-selection toolbar/menu for ordered cherry-pick,
two-commit comparison, metadata copy, and patch-series export; a
Expand Down
9 changes: 8 additions & 1 deletion ROADMAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,8 @@ system ported verbatim. No real feature surface yet.
- ◐ **Commit graph**
- ☑ Table view from `repo_log`
- ☑ SVG lane/edge rendering with branch colors
- ☑ Inline commit detail panel (changed files, message body)
- ☑ Inline commit detail panel (changed files, message body; file list
scrolls in the upper split — DAN-79)
- ☑ Keyboard navigation (focuses current commit on open; ↑/↓ moves row
focus; Enter opens details; Esc closes details)
- ☑ Multi-select (⌘/Ctrl-click toggles, Shift-click ranges, Shift+↑/↓
Expand Down Expand Up @@ -3141,6 +3142,12 @@ cross-platform performance certification remain explicit follow-ups.
- **Naming & trademark.** USPTO/EUIPO/WIPO search before 0.5 public launch.


**Commit-detail file list scrolls (2026-09-24):** The All Commits detail
panel's changed-files list now fills the upper vertical split and scrolls
when a commit touches more paths than fit (`.cd-files` `height: 100%` +
`overflow-y: auto`; DAN-79). Diff pane scroll and the split resize handle
are unchanged.

**Worktrees UI revision (2026-09-04):** Reworked PR 113's cramped table into
readable two-line rows: branch and directory together, working changes and
latest commit in separate columns, explicit current/locked indicators, and
Expand Down
1 change: 1 addition & 0 deletions TASKS.md
Original file line number Diff line number Diff line change
Expand Up @@ -1086,6 +1086,7 @@ community plugins, performance and platform certification from Git feature gaps.
exactly two expose Compare, and any selection exposes ordered bulk
cherry-pick)
- ☑ Inline commit detail panel (`CommitDetail.tsx` — subject, body, meta, file list, `<Diff />` of the focused file; right-side resizable Panel `strand:commits-split`)
- ☑ Commit-detail changed-files list scrolls inside the upper vertical split (`.cd-files` `height: 100%` + `min-height: 0` + `overflow-y: auto`; `.cd-diff` fills the lower panel; DAN-79)
- ☑ Keyboard nav (`Commits` focuses the current commit on open; ↑/↓ move
row focus; Enter opens details; Esc closes details)
- ☑ Commit-detail actions: Checkout (detached) + "Tag…" (opens the New-tag
Expand Down
8 changes: 6 additions & 2 deletions docs/learnings.md
Original file line number Diff line number Diff line change
Expand Up @@ -587,8 +587,12 @@ lives inside a Panel:
}
```

Existing sites: `.body`, `.lc-main`, `.lc-files`, `.main`, `.sidebar`.
Copy the pattern when adding a new resizable region.
Existing sites: `.body`, `.lc-main`, `.lc-files`, `.lc-files-section`,
`.cd-files`, `.cd-diff`, `.main`, `.sidebar`.
Copy the pattern when adding a new resizable region. The commit-detail
changed-files list (DAN-79) is the same trap: `.cd-files` used to be
`flex-shrink: 0` with no overflow, so a tall file list clipped inside
the upper `Panel` instead of scrolling.

---

Expand Down
13 changes: 10 additions & 3 deletions ui/src/styles/features.css
Original file line number Diff line number Diff line change
Expand Up @@ -1444,9 +1444,13 @@
font-family: var(--font-ui);
}
.cd-files {
/* Panel children are display:block — height:100% fills the upper split
* so overflow-y can scroll when the commit touches more files than fit. */
height: 100%;
min-height: 0;
overflow-y: auto;
padding: 8px 0;
border-bottom: 0.5px solid var(--border);
flex-shrink: 0;
}
.cd-file {
display: grid;
Expand Down Expand Up @@ -1500,12 +1504,15 @@
color: var(--del);
}
.cd-diff {
flex-shrink: 0;
height: 100%;
min-height: 0;
display: flex;
flex-direction: column;
}
.cd-diff-scroll {
flex-shrink: 0;
flex: 1;
min-height: 0;
overflow: auto;
}
.cd-head-row {
display: flex;
Expand Down
2 changes: 1 addition & 1 deletion ui/src/views/CommitDetail.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -424,7 +424,7 @@ export function CommitDetail({
)}
</div>
</Panel>
<PanelResizeHandle className="rs-handle" />
<PanelResizeHandle className="rs-handle horiz" />
<Panel defaultSize={64} minSize={25}>
<div className="cd-diff">
{focused ? (
Expand Down
2 changes: 1 addition & 1 deletion website/docs/commits-and-history.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ Rows are decorated with chips:

### Commit detail panel

Selecting a commit (click or `Enter`) opens a detail panel on the right with the full message, a metadata grid, the list of changed files, and the diff of the focused file. The metadata includes a lazy GPG, SSH, or X.509 signature check: verified signatures show the signer, while bad, expired, revoked, untrusted, unavailable, and unsigned states stay distinct. Hover the signature for key, fingerprint, and trust details. Verification runs only for the opened immutable commit, never across the paged graph.
Selecting a commit (click or `Enter`) opens a detail panel on the right with the full message, a metadata grid, the list of changed files, and the diff of the focused file. When a commit touches more files than fit in the upper pane, that list scrolls independently of the diff below. Drag the divider between the list and the diff to give either more room. The metadata includes a lazy GPG, SSH, or X.509 signature check: verified signatures show the signer, while bad, expired, revoked, untrusted, unavailable, and unsigned states stay distinct. Hover the signature for key, fingerprint, and trust details. Verification runs only for the opened immutable commit, never across the paged graph.

The panel can copy the subject or body separately and export the exact commit as an mbox-compatible `.patch`. It also re-roots the sidebar's **Files** tab to that commit; the short hash above the tree makes the historical context explicit. Historical trees are read-only, and opening a file keeps Content and Preview pinned to that revision. Image changes render as before/after previews. Drag the divider to resize the panel; the split is remembered. Press `Escape` to close it and return Files to the working tree.

Expand Down
Loading