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
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 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 ( return (
<Show when={project()}> <HomeProjectRow
{(item) => ( {...props}
<HomeProjectRow project={project()}
{...props} server={props.server}
project={item()} index={props.index}
server={props.server} serverSelected={props.selection().server === ServerConnection.key(props.server)}
index={props.index} selected={
serverSelected={props.selection().server === ServerConnection.key(props.server)} props.selection().server === ServerConnection.key(props.server) &&
selected={ props.selection().directory === props.worktree
props.selection().server === ServerConnection.key(props.server) && }
props.selection().directory === props.worktree unseen={props.unseenCount(props.server, project())}
} />
unseen={props.unseenCount(props.server, item())}
/>
)}
</Show>
) )
} }