From c973d48c41169240e3f53769804696fd0d352a09 Mon Sep 17 00:00:00 2001 From: Solstice Date: Tue, 9 Jun 2026 00:27:29 -0700 Subject: fix: listener race condition, stale callback ref, dead code cleanup --- src/store/taskStore.ts | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) (limited to 'src/store/taskStore.ts') diff --git a/src/store/taskStore.ts b/src/store/taskStore.ts index dccd17d..94386ac 100644 --- a/src/store/taskStore.ts +++ b/src/store/taskStore.ts @@ -18,7 +18,6 @@ interface TaskStore { updateTask: (id: string, remainingSessions?: number, completed?: boolean) => Promise; deleteTask: (id: string) => Promise; setCurrentTask: (id: string | null) => Promise; - refreshTask: (task: Task) => void; } export const useTaskStore = create((set) => ({ @@ -37,11 +36,16 @@ export const useTaskStore = create((set) => ({ }, addTask: async (name, totalSessions) => { - const task = await invoke('add_task', { - name, - totalSessions, - }); - set((state) => ({ tasks: [...state.tasks, task] })); + try { + const task = await invoke('add_task', { + name, + totalSessions, + }); + set((state) => ({ tasks: [...state.tasks, task] })); + } catch (e) { + console.error('addTask error:', e); + throw e; + } }, updateTask: async (id, remainingSessions, completed) => { @@ -64,17 +68,16 @@ export const useTaskStore = create((set) => ({ }, deleteTask: async (id) => { - await invoke('delete_task', { id }); - set((state) => ({ tasks: state.tasks.filter((t) => t.id !== id) })); + try { + await invoke('delete_task', { id }); + set((state) => ({ tasks: state.tasks.filter((t) => t.id !== id) })); + } catch (e) { + console.error('deleteTask error:', e); + throw e; + } }, setCurrentTask: async (id) => { await invoke('set_current_task', { taskId: id }); }, - - refreshTask: (updatedTask) => { - set((state) => ({ - tasks: state.tasks.map((t) => (t.id === updatedTask.id ? updatedTask : t)), - })); - }, })); -- cgit v1.3-2-g0d8e