fix(app): preserve per-workspace icon override from localStorage (#24738)

Co-authored-by: Andrew Avsenin <snatvb@ya.ru>
This commit is contained in:
Brendan Allan
2026-04-28 19:37:40 +08:00
committed by GitHub
parent 9d1f17d836
commit aa07f38b07

View File

@@ -391,7 +391,14 @@ export const { use: useLayout, provider: LayoutProvider } = createSimpleContext(
? globalSync.data.project.find((x) => x.id === projectID)
: globalSync.data.project.find((x) => x.worktree === project.worktree)
return { ...metadata, ...project }
// Preserve local icon override from per-workspace localStorage cache (childStore.icon).
// Without this, different subdirectories of the same git repo would share the same
// icon from the database instead of using their individual overrides.
const base = { ...metadata, ...project }
if (childStore.icon) {
return { ...base, icon: { ...base.icon, override: childStore.icon } }
}
return base
}
const roots = createMemo(() => {