gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-wallet-core] 05/06: throw error after 5 seconds if wallet-core di


From: gnunet
Subject: [taler-wallet-core] 05/06: throw error after 5 seconds if wallet-core didn't reply to a command
Date: Tue, 17 Jan 2023 20:01:42 +0100

This is an automated email from the git hooks/post-receive script.

sebasjm pushed a commit to branch master
in repository wallet-core.

commit 252382a9375ea05f62389e33f111c3fa008d8fff
Author: Sebastian <sebasjm@gmail.com>
AuthorDate: Tue Jan 17 15:59:55 2023 -0300

    throw error after 5 seconds if wallet-core didn't reply to a command
---
 .../src/platform/chrome.ts                         | 54 +++++++++++++---------
 1 file changed, 31 insertions(+), 23 deletions(-)

diff --git a/packages/taler-wallet-webextension/src/platform/chrome.ts 
b/packages/taler-wallet-webextension/src/platform/chrome.ts
index fc51a65fb..23730c2d3 100644
--- a/packages/taler-wallet-webextension/src/platform/chrome.ts
+++ b/packages/taler-wallet-webextension/src/platform/chrome.ts
@@ -14,8 +14,13 @@
  GNU Taler; see the file COPYING.  If not, see <http://www.gnu.org/licenses/>
  */
 
-import { classifyTalerUri, Logger, TalerUriType } from "@gnu-taler/taler-util";
-import { WalletOperations } from "@gnu-taler/taler-wallet-core";
+import {
+  classifyTalerUri,
+  Logger,
+  TalerErrorCode,
+  TalerUriType,
+} from "@gnu-taler/taler-util";
+import { TalerError, WalletOperations } from "@gnu-taler/taler-wallet-core";
 import { BackgroundOperations } from "../wxApi.js";
 import {
   BackgroundPlatformAPI,
@@ -321,12 +326,15 @@ async function sendMessageToBackground<
   return new Promise<any>((resolve, reject) => {
     logger.trace("send operation to the wallet background", message);
     let timedout = false;
-    setTimeout(() => {
+    const timerId = setTimeout(() => {
       timedout = true;
-      reject("timedout");
-    }, 2000);
+      throw TalerError.fromDetail(TalerErrorCode.GENERIC_TIMEOUT, {});
+    }, 5 * 1000); //five seconds
     chrome.runtime.sendMessage(messageWithId, (backgroundResponse) => {
-      if (timedout) return false;
+      if (timedout) {
+        return false; //already rejected
+      }
+      clearTimeout(timerId);
       if (chrome.runtime.lastError) {
         reject(chrome.runtime.lastError.message);
       } else {
@@ -576,26 +584,26 @@ function setAlertedIcon(): void {
 
 interface OffscreenCanvasRenderingContext2D
   extends CanvasState,
-    CanvasTransform,
-    CanvasCompositing,
-    CanvasImageSmoothing,
-    CanvasFillStrokeStyles,
-    CanvasShadowStyles,
-    CanvasFilters,
-    CanvasRect,
-    CanvasDrawPath,
-    CanvasUserInterface,
-    CanvasText,
-    CanvasDrawImage,
-    CanvasImageData,
-    CanvasPathDrawingStyles,
-    CanvasTextDrawingStyles,
-    CanvasPath {
+  CanvasTransform,
+  CanvasCompositing,
+  CanvasImageSmoothing,
+  CanvasFillStrokeStyles,
+  CanvasShadowStyles,
+  CanvasFilters,
+  CanvasRect,
+  CanvasDrawPath,
+  CanvasUserInterface,
+  CanvasText,
+  CanvasDrawImage,
+  CanvasImageData,
+  CanvasPathDrawingStyles,
+  CanvasTextDrawingStyles,
+  CanvasPath {
   readonly canvas: OffscreenCanvas;
 }
 declare const OffscreenCanvasRenderingContext2D: {
   prototype: OffscreenCanvasRenderingContext2D;
-  new (): OffscreenCanvasRenderingContext2D;
+  new(): OffscreenCanvasRenderingContext2D;
 };
 
 interface OffscreenCanvas extends EventTarget {
@@ -608,7 +616,7 @@ interface OffscreenCanvas extends EventTarget {
 }
 declare const OffscreenCanvas: {
   prototype: OffscreenCanvas;
-  new (width: number, height: number): OffscreenCanvas;
+  new(width: number, height: number): OffscreenCanvas;
 };
 
 function createCanvas(size: number): OffscreenCanvas {

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]