diff --git a/web/src/lib/utils/base-event-manager.svelte.ts b/web/src/lib/utils/base-event-manager.svelte.ts index 1b5135dfd9..5112076988 100644 --- a/web/src/lib/utils/base-event-manager.svelte.ts +++ b/web/src/lib/utils/base-event-manager.svelte.ts @@ -15,7 +15,7 @@ const nextId = () => count++; const noop = () => {}; export class BaseEventManager { - #callbacks: EventItem[] = $state([]); + #callbacks: EventItem[] = $state.raw([]); on(subscriptions: EventMap): () => void { const cleanups = Object.entries(subscriptions).map(([event, callback]) => @@ -36,7 +36,7 @@ export class BaseEventManager { // eslint-disable-next-line @typescript-eslint/no-explicit-any const item = { id: nextId(), event, callback } as EventItem; - this.#callbacks.push(item); + this.#callbacks = [...this.#callbacks, item]; return () => { this.#callbacks = this.#callbacks.filter((current) => current.id !== item.id);