From f6573aed847c25a759695fd13a35b64f893b38cb Mon Sep 17 00:00:00 2001 From: pbca26 Date: Sun, 3 Dec 2017 20:56:10 +0300 Subject: [PATCH] suppress rpc failures during native rescan --- react/src/actions/actions/nativeDashboardUpdate.js | 3 +++ react/src/actions/actions/nativeSyncInfo.js | 11 ++++------- .../src/components/dashboard/coinTile/coinTileItem.js | 9 +++------ .../dashboard/coinTile/coinTileItem.render.js | 1 + 4 files changed, 11 insertions(+), 13 deletions(-) diff --git a/react/src/actions/actions/nativeDashboardUpdate.js b/react/src/actions/actions/nativeDashboardUpdate.js index b9f269a..171554b 100644 --- a/react/src/actions/actions/nativeDashboardUpdate.js +++ b/react/src/actions/actions/nativeDashboardUpdate.js @@ -57,6 +57,7 @@ export function getDashboardUpdateState(json, coin, fakeResponse) { balance: null, addresses: null, coin: coin, + getinfoFetchFailures: 0, rescanInProgress: true, }; } else { @@ -83,6 +84,7 @@ export function getDashboardUpdateState(json, coin, fakeResponse) { }, addresses: json.result.addresses, coin: coin, + getinfoFetchFailures: 0, rescanInProgress: false, }; } else { @@ -109,6 +111,7 @@ export function getDashboardUpdateState(json, coin, fakeResponse) { balance: json.result.z_gettotalbalance.result, addresses: json.result.addresses, coin: coin, + getinfoFetchFailures: 0, rescanInProgress: false, }; } diff --git a/react/src/actions/actions/nativeSyncInfo.js b/react/src/actions/actions/nativeSyncInfo.js index 94af944..e0bc91d 100644 --- a/react/src/actions/actions/nativeSyncInfo.js +++ b/react/src/actions/actions/nativeSyncInfo.js @@ -8,6 +8,7 @@ import { } from '../actionCreators'; import Config from '../../config'; import { translate } from '../../translate/translate'; +import mainWindow from '../../util/mainWindow'; export function nativeGetinfoFailureState() { return { @@ -48,11 +49,11 @@ export function getSyncInfoNativeKMD(skipDebug, json, skipRemote) { _json['remoteKMDNode'] = json.info; dispatch(getSyncInfoNativeState(_json)); }) - .then(function() { + .then(() => { if (!skipDebug) { dispatch(getDebugLog('komodo', 1)); } - }) + }); } } } @@ -147,11 +148,7 @@ export function getSyncInfoNative(coin, skipDebug, skipRemote, suppressErrors) { } else { if (!json || json.indexOf('"code":-777') > -1) { - let _kmdMainPassiveMode; - - try { - _kmdMainPassiveMode = window.require('electron').remote.getCurrentWindow().kmdMainPassiveMode; - } catch (e) {} + const _kmdMainPassiveMode = mainWindow.kmdMainPassiveMode; if (_kmdMainPassiveMode) { dispatch( diff --git a/react/src/components/dashboard/coinTile/coinTileItem.js b/react/src/components/dashboard/coinTile/coinTileItem.js index c99b8fe..aef76cc 100644 --- a/react/src/components/dashboard/coinTile/coinTileItem.js +++ b/react/src/components/dashboard/coinTile/coinTileItem.js @@ -29,12 +29,13 @@ import { } from '../../../actions/actionCreators'; import Store from '../../../store'; import Config from '../../../config'; +import mainWindow from '../../../util/mainWindow'; import CoinTileItemRender from './coinTileItem.render'; const SPV_DASHBOARD_UPDATE_TIMEOUT = 60000; const ACTIVE_HANDLE_TIMEOUT_COIND_NATIVE = 15000; -const COIND_DOWN_MODAL_FETCH_FAILURES_THRESHOLD = window.require('electron').remote.getCurrentWindow().appConfig.failedRPCAttemptsThreshold || 10; +const COIND_DOWN_MODAL_FETCH_FAILURES_THRESHOLD = mainWindow.appConfig.failedRPCAttemptsThreshold || 10; class CoinTileItem extends React.Component { constructor() { @@ -133,11 +134,7 @@ class CoinTileItem extends React.Component { this.autoSetActiveCoin(); } - let appConfig; - - try { - appConfig = window.require('electron').remote.getCurrentWindow().appConfig; - } catch (e) {} + const appConfig = mainWindow.appConfig; this.setState({ appConfig, diff --git a/react/src/components/dashboard/coinTile/coinTileItem.render.js b/react/src/components/dashboard/coinTile/coinTileItem.render.js index 333e5e1..afcf63b 100644 --- a/react/src/components/dashboard/coinTile/coinTileItem.render.js +++ b/react/src/components/dashboard/coinTile/coinTileItem.render.js @@ -46,6 +46,7 @@ const CoinTileItemRender = function() { className="icon fa-info-circle icon-spv-connection-warning"> } { this.renderCoinConError(item) && + !this.props.ActiveCoin.rescanInProgress &&