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
@@ -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>
) )
} }