From 267714074995aab337b474dce2cb0236c2861a9c Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Tue, 21 Feb 2023 19:23:32 +0100 Subject: [PATCH] wallet-core: do not retry transaction if long-poll is active --- packages/taler-wallet-core/src/operations/pay-peer.ts | 8 ++++++++ 1 file changed, 8 insertions(+) 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