fix(app): prevent freeze when closing projects (#39158)

This commit is contained in:
Brendan Allan 2026-07-28 02:40:30 +08:00 committed by GitHub
parent a9bebd3653
commit 8e8d38c3cd
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -360,25 +360,26 @@ function HomeProjectSlot(
index: () => number
},
) {
const project = createMemo(() => props.items.find((item) => item.worktree === props.worktree))
const initial = props.items.find((item) => item.worktree === props.worktree)
if (!initial) return
const project = createMemo<LocalProject>(
(previous) => props.items.find((item) => item.worktree === props.worktree) ?? previous,
initial,
)
return (
<Show when={project()}>
{(item) => (
<HomeProjectRow
{...props}
project={item()}
server={props.server}
index={props.index}
serverSelected={props.selection().server === ServerConnection.key(props.server)}
selected={
props.selection().server === ServerConnection.key(props.server) &&
props.selection().directory === props.worktree
}
unseen={props.unseenCount(props.server, item())}
/>
)}
</Show>
<HomeProjectRow
{...props}
project={project()}
server={props.server}
index={props.index}
serverSelected={props.selection().server === ServerConnection.key(props.server)}
selected={
props.selection().server === ServerConnection.key(props.server) &&
props.selection().directory === props.worktree
}
unseen={props.unseenCount(props.server, project())}
/>
)
}