commit 055685e78528aaf6b57ce70c4cc0221f5c0f37a3
parent 644ad4e9bb5e7bbd3e74b842e45ef6056996b03b
Author: Florian Dold <florian.dold@gmail.com>
Date: Mon, 24 Feb 2020 22:38:07 +0530
fall back to synchronous workers on old nodejs
Diffstat:
2 files changed, 12 insertions(+), 6 deletions(-)
diff --git a/package.json b/package.json
@@ -1,6 +1,6 @@
{
"name": "taler-wallet",
- "version": "0.6.8",
+ "version": "0.6.9",
"description": "",
"main": "dist/node/index.js",
"repository": {
diff --git a/src/headless/helpers.ts b/src/headless/helpers.ts
@@ -34,6 +34,7 @@ import { WalletNotification, NotificationType } from "../types/notifications";
import { Database } from "../util/query";
import { NodeHttpLib } from "./NodeHttpLib";
import { Logger } from "../util/logging";
+import { SynchronousCryptoWorkerFactory } from "../crypto/workers/synchronousWorker";
const logger = new Logger("helpers.ts");
@@ -113,14 +114,19 @@ export async function getDefaultNodeWallet(
const myDb = await openTalerDatabase(myIdbFactory, myVersionChange);
- //const worker = new SynchronousCryptoWorkerFactory();
- //const worker = new NodeCryptoWorkerFactory();
-
- const worker = new NodeThreadCryptoWorkerFactory();
+ let workerFactory;
+ try {
+ // Try if we have worker threads available, fails in older node versions.
+ require("worker_threads")
+ workerFactory = new NodeThreadCryptoWorkerFactory();
+ } catch (e) {
+ console.log("worker threads not available, falling back to synchronous workers");
+ workerFactory = new SynchronousCryptoWorkerFactory();
+ }
const dbWrap = new Database(myDb);
- const w = new Wallet(dbWrap, myHttpLib, worker);
+ const w = new Wallet(dbWrap, myHttpLib, workerFactory);
if (args.notifyHandler) {
w.addNotificationListener(args.notifyHandler);
}