gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] [taler-wallet-webex] branch master updated: better error ha


From: gnunet
Subject: [GNUnet-SVN] [taler-wallet-webex] branch master updated: better error handling
Date: Mon, 29 Jan 2018 18:59:52 +0100

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

dold pushed a commit to branch master
in repository wallet-webex.

The following commit(s) were added to refs/heads/master by this push:
     new 9fe6dc59 better error handling
9fe6dc59 is described below

commit 9fe6dc596573f38b13f0b15c946b8bc16013fdd9
Author: Florian Dold <address@hidden>
AuthorDate: Mon Jan 29 18:59:45 2018 +0100

    better error handling
---
 src/webex/pages/confirm-contract.tsx       |  1 -
 src/webex/pages/confirm-create-reserve.tsx | 22 +++++++++++-----------
 src/webex/wxApi.ts                         |  2 +-
 3 files changed, 12 insertions(+), 13 deletions(-)

diff --git a/src/webex/pages/confirm-contract.tsx 
b/src/webex/pages/confirm-contract.tsx
index 6089d0f8..21f05d5d 100644
--- a/src/webex/pages/confirm-contract.tsx
+++ b/src/webex/pages/confirm-contract.tsx
@@ -256,7 +256,6 @@ class ContractPrompt extends 
React.Component<ContractPromptProps, ContractPrompt
       }
       this.setState({ confirmPayError: e.detail });
       return;
-    } finally {
     }
     console.log("payResult", payResult);
     document.location.href = payResult.nextUrl;
diff --git a/src/webex/pages/confirm-create-reserve.tsx 
b/src/webex/pages/confirm-create-reserve.tsx
index 903975c6..bd21280c 100644
--- a/src/webex/pages/confirm-create-reserve.tsx
+++ b/src/webex/pages/confirm-create-reserve.tsx
@@ -42,6 +42,7 @@ import {
   getCurrency,
   getExchangeInfo,
   getReserveCreationInfo,
+  WalletApiError,
 } from "../wxApi";
 
 import {
@@ -117,7 +118,8 @@ class ManualSelection extends 
ImplicitStateComponent<ManualSelectionProps> {
           <input className="url" type="text" spellCheck={false}
                  value={this.url()}
                  key="exchange-url-input"
-                 onInput={(e) => this.onUrlChanged((e.target as 
HTMLInputElement).value)} />
+                 onInput={(e) => this.onUrlChanged((e.target as 
HTMLInputElement).value)}
+                 onChange={(e) => this.onUrlChanged((e.target as 
HTMLInputElement).value)} />
         </div>
         <div className="pure-u-1">
           <button className="pure-button button-success"
@@ -125,6 +127,7 @@ class ManualSelection extends 
ImplicitStateComponent<ManualSelectionProps> {
                   onClick={() => this.props.onSelect(this.url())}>
             {i18n.str`Select`}
           </button>
+          <span> </span>
           {this.errorMessage()}
         </div>
       </div>
@@ -149,15 +152,12 @@ class ManualSelection extends 
ImplicitStateComponent<ManualSelectionProps> {
       console.log("getExchangeInfo returned");
       this.isOkay(true);
     } catch (e) {
-      console.log("got error", e);
-      if (e.hasOwnProperty("httpStatus")) {
-        this.errorMessage(`Error: request failed with status ${e.httpStatus}`);
-      } else if (e.hasOwnProperty("errorResponse")) {
-        const resp = e.errorResponse;
-        this.errorMessage(`Error: ${resp.error} (${resp.hint})`);
-      } else {
-        this.errorMessage("invalid exchange URL");
+      if (!(e instanceof WalletApiError)) {
+        // maybe it's something more serious, don't handle here!
+        throw e;
       }
+      console.log(`got error "${e.message} "with detail`, e.detail);
+      this.errorMessage(i18n.str`Invalid exchange URL (${e.message})`);
     }
   }
 
@@ -345,7 +345,7 @@ class ExchangeSelection extends 
ImplicitStateComponent<ExchangeSelectionProps> {
           <div>
             <h2>Known Exchanges</h2>
             {exchanges.map((e) => (
-              <button className="pure-button button-success" onClick={() => 
this.select(e.baseUrl)}>
+              <button key={e.baseUrl} className="pure-button button-success" 
onClick={() => this.select(e.baseUrl)}>
               Select <strong>{e.baseUrl}</strong>
               </button>
             ))}
@@ -503,7 +503,7 @@ async function main() {
     // TODO: provide more context information, maybe factor it out into a
     // TODO:generic error reporting function or component.
     document.body.innerText = i18n.str`Fatal error: "${e.message}".`;
-    console.error(`got error "${e.message}"`, e);
+    console.error("got error", e);
   }
 }
 
diff --git a/src/webex/wxApi.ts b/src/webex/wxApi.ts
index ee1ca23b..32788d37 100644
--- a/src/webex/wxApi.ts
+++ b/src/webex/wxApi.ts
@@ -86,7 +86,7 @@ async function callBackend<T extends MessageType>(
   return new Promise<MessageMap[T]["response"]>((resolve, reject) => {
     chrome.runtime.sendMessage({ type, detail }, (resp) => {
       if (typeof resp === "object" && resp && resp.error) {
-        const e = new WalletApiError(resp.error.message, resp);
+        const e = new WalletApiError(resp.message, resp);
         reject(e);
       } else {
         resolve(resp);

-- 
To stop receiving notification emails like this one, please contact
address@hidden



reply via email to

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