summaryrefslogtreecommitdiff
path: root/src/webex/wxBackend.ts
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2019-12-05 19:38:19 +0100
committerFlorian Dold <florian.dold@gmail.com>2019-12-05 19:38:19 +0100
commitf67d7f54f9d0fed97446898942e3dfee67ee2985 (patch)
tree2b81738025e8f61250ede10908cbf81071e16975 /src/webex/wxBackend.ts
parent829acdd3d98f1014747f15ecb619b6fbaa06b640 (diff)
downloadwallet-core-f67d7f54f9d0fed97446898942e3dfee67ee2985.tar.gz
wallet-core-f67d7f54f9d0fed97446898942e3dfee67ee2985.tar.bz2
wallet-core-f67d7f54f9d0fed97446898942e3dfee67ee2985.zip
threads, retries and notifications WIP
Diffstat (limited to 'src/webex/wxBackend.ts')
-rw-r--r--src/webex/wxBackend.ts51
1 files changed, 2 insertions, 49 deletions
diff --git a/src/webex/wxBackend.ts b/src/webex/wxBackend.ts
index 752027b70..4363890eb 100644
--- a/src/webex/wxBackend.ts
+++ b/src/webex/wxBackend.ts
@@ -28,7 +28,6 @@ import { AmountJson } from "../util/amounts";
import {
ConfirmReserveRequest,
CreateReserveRequest,
- Notifier,
ReturnCoinsRequest,
WalletDiagnostics,
} from "../walletTypes";
@@ -41,7 +40,7 @@ import { MessageType } from "./messages";
import * as wxApi from "./wxApi";
import Port = chrome.runtime.Port;
import MessageSender = chrome.runtime.MessageSender;
-import { BrowserCryptoWorkerFactory } from "../crypto/cryptoApi";
+import { BrowserCryptoWorkerFactory } from "../crypto/workers/cryptoApi";
import { OpenedPromise, openPromise } from "../util/promiseUtils";
const NeedsWallet = Symbol("NeedsWallet");
@@ -225,9 +224,6 @@ async function handleMessage(
case "accept-tip": {
return needsWallet().acceptTip(detail.talerTipUri);
}
- case "clear-notification": {
- return needsWallet().clearNotification();
- }
case "abort-failed-payment": {
if (!detail.contractTermsHash) {
throw Error("contracTermsHash not given");
@@ -331,31 +327,6 @@ async function dispatch(
}
}
-class ChromeNotifier implements Notifier {
- private ports: Port[] = [];
-
- constructor() {
- chrome.runtime.onConnect.addListener(port => {
- console.log("got connect!");
- this.ports.push(port);
- port.onDisconnect.addListener(() => {
- const i = this.ports.indexOf(port);
- if (i >= 0) {
- this.ports.splice(i, 1);
- } else {
- console.error("port already removed");
- }
- });
- });
- }
-
- notify() {
- for (const p of this.ports) {
- p.postMessage({ notify: true });
- }
- }
-}
-
function getTab(tabId: number): Promise<chrome.tabs.Tab> {
return new Promise((resolve, reject) => {
chrome.tabs.get(tabId, (tab: chrome.tabs.Tab) => resolve(tab));
@@ -458,16 +429,13 @@ async function reinitWallet() {
return;
}
const http = new BrowserHttpLib();
- const notifier = new ChromeNotifier();
console.log("setting wallet");
const wallet = new Wallet(
currentDatabase,
http,
- badge,
- notifier,
new BrowserCryptoWorkerFactory(),
);
- wallet.runLoopScheduledRetries().catch((e) => {
+ wallet.runRetryLoop().catch((e) => {
console.log("error during wallet retry loop", e);
});
// Useful for debugging in the background page.
@@ -621,21 +589,6 @@ export async function wxMain() {
return true;
});
- // Clear notifications both when the popop opens,
- // as well when it closes.
- chrome.runtime.onConnect.addListener(port => {
- if (port.name === "popup") {
- if (currentWallet) {
- currentWallet.clearNotification();
- }
- port.onDisconnect.addListener(() => {
- if (currentWallet) {
- currentWallet.clearNotification();
- }
- });
- }
- });
-
// Handlers for catching HTTP requests
chrome.webRequest.onHeadersReceived.addListener(
details => {