commit 0844d41f70edbcdbce0d027be74320d0f54ef987
parent 989bbb8f92d6cc7a9166717115471a7bc27d52e8
Author: Florian Dold <dold@taler.net>
Date: Thu, 6 Aug 2026 14:21:30 +0200
wallet-core: unregister the waiter's notification listener on success
Cleanup only ran on the throw path, so every completed wait leaked a
listener in a wallet that keeps running, such as "advanced serve".
Diffstat:
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/packages/taler-wallet-core/src/common.ts b/packages/taler-wallet-core/src/common.ts
@@ -967,10 +967,9 @@ export async function genericWaitForState(
await flag.wait();
flag.reset();
}
- } catch (e) {
+ } finally {
unregisterOnCancelled();
cancelNotif();
- throw e;
}
}
@@ -1022,10 +1021,9 @@ export async function genericWaitForStateVal<T>(
await flag.wait();
flag.reset();
}
- } catch (e) {
+ } finally {
unregisterOnCancelled();
cancelNotif();
- throw e;
}
}