taler-typescript-core

Wallet core logic and WebUIs for various components
Log | Files | Refs | Submodules | README | LICENSE

commit 6e40b306d630a7a1fbbb4184d9a04687fb4acc7f
parent 4d57733b91d43b50ed6bfc141ecbe558fab7d2d0
Author: Florian Dold <florian@dold.me>
Date:   Sat, 18 Jul 2026 11:17:36 +0200

util: fix timer leak on cancellation

Diffstat:
Mpackages/taler-util/src/timer.ts | 4+++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/packages/taler-util/src/timer.ts b/packages/taler-util/src/timer.ts @@ -166,13 +166,15 @@ export class TimerGroup { ): Promise<boolean> { return new Promise<boolean>((resolve, reject) => { let unregisterCt: (() => void) | undefined; + let timerHandle: TimerHandle | undefined; if (cancellationToken != null) { unregisterCt = cancellationToken.onCancelled(() => { + timerHandle?.clear(); resolve(false); }); } if (delayMs.d_ms !== "forever") { - this.after(delayMs.d_ms, () => { + timerHandle = this.after(delayMs.d_ms, () => { unregisterCt?.(); resolve(true); });