diff options
| author | Florian Dold <florian@dold.me> | 2021-12-08 01:52:24 +0100 | 
|---|---|---|
| committer | Florian Dold <florian@dold.me> | 2021-12-08 01:52:24 +0100 | 
| commit | 02bbf082832d6ad4f6099b2aa2e3ebf8b081350c (patch) | |
| tree | 0849cd85a2945616db9529a3348a3426cca224a1 /packages/taler-wallet-core | |
| parent | afaeefb9439b6aab09c8c519742e1472b283efce (diff) | |
wallet-core: fix computation of timestamp for exchange update
Diffstat (limited to 'packages/taler-wallet-core')
| -rw-r--r-- | packages/taler-wallet-core/src/db.ts | 4 | ||||
| -rw-r--r-- | packages/taler-wallet-core/src/operations/pending.ts | 10 | 
2 files changed, 13 insertions, 1 deletions
| diff --git a/packages/taler-wallet-core/src/db.ts b/packages/taler-wallet-core/src/db.ts index 4296d0503..07e0f4b0a 100644 --- a/packages/taler-wallet-core/src/db.ts +++ b/packages/taler-wallet-core/src/db.ts @@ -539,6 +539,10 @@ export interface ExchangeRecord {     */    nextRefreshCheck: Timestamp; +  /** +   * Last error (if any) for fetching updated information about the +   * exchange. +   */    lastError?: TalerErrorDetails;    /** diff --git a/packages/taler-wallet-core/src/operations/pending.ts b/packages/taler-wallet-core/src/operations/pending.ts index a87b1c8b1..e3d22bfe6 100644 --- a/packages/taler-wallet-core/src/operations/pending.ts +++ b/packages/taler-wallet-core/src/operations/pending.ts @@ -52,10 +52,18 @@ async function gatherExchangePending(    resp: PendingOperationsResponse,  ): Promise<void> {    await tx.exchanges.iter().forEachAsync(async (e) => { +    let exchangeUpdateTimestampDue: Timestamp; + +    if (e.lastError) { +      exchangeUpdateTimestampDue = e.retryInfo.nextRetry; +    } else { +      exchangeUpdateTimestampDue = e.nextUpdate; +    } +      resp.pendingOperations.push({        type: PendingTaskType.ExchangeUpdate,        givesLifeness: false, -      timestampDue: e.nextUpdate, +      timestampDue: exchangeUpdateTimestampDue,        exchangeBaseUrl: e.baseUrl,        lastError: e.lastError,      }); | 
