diff --git a/packages/app/src/pages/session.tsx b/packages/app/src/pages/session.tsx index d55858eca..baeda1f9a 100644 --- a/packages/app/src/pages/session.tsx +++ b/packages/app/src/pages/session.tsx @@ -467,8 +467,6 @@ export default function Page() { return { queryKey: [...vcsKey(), mode] as const, enabled, - staleTime: Number.POSITIVE_INFINITY, - gcTime: 60 * 1000, queryFn: mode ? () => sdk.client.vcs diff --git a/packages/ui/src/components/session-review.tsx b/packages/ui/src/components/session-review.tsx index 1089587ee..08514d4ae 100644 --- a/packages/ui/src/components/session-review.tsx +++ b/packages/ui/src/components/session-review.tsx @@ -182,10 +182,10 @@ export const SessionReview = (props: SessionReviewProps) => { const opened = () => store.opened const open = () => props.open ?? store.open - const items = createMemo(() => - list(props.diffs).map((diff) => ({ ...normalize(diff), preloaded: diff.preloaded })), + const itemsMap = createMemo(() => + Object.fromEntries(list(props.diffs).map((diff) => [diff.file, { ...normalize(diff), preloaded: diff.preloaded }])), ) - const files = createMemo(() => items().map((diff) => diff.file)) + const files = createMemo(() => props.diffs.map((diff) => diff.file!)) const grouped = createMemo(() => { const next = new Map() for (const comment of props.comments ?? []) { @@ -388,12 +388,13 @@ export const SessionReview = (props: SessionReviewProps) => {
- - {(diff) => { - const file = diff.file + + {(file) => { + console.log({ file }) + const diff = () => itemsMap()[file] // binary files have empty diffs that we can't render - const diffCanRender = () => diff.additions !== 0 || diff.deletions !== 0 + const diffCanRender = () => diff().additions !== 0 || diff().deletions !== 0 const expanded = createMemo(() => open().includes(file)) const mounted = createMemo(() => expanded() && (!!store.visible[file] || pinned(file))) @@ -402,9 +403,9 @@ export const SessionReview = (props: SessionReviewProps) => { const comments = createMemo(() => grouped().get(file) ?? []) const commentedLines = createMemo(() => comments().map((c) => c.selection)) - const beforeText = () => text(diff, "deletions") - const afterText = () => text(diff, "additions") - const changedLines = () => diff.additions + diff.deletions + const beforeText = () => text(diff(), "deletions") + const afterText = () => text(diff(), "additions") + const changedLines = () => diff().additions + diff().deletions const mediaKind = createMemo(() => mediaKindFromPath(file)) const tooLarge = createMemo(() => { @@ -415,9 +416,9 @@ export const SessionReview = (props: SessionReviewProps) => { }) const isAdded = () => - diff.status === "added" || (beforeText().length === 0 && afterText().length > 0) + diff().status === "added" || (beforeText().length === 0 && afterText().length > 0) const isDeleted = () => - diff.status === "deleted" || (afterText().length === 0 && beforeText().length > 0) + diff().status === "deleted" || (afterText().length === 0 && beforeText().length > 0) const selectedLines = createMemo(() => { const current = selection() @@ -455,7 +456,7 @@ export const SessionReview = (props: SessionReviewProps) => { file, selection, comment, - preview: selectionPreview(diff, selection), + preview: selectionPreview(diff(), selection), }) }, onUpdate: ({ id, comment, selection }) => { @@ -464,7 +465,7 @@ export const SessionReview = (props: SessionReviewProps) => { file, selection, comment, - preview: selectionPreview(diff, selection), + preview: selectionPreview(diff(), selection), }) }, onDelete: (comment) => { @@ -543,7 +544,7 @@ export const SessionReview = (props: SessionReviewProps) => { {i18n.t("ui.sessionReview.change.added")} - +
@@ -557,7 +558,7 @@ export const SessionReview = (props: SessionReviewProps) => { - + @@ -613,8 +614,8 @@ export const SessionReview = (props: SessionReviewProps) => { { props.onDiffRendered?.() @@ -632,8 +633,8 @@ export const SessionReview = (props: SessionReviewProps) => { media={{ mode: "auto", path: file, - deleted: diff.status === "deleted", - readFile: diff.status === "deleted" ? undefined : props.readFile, + deleted: diff().status === "deleted", + readFile: diff().status === "deleted" ? undefined : props.readFile, }} />