From 6977f2be904e38b400276e9c00c2f3a4a1b8b729 Mon Sep 17 00:00:00 2001 From: Tom Kirkpatrick Date: Fri, 2 Nov 2018 12:51:49 +0100 Subject: [PATCH] feat(lnd): log and display queryroute errors --- app/lib/lnd/methods/index.js | 5 ++++- app/reducers/ipc.js | 8 +++++++- app/reducers/network.js | 13 +++++++++++++ 3 files changed, 24 insertions(+), 2 deletions(-) diff --git a/app/lib/lnd/methods/index.js b/app/lib/lnd/methods/index.js index 74be7be9..62fddb09 100644 --- a/app/lib/lnd/methods/index.js +++ b/app/lib/lnd/methods/index.js @@ -41,7 +41,10 @@ export default function(lnd, log, event, msg, data) { networkController .queryRoutes(lnd, data) .then(routes => event.sender.send('receiveQueryRoutes', routes)) - .catch(error => log.error('queryRoutes:', error)) + .catch(error => { + log.error('queryRoutes:', error) + event.sender.send('queryRoutesFailed', { error: error.toString() }) + }) break case 'getInvoiceAndQueryRoutes': // Data looks like { pubkey: String, amount: Number } diff --git a/app/reducers/ipc.js b/app/reducers/ipc.js index 2611c478..e341da37 100644 --- a/app/reducers/ipc.js +++ b/app/reducers/ipc.js @@ -44,7 +44,12 @@ import { newTransaction } from './transaction' -import { receiveDescribeNetwork, receiveQueryRoutes, receiveInvoiceAndQueryRoutes } from './network' +import { + receiveDescribeNetwork, + receiveQueryRoutes, + receiveInvoiceAndQueryRoutes, + queryRoutesFailed +} from './network' import { startOnboarding, @@ -115,6 +120,7 @@ const ipc = createIpc({ receiveDescribeNetwork, receiveQueryRoutes, receiveInvoiceAndQueryRoutes, + queryRoutesFailed, startOnboarding, startLndError, diff --git a/app/reducers/network.js b/app/reducers/network.js index f61e0681..68dfe6dd 100644 --- a/app/reducers/network.js +++ b/app/reducers/network.js @@ -1,6 +1,7 @@ import { createSelector } from 'reselect' import { ipcRenderer } from 'electron' import { bech32 } from 'lib/utils' +import { setError } from './error' // ------------------------------------ // Constants @@ -10,6 +11,7 @@ export const RECEIVE_DESCRIBE_NETWORK = 'RECEIVE_DESCRIBE_NETWORK' export const GET_QUERY_ROUTES = 'GET_QUERY_ROUTES' export const RECEIVE_QUERY_ROUTES = 'RECEIVE_QUERY_ROUTES' +export const RECEIVE_QUERY_ROUTES_FAILED = 'RECEIVE_QUERY_ROUTES_FAILED' export const SET_CURRENT_ROUTE = 'SET_CURRENT_ROUTE' @@ -142,6 +144,11 @@ export const queryRoutes = (pubkey, amount) => dispatch => { ipcRenderer.send('lnd', { msg: 'queryRoutes', data: { pubkey, amount } }) } +export const queryRoutesFailed = (event, { error }) => dispatch => { + dispatch({ type: RECEIVE_QUERY_ROUTES_FAILED }) + dispatch(setError(error)) +} + export const receiveQueryRoutes = (event, { routes }) => dispatch => dispatch({ type: RECEIVE_QUERY_ROUTES, routes }) @@ -176,6 +183,11 @@ const ACTION_HANDLERS = { networkLoading: false, selectedNode: { pubkey: state.selectedNode.pubkey, routes, currentRoute: routes[0] } }), + [RECEIVE_QUERY_ROUTES_FAILED]: state => ({ + ...state, + networkLoading: false, + selectedNode: {} + }), [SET_CURRENT_ROUTE]: (state, { route }) => ({ ...state, currentRoute: route }), @@ -294,6 +306,7 @@ const initialState = { nodes: [], edges: [], selectedChannel: {}, + selectedNode: {}, currentTab: 1,