From 73e107250dd44afef244021694a3343d2cc9715a Mon Sep 17 00:00:00 2001 From: Shoubhit Dash Date: Wed, 25 Mar 2026 21:09:53 +0530 Subject: feat: restore git-backed review modes with effectful git service (#18900) --- packages/ui/src/components/session-review.tsx | 36 +++++++++++++-------------- packages/ui/src/i18n/en.ts | 2 ++ 2 files changed, 19 insertions(+), 19 deletions(-) (limited to 'packages/ui/src') diff --git a/packages/ui/src/components/session-review.tsx b/packages/ui/src/components/session-review.tsx index 83d2980f6..2274e93a3 100644 --- a/packages/ui/src/components/session-review.tsx +++ b/packages/ui/src/components/session-review.tsx @@ -151,7 +151,6 @@ export const SessionReview = (props: SessionReviewProps) => { const open = () => props.open ?? store.open const files = createMemo(() => props.diffs.map((diff) => diff.file)) - const diffs = createMemo(() => new Map(props.diffs.map((diff) => [diff.file, diff] as const))) const diffStyle = () => props.diffStyle ?? (props.split ? "split" : "unified") const hasDiffs = () => files().length > 0 @@ -282,11 +281,10 @@ export const SessionReview = (props: SessionReviewProps) => {
- - {(file) => { + + {(diff) => { let wrapper: HTMLDivElement | undefined - - const item = createMemo(() => diffs().get(file)!) + const file = diff.file const expanded = createMemo(() => open().includes(file)) const force = () => !!store.force[file] @@ -294,9 +292,9 @@ export const SessionReview = (props: SessionReviewProps) => { const comments = createMemo(() => (props.comments ?? []).filter((c) => c.file === file)) const commentedLines = createMemo(() => comments().map((c) => c.selection)) - const beforeText = () => (typeof item().before === "string" ? item().before : "") - const afterText = () => (typeof item().after === "string" ? item().after : "") - const changedLines = () => item().additions + item().deletions + const beforeText = () => (typeof diff.before === "string" ? diff.before : "") + const afterText = () => (typeof diff.after === "string" ? diff.after : "") + const changedLines = () => diff.additions + diff.deletions const mediaKind = createMemo(() => mediaKindFromPath(file)) const tooLarge = createMemo(() => { @@ -307,9 +305,9 @@ export const SessionReview = (props: SessionReviewProps) => { }) const isAdded = () => - item().status === "added" || (beforeText().length === 0 && afterText().length > 0) + diff.status === "added" || (beforeText().length === 0 && afterText().length > 0) const isDeleted = () => - item().status === "deleted" || (afterText().length === 0 && beforeText().length > 0) + diff.status === "deleted" || (afterText().length === 0 && beforeText().length > 0) const selectedLines = createMemo(() => { const current = selection() @@ -346,7 +344,7 @@ export const SessionReview = (props: SessionReviewProps) => { file, selection, comment, - preview: selectionPreview(item(), selection), + preview: selectionPreview(diff, selection), }) }, onUpdate: ({ id, comment, selection }) => { @@ -355,7 +353,7 @@ export const SessionReview = (props: SessionReviewProps) => { file, selection, comment, - preview: selectionPreview(item(), selection), + preview: selectionPreview(diff, selection), }) }, onDelete: (comment) => { @@ -432,7 +430,7 @@ export const SessionReview = (props: SessionReviewProps) => { {i18n.t("ui.sessionReview.change.added")} - +
@@ -446,7 +444,7 @@ export const SessionReview = (props: SessionReviewProps) => { - + @@ -492,7 +490,7 @@ export const SessionReview = (props: SessionReviewProps) => { { props.onDiffRendered?.() @@ -509,17 +507,17 @@ export const SessionReview = (props: SessionReviewProps) => { commentedLines={commentedLines()} before={{ name: file, - contents: typeof item().before === "string" ? item().before : "", + contents: typeof diff.before === "string" ? diff.before : "", }} after={{ name: file, - contents: typeof item().after === "string" ? item().after : "", + contents: typeof diff.after === "string" ? diff.after : "", }} media={{ mode: "auto", path: file, - before: item().before, - after: item().after, + before: diff.before, + after: diff.after, readFile: props.readFile, }} /> diff --git a/packages/ui/src/i18n/en.ts b/packages/ui/src/i18n/en.ts index 18823aeaa..d9f724fce 100644 --- a/packages/ui/src/i18n/en.ts +++ b/packages/ui/src/i18n/en.ts @@ -1,5 +1,7 @@ export const dict: Record = { "ui.sessionReview.title": "Session changes", + "ui.sessionReview.title.git": "Git changes", + "ui.sessionReview.title.branch": "Branch changes", "ui.sessionReview.title.lastTurn": "Last turn changes", "ui.sessionReview.diffStyle.unified": "Unified", "ui.sessionReview.diffStyle.split": "Split", -- cgit v1.2.3