summaryrefslogtreecommitdiffhomepage
path: root/packages
diff options
context:
space:
mode:
authoradamelmore <[email protected]>2026-01-27 11:38:31 -0600
committeradamelmore <[email protected]>2026-01-27 11:38:37 -0600
commite2c57735b43d4bbca3b8de1ea0d2fe706f3e2799 (patch)
treef49816f12a1628985b7a311915816c35aef03cab /packages
parent07d84fe008905e17894a053e4cb80fce3ae28a99 (diff)
downloadopencode-e2c57735b43d4bbca3b8de1ea0d2fe706f3e2799.tar.gz
opencode-e2c57735b43d4bbca3b8de1ea0d2fe706f3e2799.zip
fix(app): session diffs not always loading
Diffstat (limited to 'packages')
-rw-r--r--packages/app/src/pages/session.tsx9
1 files changed, 4 insertions, 5 deletions
diff --git a/packages/app/src/pages/session.tsx b/packages/app/src/pages/session.tsx
index 6de7ed3e7..a75b1169a 100644
--- a/packages/app/src/pages/session.tsx
+++ b/packages/app/src/pages/session.tsx
@@ -376,7 +376,8 @@ export default function Page() {
})
const info = createMemo(() => (params.id ? sync.session.get(params.id) : undefined))
- const reviewCount = createMemo(() => info()?.summary?.files ?? 0)
+ const diffs = createMemo(() => (params.id ? (sync.data.session_diff[params.id] ?? []) : []))
+ const reviewCount = createMemo(() => Math.max(info()?.summary?.files ?? 0, diffs().length))
const hasReview = createMemo(() => reviewCount() > 0)
const revertMessageID = createMemo(() => info()?.revert?.messageID)
const messages = createMemo(() => (params.id ? (sync.data.message[params.id] ?? []) : []))
@@ -479,7 +480,6 @@ export default function Page() {
scrollToMessage(msgs[targetIndex], "auto")
}
- const diffs = createMemo(() => (params.id ? (sync.data.session_diff[params.id] ?? []) : []))
const emptyDiffFiles: string[] = []
const diffFiles = createMemo(() => diffs().map((d) => d.file), emptyDiffFiles, { equals: same })
const diffsReady = createMemo(() => {
@@ -1235,14 +1235,13 @@ export default function Page() {
createEffect(() => {
const id = params.id
if (!id) return
- if (!hasReview()) return
const wants = isDesktop()
? view().reviewPanel.opened() &&
(layout.fileTree.opened() ? fileTreeTab() === "changes" : activeTab() === "review")
- : store.mobileTab === "review"
+ : view().reviewPanel.opened() && store.mobileTab === "review"
if (!wants) return
- if (diffsReady()) return
+ if (sync.data.session_diff[id] !== undefined) return
sync.session.diff(id)
})