diff options
author | Florian Dold <florian@dold.me> | 2023-02-14 13:38:12 +0100 |
---|---|---|
committer | Florian Dold <florian@dold.me> | 2023-02-14 13:38:12 +0100 |
commit | 58c59a3e5ec2b3460c532e83c8bf5d7acdd09d25 (patch) | |
tree | 4409049e66adf65698c058734350e5eba938f463 /packages | |
parent | 12fc0b3f2a12778c3ee439f3d4fc470c4e9c0bfd (diff) |
walet-core: always show refresh transactions when in an error state
Diffstat (limited to 'packages')
-rw-r--r-- | packages/taler-wallet-core/src/operations/transactions.ts | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/packages/taler-wallet-core/src/operations/transactions.ts b/packages/taler-wallet-core/src/operations/transactions.ts index 5b6b5adc3..0dbbc56c1 100644 --- a/packages/taler-wallet-core/src/operations/transactions.ts +++ b/packages/taler-wallet-core/src/operations/transactions.ts @@ -971,16 +971,25 @@ export async function getTransactions( transactions.push(buildTransactionForPullPaymentDebit(pi)); }); - if (transactionsRequest?.includeRefreshes) { - tx.refreshGroups.iter().forEachAsync(async (rg) => { - if (shouldSkipCurrency(transactionsRequest, rg.currency)) { - return; + tx.refreshGroups.iter().forEachAsync(async (rg) => { + if (shouldSkipCurrency(transactionsRequest, rg.currency)) { + return; + } + let required = false; + const opId = RetryTags.forRefresh(rg); + if (transactionsRequest?.includeRefreshes) { + required = true; + } else if (rg.operationStatus !== RefreshOperationStatus.Finished) { + const ort = await tx.operationRetries.get(opId); + if (ort) { + required = true; } - const opId = RetryTags.forRefresh(rg); + } + if (required) { const ort = await tx.operationRetries.get(opId); transactions.push(buildTransactionForRefresh(rg, ort)); - }); - } + } + }); tx.withdrawalGroups.iter().forEachAsync(async (wsr) => { if ( |