From 277a5c641df336d8b5b2d9bd6559e45f0b02aa79 Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Thu, 29 Feb 2024 18:37:13 +0100 Subject: wallet-core: improve config handling, test builtin exchange config --- .../taler-wallet-webextension/src/platform/api.ts | 6 ++--- .../taler-wallet-webextension/src/wxBackend.ts | 30 ++++++++++++---------- 2 files changed, 20 insertions(+), 16 deletions(-) (limited to 'packages/taler-wallet-webextension/src') diff --git a/packages/taler-wallet-webextension/src/platform/api.ts b/packages/taler-wallet-webextension/src/platform/api.ts index faf0f2820..57e7c51f4 100644 --- a/packages/taler-wallet-webextension/src/platform/api.ts +++ b/packages/taler-wallet-webextension/src/platform/api.ts @@ -17,10 +17,10 @@ import { CoreApiResponse, TalerUri, - WalletNotification + WalletNotification, + WalletRunConfig } from "@gnu-taler/taler-util"; import { - WalletConfig, WalletOperations } from "@gnu-taler/taler-wallet-core"; import { @@ -108,7 +108,7 @@ export interface WalletWebExVersion { version: string; } -type F = WalletConfig["features"]; +type F = WalletRunConfig["features"]; type kf = keyof F; type WebexWalletConfig = { [P in keyof F as `wallet${Capitalize

}`]: F[P]; diff --git a/packages/taler-wallet-webextension/src/wxBackend.ts b/packages/taler-wallet-webextension/src/wxBackend.ts index 2753d57b4..0801d2ab0 100644 --- a/packages/taler-wallet-webextension/src/wxBackend.ts +++ b/packages/taler-wallet-webextension/src/wxBackend.ts @@ -248,20 +248,25 @@ async function reinitWallet(): Promise { } currentDatabase = undefined; // setBadgeText({ text: "" }); - let httpLib: HttpRequestLibrary; let cryptoWorker; let timer; + const httpFactory = (): HttpRequestLibrary => { + if (platform.useServiceWorkerAsBackgroundProcess()) { + return new ServiceWorkerHttpLib({ + // enableThrottling: false, + }); + } else { + return new BrowserHttpLib({ + // enableThrottling: false, + }); + } + }; + if (platform.useServiceWorkerAsBackgroundProcess()) { - httpLib = new ServiceWorkerHttpLib({ - // enableThrottling: false, - }); cryptoWorker = new SynchronousCryptoWorkerFactoryPlain(); timer = new SetTimeoutTimerAPI(); } else { - httpLib = new BrowserHttpLib({ - // enableThrottling: false, - }); // We could (should?) use the BrowserCryptoWorkerFactory here, // but right now we don't, to have less platform differences. // cryptoWorker = new BrowserCryptoWorkerFactory(); @@ -273,20 +278,19 @@ async function reinitWallet(): Promise { logger.info("Setting up wallet"); const wallet = await Wallet.create( indexedDB as any, - httpLib as any, + httpFactory as any, timer, cryptoWorker, - { + ); + try { + await wallet.handleCoreApiRequest("initWallet", "native-init", { testing: { emitObservabilityEvents: true, }, features: { allowHttp: settings.walletAllowHttp, }, - }, - ); - try { - await wallet.handleCoreApiRequest("initWallet", "native-init", {}); + }); } catch (e) { logger.error("could not initialize wallet", e); walletInit.reject(e); -- cgit v1.2.3