summaryrefslogtreecommitdiff
path: root/packages
diff options
context:
space:
mode:
authorFlorian Dold <florian@dold.me>2022-03-30 20:41:21 +0200
committerFlorian Dold <florian@dold.me>2022-03-30 20:41:21 +0200
commit123b92b3aa67f17d01586da0d7974de06318e551 (patch)
tree93fc7171aeafa58bbe82be7cf52cac55a1bd0e30 /packages
parent89435696f9a28316ab3dc5ef7c73776d092da89c (diff)
downloadwallet-core-123b92b3aa67f17d01586da0d7974de06318e551.tar.gz
wallet-core-123b92b3aa67f17d01586da0d7974de06318e551.tar.bz2
wallet-core-123b92b3aa67f17d01586da0d7974de06318e551.zip
wallet: logging, timestamp parsing backwards compatibility
Diffstat (limited to 'packages')
-rw-r--r--packages/taler-util/src/time.ts9
-rw-r--r--packages/taler-wallet-core/src/operations/refresh.ts12
2 files changed, 18 insertions, 3 deletions
diff --git a/packages/taler-util/src/time.ts b/packages/taler-util/src/time.ts
index 344bc0f74..695d6d274 100644
--- a/packages/taler-util/src/time.ts
+++ b/packages/taler-util/src/time.ts
@@ -323,6 +323,15 @@ export function durationAdd(d1: Duration, d2: Duration): Duration {
export const codecForTimestamp: Codec<TalerProtocolTimestamp> = {
decode(x: any, c?: Context): TalerProtocolTimestamp {
+ // Compatibility, should be removed soon.
+ const t_ms = x.t_ms;
+ if (typeof t_ms === "string") {
+ if (t_ms === "never") {
+ return { t_s: "never" };
+ }
+ } else if (typeof t_ms === "number") {
+ return { t_s: Math.floor(t_ms / 1000) };
+ }
const t_s = x.t_s;
if (typeof t_s === "string") {
if (t_s === "never") {
diff --git a/packages/taler-wallet-core/src/operations/refresh.ts b/packages/taler-wallet-core/src/operations/refresh.ts
index cf292061f..1a4731939 100644
--- a/packages/taler-wallet-core/src/operations/refresh.ts
+++ b/packages/taler-wallet-core/src/operations/refresh.ts
@@ -818,9 +818,15 @@ async function processRefreshGroupImpl(
logger.trace("processing refresh sessions for old coins");
const ps = refreshGroup.oldCoinPubs.map((x, i) =>
processRefreshSession(ws, refreshGroupId, i).catch((x) => {
- logger.warn("process refresh session got exception");
- logger.warn(`exc ${x}`);
- logger.warn(`exc stack ${x.stack}`);
+ if (x instanceof CryptoApiStoppedError) {
+ logger.info(
+ "crypto API stopped while processing refresh group, probably the wallet is during shutdown",
+ );
+ } else {
+ logger.warn("process refresh session got exception");
+ logger.warn(`exc ${x}`);
+ logger.warn(`exc stack ${x.stack}`);
+ }
}),
);
try {