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,14 +360,17 @@ 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()}>
{(item) => (
<HomeProjectRow <HomeProjectRow
{...props} {...props}
project={item()} project={project()}
server={props.server} server={props.server}
index={props.index} index={props.index}
serverSelected={props.selection().server === ServerConnection.key(props.server)} serverSelected={props.selection().server === ServerConnection.key(props.server)}
@@ -375,10 +378,8 @@ function HomeProjectSlot(
props.selection().server === ServerConnection.key(props.server) && props.selection().server === ServerConnection.key(props.server) &&
props.selection().directory === props.worktree props.selection().directory === props.worktree
} }
unseen={props.unseenCount(props.server, item())} unseen={props.unseenCount(props.server, project())}
/> />
)}
</Show>
) )
} }