diff --git a/extension/lib/wallet/types.ts b/extension/lib/wallet/types.ts
index 33de0ffb9..75233ff82 100644
--- a/extension/lib/wallet/types.ts
+++ b/extension/lib/wallet/types.ts
@@ -102,8 +102,6 @@ export interface ConfirmReserveRequest {
export interface ConfirmReserveResponse {
- backlink: string;
+ backlink?: string;
success: boolean;
- status: number;
- text: string;
}
\ No newline at end of file
diff --git a/extension/lib/wallet/wallet.ts b/extension/lib/wallet/wallet.ts
index 2a931ae33..ab4c88da7 100644
--- a/extension/lib/wallet/wallet.ts
+++ b/extension/lib/wallet/wallet.ts
@@ -456,11 +456,16 @@ export class Wallet {
return this.http.postForm(req.post_url, form)
.then((hresp) => {
+ // TODO: look at response status code and handle errors appropriately
+ let json = JSON.parse(hresp.responseText);
+ if (!json) {
+ return {
+ success: false
+ };
+ }
let resp: ConfirmReserveResponse = {
- status: hresp.status,
- text: hresp.responseText,
success: undefined,
- backlink: undefined
+ backlink: json.redirect_url,
};
let reserveRecord = {
reserve_pub: reservePub.toCrock(),
@@ -488,9 +493,7 @@ export class Wallet {
};
resp.success = true;
- // We can't show the page directly, so
- // we show some generic page from the wallet.
- resp.backlink = null;
+
return Query(this.db)
.put("reserves", reserveRecord)
.put("history", historyEntry)
diff --git a/extension/lib/wallet/wxmessaging.js b/extension/lib/wallet/wxmessaging.js
index 93ffd8bb7..f54e0b35d 100644
--- a/extension/lib/wallet/wxmessaging.js
+++ b/extension/lib/wallet/wxmessaging.js
@@ -55,12 +55,10 @@ System.register(["./wallet", "./db", "./http"], function(exports_1) {
};
wallet.confirmReserve(req)
.then(function (resp) {
- if (resp.success) {
- resp.backlink = chrome.extension.getURL("pages/reserve-success.html");
- }
sendResponse(resp);
})
.catch(function (e) {
+ sendResponse({ success: false });
console.error("exception during 'confirm-reserve'");
console.error(e.stack);
});
diff --git a/extension/lib/wallet/wxmessaging.ts b/extension/lib/wallet/wxmessaging.ts
index de9d5907c..eb9f165db 100644
--- a/extension/lib/wallet/wxmessaging.ts
+++ b/extension/lib/wallet/wxmessaging.ts
@@ -72,13 +72,10 @@ function makeHandlers(wallet) {
};
wallet.confirmReserve(req)
.then((resp) => {
- if (resp.success) {
- resp.backlink = chrome.extension.getURL(
- "pages/reserve-success.html");
- }
sendResponse(resp);
})
.catch((e) => {
+ sendResponse({success: false});
console.error("exception during 'confirm-reserve'");
console.error(e.stack);
});
diff --git a/extension/pages/confirm-create-reserve.js b/extension/pages/confirm-create-reserve.js
index 8b0fdc536..193f496a6 100644
--- a/extension/pages/confirm-create-reserve.js
+++ b/extension/pages/confirm-create-reserve.js
@@ -28,14 +28,10 @@ var ConfirmCreateReserve;
}
showAmount.textContent = s;
}
- function clone(obj) {
- // This is faster than it looks ...
- return JSON.parse(JSON.stringify(obj));
- }
document.addEventListener("DOMContentLoaded", function (e) {
updateAmount();
document.getElementById("confirm").addEventListener("click", function (e) {
- var d = clone(query);
+ var d = Object.assign({}, query);
d.mint = document.getElementById('mint-url').value;
chrome.runtime.sendMessage({ type: 'confirm-reserve', detail: d }, function (resp) {
if (resp.success === true) {
@@ -43,7 +39,7 @@ var ConfirmCreateReserve;
}
else {
document.body.innerHTML =
- "\n Oops, something went wrong.\n The bank responded with HTTP status code " + resp.status + ".\n Here is some more info:\n
" + resp.text + "
\n ";
+ "Oops, something went wrong. It looks like the bank could not\n transfer funds to the mint. Please go back to your bank's website\n to check what happened.";
}
});
});
diff --git a/extension/pages/confirm-create-reserve.tsx b/extension/pages/confirm-create-reserve.tsx
index 325f3849c..38776ee6b 100644
--- a/extension/pages/confirm-create-reserve.tsx
+++ b/extension/pages/confirm-create-reserve.tsx
@@ -32,16 +32,12 @@ namespace ConfirmCreateReserve {
showAmount.textContent = s;
}
- function clone(obj) {
- // This is faster than it looks ...
- return JSON.parse(JSON.stringify(obj));
- }
document.addEventListener("DOMContentLoaded", (e) => {
updateAmount();
document.getElementById("confirm").addEventListener("click", (e) => {
- let d = clone(query);
+ let d = Object.assign({}, query);
d.mint = (document.getElementById('mint-url') as HTMLInputElement).value;
chrome.runtime.sendMessage({type:'confirm-reserve', detail: d},
(resp) => {
@@ -49,12 +45,9 @@ namespace ConfirmCreateReserve {
document.location.href = resp.backlink;
} else {
document.body.innerHTML =
- `
- Oops, something went wrong.
- The bank responded with HTTP status code ${resp.status}.
- Here is some more info:
-
${resp.text}
- `;
+ `Oops, something went wrong. It looks like the bank could not
+ transfer funds to the mint. Please go back to your bank's website
+ to check what happened.`;
}
});
diff --git a/extension/pages/reserve-success.html b/extension/pages/reserve-success.html
deleted file mode 100644
index 8d5c6aeb4..000000000
--- a/extension/pages/reserve-success.html
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
-
- Taler Wallet: Withdraw operation initiated
-
-
-
-
-
-
-
Withdraw operation initiated
-
-
-
-
-
-
-
-
Success!
-
-
We have started the process of withdrawing electronic coins. This process may take a bit, but will happen in the background. So you can now continue to browse.
-
You can click on the Taler logo in your navigation bar to check on the progress of the withdrawal operation and your current balance.