From b29898226821ec16455b67321200056090a7320c Mon Sep 17 00:00:00 2001 From: Eric Guo Date: Fri, 23 Jan 2026 15:23:06 +0800 Subject: [PATCH] fix(desktop): Fixed a reactive feedback loop in the global project cache sync (#10139) --- packages/app/src/context/global-sync.tsx | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/packages/app/src/context/global-sync.tsx b/packages/app/src/context/global-sync.tsx index 5f0f3d76f..cfbaa3723 100644 --- a/packages/app/src/context/global-sync.tsx +++ b/packages/app/src/context/global-sync.tsx @@ -28,6 +28,7 @@ import { batch, createContext, createEffect, + untrack, getOwner, runWithOwner, useContext, @@ -174,8 +175,12 @@ function createGlobalSync() { createEffect(() => { if (!projectCacheReady()) return - if (globalStore.project.length === 0 && projectCache.value.length !== 0) return - setProjectCache("value", globalStore.project.map(sanitizeProject)) + const projects = globalStore.project + if (projects.length === 0) { + const cachedLength = untrack(() => projectCache.value.length) + if (cachedLength !== 0) return + } + setProjectCache("value", projects.map(sanitizeProject)) }) createEffect(async () => {