fix(desktop): Fixed a reactive feedback loop in the global project cache sync (#10139)

This commit is contained in:
Eric Guo
2026-01-23 15:23:06 +08:00
committed by GitHub
parent 47a2b9e8df
commit b298982268

View File

@@ -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 () => {