gnunet-svn
[Top][All Lists]
Advanced

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

[taler-merchant] branch master updated: JS: make sure we retry only once


From: gnunet
Subject: [taler-merchant] branch master updated: JS: make sure we retry only once per failed attempt
Date: Mon, 17 May 2021 12:48:02 +0200

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

dold pushed a commit to branch master
in repository merchant.

The following commit(s) were added to refs/heads/master by this push:
     new d972af51 JS: make sure we retry only once per failed attempt
d972af51 is described below

commit d972af515950c2df6b677f631db674757d74684a
Author: Florian Dold <florian@dold.me>
AuthorDate: Mon May 17 12:47:57 2021 +0200

    JS: make sure we retry only once per failed attempt
---
 contrib/offer_refund.en.must    | 11 +++++++++--
 contrib/offer_tip.en.must       | 11 +++++++++--
 contrib/request_payment.en.must | 19 +++++++++++++------
 3 files changed, 31 insertions(+), 10 deletions(-)

diff --git a/contrib/offer_refund.en.must b/contrib/offer_refund.en.must
index d0a6aaf3..4f8f6631 100644
--- a/contrib/offer_refund.en.must
+++ b/contrib/offer_refund.en.must
@@ -93,6 +93,13 @@ body {
   checkUrl.searchParams.set("await_refund_obtained", "yes");
   let delayMs = 500;
   function check() {
+    let retried = false;
+    function retryOnce() {
+      if (!retried) {
+        retried = true;
+        check();
+      }
+    }
     let req = new XMLHttpRequest();
     req.onreadystatechange = function () {
       if (req.readyState === XMLHttpRequest.DONE) {
@@ -106,11 +113,11 @@ body {
             console.error("could not parse response:", e);
           }
         }
-        setTimeout(check, delayMs);
+        setTimeout(retryOnce, delayMs);
       }
     };
     req.onerror = function () {
-      setTimeout(check, delayMs);
+      setTimeout(retryOnce, delayMs);
     }
     req.open("GET", checkUrl.href);
     req.send();
diff --git a/contrib/offer_tip.en.must b/contrib/offer_tip.en.must
index eba57e81..ca165b3b 100644
--- a/contrib/offer_tip.en.must
+++ b/contrib/offer_tip.en.must
@@ -92,17 +92,24 @@ body {
   let checkUrl = "{{& tip_status_url }}";
   let delayMs = 500;
   function check() {
+    let retried = false;
+    function retryOnce() {
+      if (!retried) {
+        retried = true;
+        check();
+      }
+    }
     let req = new XMLHttpRequest();
     req.onreadystatechange = function () {
       if (req.readyState === XMLHttpRequest.DONE) {
         if (req.status === 410) {
           window.location.reload(true);
         }
-        setTimeout(check, delayMs);
+        setTimeout(retryOnce, delayMs);
       }
     };
     req.onerror = function () {
-      setTimeout(check, delayMs);
+      setTimeout(retryOnce, delayMs);
     }
     req.open("GET", checkUrl);
     req.send();
diff --git a/contrib/request_payment.en.must b/contrib/request_payment.en.must
index 4223a05f..b77e8fb3 100644
--- a/contrib/request_payment.en.must
+++ b/contrib/request_payment.en.must
@@ -89,10 +89,17 @@ body {
 
 <body>
 <script>
-  let delayMs = 60000;
+  let longpollDelayMs = 60000;
   let checkUrl = new URL("{{& order_status_url }}");
-  checkUrl.searchParams.set("timeout_ms", delayMs.toString());
+  checkUrl.searchParams.set("timeout_ms", longpollDelayMs.toString());
   function check() {
+    let retried = false;
+    function retryOnce() {
+      if (!retried) {
+        retried = true;
+        check();
+      }
+    }
     let req = new XMLHttpRequest();
     req.onreadystatechange = function () {
       if (req.readyState === XMLHttpRequest.DONE) {
@@ -123,20 +130,20 @@ body {
             console.error("could not parse response:", e);
           }
         }
-        setTimeout(check, delayMs);
+        setTimeout(retryOnce, 500);
       }
     };
     req.onerror = function () {
-      setTimeout(check, 5);
+      setTimeout(retryOnce, 500);
     }
     req.ontimeout = function () {
-      setTimeout(check, 5);
+      setTimeout(retryOnce, 500);
     }
     req.timeout = delayMs;
     req.open("GET", checkUrl.href);
     req.send();
   }
-  setTimeout(check, 5);
+  setTimeout(check, 500);
 </script>
 
 <section id="main" class="content">

-- 
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]