summaryrefslogtreecommitdiff
path: root/packages/taler-wallet-webextension/src/wxBackend.ts
diff options
context:
space:
mode:
authorFlorian Dold <florian@dold.me>2024-02-29 18:37:13 +0100
committerFlorian Dold <florian@dold.me>2024-02-29 23:24:06 +0100
commit277a5c641df336d8b5b2d9bd6559e45f0b02aa79 (patch)
tree49cbdadaf04b5630cdae3e2a89e6d3a74d30632b /packages/taler-wallet-webextension/src/wxBackend.ts
parent206780bb0ee763bcf50a3f4f9f78579a8adcdb3a (diff)
downloadwallet-core-277a5c641df336d8b5b2d9bd6559e45f0b02aa79.tar.gz
wallet-core-277a5c641df336d8b5b2d9bd6559e45f0b02aa79.tar.bz2
wallet-core-277a5c641df336d8b5b2d9bd6559e45f0b02aa79.zip
wallet-core: improve config handling, test builtin exchange config
Diffstat (limited to 'packages/taler-wallet-webextension/src/wxBackend.ts')
-rw-r--r--packages/taler-wallet-webextension/src/wxBackend.ts30
1 files changed, 17 insertions, 13 deletions
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<void> {
}
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<void> {
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);