commit c7793c49ade230f0552a837a23ecf6ae8ba3ee2f
parent b12966591fba77ebd76d5eeccd608dac379df890
Author: Florian Dold <dold@taler.net>
Date: Wed, 22 Jul 2026 00:30:35 +0200
wallet: release the old refresh session when redenominating
initRefreshSession raises pendingRefreshOutputCount for the denominations
it picks, and only destroyRefreshSession lowers it again. The
redenomination branch dropped the session record and started a new one
without that call, so the count kept the outputs of a session that no
longer exists. The melt-conflict branch already does this.
Diffstat:
1 file changed, 3 insertions(+), 0 deletions(-)
diff --git a/packages/taler-wallet-core/src/refresh.ts b/packages/taler-wallet-core/src/refresh.ts
@@ -1422,6 +1422,9 @@ async function processRefreshSession(
rg != null &&
rg.statusPerCoin[coinIndex] === RefreshCoinStatus.PendingRedenominate
) {
+ if (rs != null) {
+ await destroyRefreshSession(wex, tx, rg, rs);
+ }
await tx.deleteRefreshSession(refreshGroupId, coinIndex);
await initRefreshSession(wex, tx, rg, coinIndex);
rg.statusPerCoin[coinIndex] = RefreshCoinStatus.Pending;