From 05d041cc9caf1cb1a110056b1479437c01f6a0bb Mon Sep 17 00:00:00 2001 From: Lukas Harbarth Date: Fri, 22 Nov 2024 14:22:04 +0100 Subject: [PATCH] fix(StyleStore): fix stale reference leading to memory leak stale reference... Update StyleStore.ts --- packages/base/src/stores/StyleStore.ts | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/packages/base/src/stores/StyleStore.ts b/packages/base/src/stores/StyleStore.ts index 7f302dc5c10..5490c8a4e38 100644 --- a/packages/base/src/stores/StyleStore.ts +++ b/packages/base/src/stores/StyleStore.ts @@ -39,9 +39,14 @@ function getSnapshot(): IStyleStore { function subscribe(listener: () => void) { const listeners = getListeners(); - STORE_LOCATION[getStyleStoreListenersSymbol()] = [...listeners, listener]; + listeners.push(listener); + return () => { - STORE_LOCATION[getStyleStoreListenersSymbol()] = listeners.filter((l) => l !== listener); + const updatedListeners = getListeners(); + const index = updatedListeners.indexOf(listener); + if (index !== -1) { + updatedListeners.splice(index, 1); + } }; }