From b9ce5389ef4766dee41f9ce1780530f51f7dc664 Mon Sep 17 00:00:00 2001 From: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Sat, 28 Jun 2025 16:59:42 +1000 Subject: [PATCH] fix(ui): clean up signal --- invokeai/frontend/web/src/services/api/run-graph.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/invokeai/frontend/web/src/services/api/run-graph.ts b/invokeai/frontend/web/src/services/api/run-graph.ts index 12b9dabfb7..892a7476a9 100644 --- a/invokeai/frontend/web/src/services/api/run-graph.ts +++ b/invokeai/frontend/web/src/services/api/run-graph.ts @@ -136,7 +136,7 @@ export const runGraph = (arg: RunGraphArg): Promise => { } if (signal !== undefined) { - signal.addEventListener('abort', () => { + const abortHandler = () => { if (isResolved) { return; } @@ -146,8 +146,12 @@ export const runGraph = (arg: RunGraphArg): Promise => { cancelQueueItem(queueItemId, store); } reject(new Error('Graph canceled')); + }; + + signal.addEventListener('abort', abortHandler); + cleanupFunctions.add(() => { + signal.removeEventListener('abort', abortHandler); }); - // TODO(psyche): Do we need to somehow clean up the signal? Not sure what is required here. } const onQueueItemStatusChanged = async (event: S['QueueItemStatusChangedEvent']) => {