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