diff --git a/packages/taler-wallet-core/src/operations/pay-peer.ts b/packages/taler-wallet-core/src/operations/pay-peer.ts index 5178839a4..bfb0dd589 100644 --- a/packages/taler-wallet-core/src/operations/pay-peer.ts +++ b/packages/taler-wallet-core/src/operations/pay-peer.ts @@ -1372,6 +1372,14 @@ export async function processPeerPullCredit( pursePub, }); + // We're already running! + if (ws.activeLongpoll[retryTag]) { + logger.info("peer-pull-credit already in long-polling, returning!"); + return { + type: OperationAttemptResultType.Longpoll, + }; + } + switch (pullIni.status) { case PeerPullPaymentInitiationStatus.PurseDeposited: { // We implement this case so that the "retry" action on a peer-pull-credit transaction