From 508f5d2ea7a0c83eeb35bfae08a514c7e23fd884 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Thu, 28 Apr 2022 15:55:20 -0300 Subject: simplify alarm and check webRequest without using 'in' --- packages/taler-wallet-core/src/wallet.ts | 25 ---------------------- .../src/platform/chrome.ts | 24 +++++++++------------ 2 files changed, 10 insertions(+), 39 deletions(-) diff --git a/packages/taler-wallet-core/src/wallet.ts b/packages/taler-wallet-core/src/wallet.ts index 579710d4e..96722aefb 100644 --- a/packages/taler-wallet-core/src/wallet.ts +++ b/packages/taler-wallet-core/src/wallet.ts @@ -326,27 +326,6 @@ export interface RetryLoopOpts { stopWhenDone?: boolean; } -/** - * This iteration hint will keep incrementing while the taskLoop iteration. - * If the hint does not match the current iteration it means that another - * promises is also working or has done some work before. - */ -let iterationHint = 0 -function thereIsAnotherPromiseWorking(iteration: number): boolean { - if (iterationHint > iteration) { - logger.trace(`some other promise is or has done some progress`); - iterationHint = iteration; - //we know that another promise did some work but don't know if still active - //so we take ownership and do work - } else if (iterationHint < iteration) { - //another promise take ownership that means that our time has come to an end - return true - } - // increment the hint to match the next loop - iterationHint++ - return false -} - /** * Main retry loop of the wallet. * @@ -357,10 +336,6 @@ async function runTaskLoop( opts: RetryLoopOpts = {}, ): Promise { for (let iteration = 0; !ws.stopped; iteration++) { - if (thereIsAnotherPromiseWorking(iteration)) { - logger.trace(`another promise is working, we just need one`); - return; - } const pending = await getPendingOperations(ws); logger.trace(`pending operations: ${j2s(pending)}`); let numGivingLiveness = 0; diff --git a/packages/taler-wallet-webextension/src/platform/chrome.ts b/packages/taler-wallet-webextension/src/platform/chrome.ts index 900470dff..e4ebfbae5 100644 --- a/packages/taler-wallet-webextension/src/platform/chrome.ts +++ b/packages/taler-wallet-webextension/src/platform/chrome.ts @@ -51,11 +51,11 @@ function keepAlive(callback: any): void { chrome.alarms.onAlarm.addListener((a) => { logger.trace(`kee p alive alarm: ${a.name}`) - callback() + // callback() }) - } else { - callback(); + // } else { } + callback(); } @@ -331,29 +331,25 @@ function registerTalerHeaderListener(callback: (tabId: number, url: string) => v getPermissionsApi().containsHostPermissions().then(result => { //if there is a handler already, remove it if ( - "webRequest" in chrome && - "onHeadersReceived" in chrome.webRequest && prevHeaderListener && - chrome.webRequest.onHeadersReceived.hasListener(prevHeaderListener) + chrome?.webRequest?.onHeadersReceived?.hasListener(prevHeaderListener) ) { chrome.webRequest.onHeadersReceived.removeListener(prevHeaderListener); } //if the result was positive, add the headerListener if (result) { - chrome.webRequest.onHeadersReceived.addListener( + chrome?.webRequest?.onHeadersReceived?.addListener( headerListener, { urls: [""] }, ["responseHeaders"], ); } //notify the browser about this change, this operation is expensive - if ("webRequest" in chrome) { - chrome.webRequest.handlerBehaviorChanged(() => { - if (chrome.runtime.lastError) { - console.error(JSON.stringify(chrome.runtime.lastError)); - } - }); - } + chrome?.webRequest?.handlerBehaviorChanged(() => { + if (chrome.runtime.lastError) { + console.error(JSON.stringify(chrome.runtime.lastError)); + } + }); }); } -- cgit v1.2.3