commit 9280cc305ba16e9ba63385afaa388e1259e0ecb8
parent f62468177cbe23a91bc9465073a7050174881eb5
Author: Florian Dold <dold@taler.net>
Date: Wed, 22 Jul 2026 01:01:58 +0200
wallet: leave the balance-KYC init state once the balance is legal
The transition after a successful balance check only covered the state
that already had an access token, so a transaction still in the initial
state kept its status and was rescheduled as having made progress, which
turned into a busy loop that never reached the merge.
Diffstat:
2 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/packages/taler-wallet-core/src/pay-peer-pull-credit.ts b/packages/taler-wallet-core/src/pay-peer-pull-credit.ts
@@ -993,6 +993,9 @@ async function processPeerPullCreditBalanceKyc(
return;
}
switch (rec.status) {
+ // The balance increase is legal, so no wallet KYC is needed and
+ // the initial state is left behind together with the required one.
+ case PeerPullPaymentCreditStatus.PendingBalanceKycInit:
case PeerPullPaymentCreditStatus.PendingBalanceKycRequired:
rec.status = PeerPullPaymentCreditStatus.PendingCreatePurse;
break;
diff --git a/packages/taler-wallet-core/src/pay-peer-push-credit.ts b/packages/taler-wallet-core/src/pay-peer-push-credit.ts
@@ -1191,6 +1191,9 @@ async function processPeerPushCreditBalanceKyc(
return;
}
switch (rec.status) {
+ // The balance increase is legal, so no wallet KYC is needed and
+ // the initial state is left behind together with the required one.
+ case PeerPushCreditStatus.PendingBalanceKycInit:
case PeerPushCreditStatus.PendingBalanceKycRequired: {
rec.status = PeerPushCreditStatus.PendingMerge;
await h.update(rec);