From aa07f38b0708f306a25d55db8d2123498958f578 Mon Sep 17 00:00:00 2001 From: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Date: Tue, 28 Apr 2026 19:37:40 +0800 Subject: [PATCH] fix(app): preserve per-workspace icon override from localStorage (#24738) Co-authored-by: Andrew Avsenin --- packages/app/src/context/layout.tsx | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/app/src/context/layout.tsx b/packages/app/src/context/layout.tsx index 97d9cacbbe..cacc875c54 100644 --- a/packages/app/src/context/layout.tsx +++ b/packages/app/src/context/layout.tsx @@ -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(() => {