diff --git a/src/dev/setupMockTauri.ts b/src/dev/setupMockTauri.ts index c566de0..8525c74 100644 --- a/src/dev/setupMockTauri.ts +++ b/src/dev/setupMockTauri.ts @@ -4,8 +4,19 @@ import { handleMockCommand } from "./mockBackend"; mockWindows("main"); mockConvertFileSrc("windows"); -mockIPC((cmd, payload) => handleMockCommand(cmd, payload), { - shouldMockEvents: true, -}); +mockIPC( + async (cmd, payload) => { + const result = await handleMockCommand(cmd, payload); + // Real invoke() deserializes fresh JSON on every call, so callers never + // share references into backend state and Zustand identity checks see + // every change. Clone here so the mock behaves the same — returning + // `db.albums` directly froze the sidebar because set({ albums }) kept + // the same array identity across loads. + return structuredClone(result); + }, + { + shouldMockEvents: true, + }, +); console.info("[Phokus UI Lab] Mock Tauri backend installed.");