diff --git a/src/composables/useWorkflowPersistence.ts b/src/composables/useWorkflowPersistence.ts index e0178a139..f5527fdd7 100644 --- a/src/composables/useWorkflowPersistence.ts +++ b/src/composables/useWorkflowPersistence.ts @@ -1,3 +1,4 @@ +import { tryOnScopeDispose } from '@vueuse/core' import { computed, watch } from 'vue' import { api } from '@/scripts/api' @@ -88,6 +89,11 @@ export function useWorkflowPersistence() { ) api.addEventListener('graphChanged', persistCurrentWorkflow) + // Clean up event listener when component unmounts + tryOnScopeDispose(() => { + api.removeEventListener('graphChanged', persistCurrentWorkflow) + }) + // Restore workflow tabs states const openWorkflows = computed(() => workflowStore.openWorkflows) const activeWorkflow = computed(() => workflowStore.activeWorkflow)