·
Thinking…
(0s · ↑ 0 tokens · esc to interrupt)
◉ xhigh · /effort
❯
⏵⏵ auto mode on (shift+tab to cycle) · ← for agents
feat(files): render Files tab diffs with @pierre/diffs#4112
Draft
yyovilwants to merge 1 commit into
Untrivial-ai:mainfrom
yyovil:feat/pierre-diffs-files-tab
yyovilcommented on Aug 18, 2026
Summary
@pierre/diffs, gaining real Shiki syntax highlighting and built-in row virtualization.SessionFilesViewparses each file's diff viagetSingularPatchand renders it with@pierre/diffs/react'sFileDiff, wrapped in itsVirtualizer(replaces the@tanstack/react-virtualrow window).FileDiff'slineAnnotations/renderAnnotationand a customrenderGutterUtilitybutton; selection → instruction now uses@pierre/diffs' own line-selection API (enableLineSelection,onLineSelectionChange,selectedLines) instead of native browser text selection, still surfaced through the existing right-clickDiffSelectionMenu.src/renderer/lib/diff-lines.tsadapts@pierre/diffs' parsedFileDiffMetadatainto the flat, line-numbered lookup the annotation and selection features need.pierre-dark/pierre-lightvia the app's resolved light/dark mode.diff-parser.ts, its worker, anduseParsedDiff.ts.Demo
pierre-diffs-files-tab-e2e.mp4
Test plan
npm run typecheckpackages/product-uigap)