From 1d70d935b8db299f47dc65d6667b9cdb0b2dbca8 Mon Sep 17 00:00:00 2001 From: "nicolas.dorier" Date: Thu, 5 Dec 2019 22:03:17 +0900 Subject: [PATCH] Provide better details for unknown error (#1208) --- BTCPayServer/Controllers/VaultController.cs | 1 + BTCPayServer/wwwroot/js/vaultbridge.ui.js | 11 ++++++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/BTCPayServer/Controllers/VaultController.cs b/BTCPayServer/Controllers/VaultController.cs index 11fe25c82..a07759d7a 100644 --- a/BTCPayServer/Controllers/VaultController.cs +++ b/BTCPayServer/Controllers/VaultController.cs @@ -318,6 +318,7 @@ namespace BTCPayServer.Controllers { JObject obj = new JObject(); obj.Add("error", "unknown-error"); + obj.Add("message", ex.Message); obj.Add("details", ex.ToString()); try { diff --git a/BTCPayServer/wwwroot/js/vaultbridge.ui.js b/BTCPayServer/wwwroot/js/vaultbridge.ui.js index 75f758d2b..964a91e3c 100644 --- a/BTCPayServer/wwwroot/js/vaultbridge.ui.js +++ b/BTCPayServer/wwwroot/js/vaultbridge.ui.js @@ -39,7 +39,7 @@ var vaultui = (function () { fetchingXpubs: new VaultFeedback("?", "Fetching public keys...", "vault-feedback3", "fetching-xpubs"), askXpubs: new VaultFeedback("?", "Select your address type and account", "vault-feedback3", "fetching-xpubs"), fetchedXpubs: new VaultFeedback("ok", "Public keys successfully fetched.", "vault-feedback3", "xpubs-fetched"), - unexpectedError: new VaultFeedback("failed", "An unexpected error happened.", "vault-feedback3", "unknown-error"), + unexpectedError: new VaultFeedback("failed", "An unexpected error happened. ({{0}})", "vault-feedback3", "unknown-error"), invalidNetwork: new VaultFeedback("failed", "The device is targetting a different chain.", "vault-feedback3", "invalid-network"), needPin: new VaultFeedback("?", "Enter the pin.", "vault-feedback3", "need-pin"), needPinOnDevice: new VaultFeedback("?", "Please, enter the pin on the device.", "vault-feedback3", "need-pin-on-device"), @@ -96,13 +96,18 @@ var vaultui = (function () { if (json.hasOwnProperty("error")) { for (var key in VaultFeedbacks) { if (VaultFeedbacks.hasOwnProperty(key) && VaultFeedbacks[key].id == json.error) { - show(VaultFeedbacks[key]); + if (VaultFeedbacks.unexpectedError === VaultFeedbacks[key]) { + show(VaultFeedbacks.unexpectedError.replace("{{0}}", json.message)); + } + else { + show(VaultFeedbacks[key]); + } if (json.hasOwnProperty("details")) console.warn(json.details); return; } } - show(VaultFeedbacks.unexpectedError); + show(VaultFeedbacks.unexpectedError.replace("{{0}}", json.message)); if (json.hasOwnProperty("details")) console.warn(json.details); }