From f37b2f7650e30d14f4eea1d71f538a5d2f3d0ad0 Mon Sep 17 00:00:00 2001 From: arturovt Date: Thu, 22 May 2025 00:43:59 +0300 Subject: [PATCH] fix(core): unregister `onDestroy` when observable errors in `toSignal` (#61596) The observable terminates immediately when `error` is called, and no further emissions or completion notifications occur. Thus, we have to remove the listener in both the `error` and `complete` notifications. PR Close #61596 --- packages/core/rxjs-interop/src/to_signal.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/core/rxjs-interop/src/to_signal.ts b/packages/core/rxjs-interop/src/to_signal.ts index 29f120cad8a..f13e919eb1a 100644 --- a/packages/core/rxjs-interop/src/to_signal.ts +++ b/packages/core/rxjs-interop/src/to_signal.ts @@ -168,6 +168,7 @@ export function toSignal( next: (value) => state.set({kind: StateKind.Value, value}), error: (error) => { state.set({kind: StateKind.Error, error}); + destroyUnregisterFn?.(); }, complete: () => { destroyUnregisterFn?.();