fix(app): defer diff rendering

This commit is contained in:
Adam
2026-03-03 11:14:03 -06:00
parent 9d427c1ef8
commit 502dbb65fc

View File

@@ -416,15 +416,15 @@ export default function Page() {
mobileTab: "session" as "session" | "changes", mobileTab: "session" as "session" | "changes",
changes: "session" as "session" | "turn", changes: "session" as "session" | "turn",
newSessionWorktree: "main", newSessionWorktree: "main",
deferRender: false,
}) })
const [deferRender, setDeferRender] = createSignal(false)
createComputed((prev) => { createComputed((prev) => {
const key = sessionKey() const key = sessionKey()
if (key !== prev) { if (key !== prev) {
setDeferRender(true) setStore("deferRender", true)
requestAnimationFrame(() => { requestAnimationFrame(() => {
setTimeout(() => setDeferRender(false), 0) setTimeout(() => setStore("deferRender", false), 0)
}) })
} }
return key return key
@@ -736,10 +736,7 @@ export default function Page() {
loadingClass: string loadingClass: string
emptyClass: string emptyClass: string
}) => ( }) => (
<Show <Show when={!store.deferRender}>
when={!deferRender()}
fallback={<div class={input.loadingClass}>{language.t("session.review.loadingChanges")}</div>}
>
<Switch> <Switch>
<Match when={store.changes === "turn" && !!params.id}> <Match when={store.changes === "turn" && !!params.id}>
<SessionReviewTab <SessionReviewTab