From a30845d686fd17e28547e2bbf4058fb4e08a285f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gabriel=20Baz=C3=A1n?=
Date: Mon, 14 Nov 2016 12:53:43 -0300
Subject: [PATCH 1/4] better error handler
---
src/js/controllers/tab-home.js | 3 +++
src/js/controllers/walletDetails.js | 15 +++++++--------
src/js/services/walletService.js | 28 +---------------------------
www/views/tab-home.html | 1 +
www/views/walletDetails.html | 3 ++-
5 files changed, 14 insertions(+), 36 deletions(-)
diff --git a/src/js/controllers/tab-home.js b/src/js/controllers/tab-home.js
index bf8443081..8a98724f9 100644
--- a/src/js/controllers/tab-home.js
+++ b/src/js/controllers/tab-home.js
@@ -178,8 +178,11 @@ angular.module('copayApp.controllers').controller('tabHomeController',
lodash.each($scope.wallets, function(wallet) {
walletService.getStatus(wallet, {}, function(err, status) {
if (err) {
+ if (err === 'WALLET_NOT_REGISTERED') wallet.error = gettextCatalog.getString('Wallet not registered');
+ else wallet.error = err;
$log.error(err);
} else {
+ wallet.error = null;
wallet.status = status;
}
if (++j == i) {
diff --git a/src/js/controllers/walletDetails.js b/src/js/controllers/walletDetails.js
index f90361ec2..1aeb09fd1 100644
--- a/src/js/controllers/walletDetails.js
+++ b/src/js/controllers/walletDetails.js
@@ -46,7 +46,7 @@ angular.module('copayApp.controllers').controller('walletDetailsController', fun
var updateStatus = function(force) {
$scope.updatingStatus = true;
- $scope.updateStatusError = false;
+ $scope.updateStatusError = null;
$scope.walletNotRegistered = false;
walletService.getStatus($scope.wallet, {
@@ -57,18 +57,16 @@ angular.module('copayApp.controllers').controller('walletDetailsController', fun
if (err === 'WALLET_NOT_REGISTERED') {
$scope.walletNotRegistered = true;
} else {
- $scope.updateStatusError = true;
+ $scope.updateStatusError = err;
}
$scope.status = null;
- return;
+ } else {
+ setPendingTxps(status.pendingTxps);
+ $scope.status = status;
}
-
- setPendingTxps(status.pendingTxps);
-
- $scope.status = status;
$timeout(function() {
$scope.$apply();
- }, 1);
+ });
});
};
@@ -111,6 +109,7 @@ angular.module('copayApp.controllers').controller('walletDetailsController', fun
if (err) return;
$timeout(function() {
walletService.startScan($scope.wallet, function() {
+ $scope.updateAll();
$scope.$apply();
});
});
diff --git a/src/js/services/walletService.js b/src/js/services/walletService.js
index a2dea86dc..5acd3fbe6 100644
--- a/src/js/services/walletService.js
+++ b/src/js/services/walletService.js
@@ -67,32 +67,6 @@ angular.module('copayApp.services').factory('walletService', function($log, $tim
});
};
- // TODO
- // This handles errors from BWS/index which normally
- // trigger from async events (like updates).
- // Debounce function avoids multiple popups
- var _handleError = function(err) {
- $log.warn('wallet ERROR: ', err);
-
- $log.warn('TODO');
- return; // TODO!!!
- if (err instanceof errors.NOT_AUTHORIZED) {
-
- console.log('[walletService.js.93] TODO NOT AUTH'); //TODO
- // TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO
- wallet.notAuthorized = true;
- $state.go('tabs.home');
- } else if (err instanceof errors.NOT_FOUND) {
- popupService.showAlert(gettextCatalog.getString('Error'), gettextCatalog.getString('Could not access Wallet Service: Not found'));
- } else {
- var msg = ""
- $rootScope.$emit('Local/ClientError', (err.error ? err.error : err));
- popupService.showAlert(gettextCatalog.getString('Error'), bwcError.msg(err, gettextCatalog.getString('Error at Wallet Service')));
- }
- };
- root.handleError = lodash.debounce(_handleError, 1000);
-
-
root.invalidateCache = function(wallet) {
if (wallet.cachedStatus)
wallet.cachedStatus.isValid = false;
@@ -220,7 +194,7 @@ angular.module('copayApp.services').factory('walletService', function($log, $tim
cache.totalBalanceStr = txFormatService.formatAmount(cache.totalBalanceSat) + ' ' + cache.unitName;
cache.lockedBalanceStr = txFormatService.formatAmount(cache.lockedBalanceSat) + ' ' + cache.unitName;
cache.availableBalanceStr = txFormatService.formatAmount(cache.availableBalanceSat) + ' ' + cache.unitName;
- cache.pendingBalanceStr = txFormatService.formatAmount(cache.totalBalanceSat + (cache.pendingAmount === null? 0 : cache.pendingAmount)) + ' ' + cache.unitName;
+ cache.pendingBalanceStr = txFormatService.formatAmount(cache.totalBalanceSat + (cache.pendingAmount === null ? 0 : cache.pendingAmount)) + ' ' + cache.unitName;
if (cache.pendingAmount !== null && cache.pendingAmount !== 0) {
cache.pendingAmountStr = txFormatService.formatAmount(cache.pendingAmount) + ' ' + cache.unitName;
diff --git a/www/views/tab-home.html b/www/views/tab-home.html
index 73c5a6834..2585f0604 100644
--- a/www/views/tab-home.html
+++ b/www/views/tab-home.html
@@ -87,6 +87,7 @@
{{wallet.m}}-of-{{wallet.n}}
+ {{wallet.error}}
diff --git a/www/views/walletDetails.html b/www/views/walletDetails.html
index d9ee9e4ae..eda297003 100644
--- a/www/views/walletDetails.html
+++ b/www/views/walletDetails.html
@@ -22,7 +22,8 @@
From d07ca68916309364b6b55865451604429ad1f762 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gabriel=20Baz=C3=A1n?=
Date: Mon, 14 Nov 2016 14:17:10 -0300
Subject: [PATCH 2/4] fixes
---
src/js/controllers/tab-home.js | 2 +-
www/views/tab-home.html | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/js/controllers/tab-home.js b/src/js/controllers/tab-home.js
index 8a98724f9..ea4179e3b 100644
--- a/src/js/controllers/tab-home.js
+++ b/src/js/controllers/tab-home.js
@@ -179,7 +179,7 @@ angular.module('copayApp.controllers').controller('tabHomeController',
walletService.getStatus(wallet, {}, function(err, status) {
if (err) {
if (err === 'WALLET_NOT_REGISTERED') wallet.error = gettextCatalog.getString('Wallet not registered');
- else wallet.error = err;
+ else wallet.error = gettextCatalog.getString('Could not update');;
$log.error(err);
} else {
wallet.error = null;
diff --git a/www/views/tab-home.html b/www/views/tab-home.html
index 2585f0604..c79dcf4c1 100644
--- a/www/views/tab-home.html
+++ b/www/views/tab-home.html
@@ -87,7 +87,7 @@
{{wallet.m}}-of-{{wallet.n}}
- {{wallet.error}}
+ {{wallet.error}}
From d1797ec4bb809a647e59c0bab8a808b035470064 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gabriel=20Baz=C3=A1n?=
Date: Mon, 14 Nov 2016 17:19:10 -0300
Subject: [PATCH 3/4] delete unused variables
---
www/views/walletDetails.html | 36 ++++++------------------------------
1 file changed, 6 insertions(+), 30 deletions(-)
diff --git a/www/views/walletDetails.html b/www/views/walletDetails.html
index eda297003..99e90a82d 100644
--- a/www/views/walletDetails.html
+++ b/www/views/walletDetails.html
@@ -19,7 +19,7 @@
-
+
{{updateStatusError}}
@@ -31,13 +31,7 @@
Recreate
-
- Scan status finished with error
-
Tap to retry
-
-
-
-
+
{{status.totalBalanceStr}}
{{status.totalBalanceAlternative}} {{status.alternativeIsoCode}}
@@ -46,7 +40,7 @@
-
+
[Balance Hidden]
Tap and hold to show
@@ -65,7 +59,7 @@
-
+
-
-
-
-
- WARNING: Wallet not registered
-
-
-
- This wallet is not registered at the given Bitcore Wallet Service (BWS). You can recreate it from the local information.
-
-
-
- Recreate
-
-
-
-
-
Payment Proposals
@@ -111,7 +86,7 @@
+ ng-show="!txHistory[0] && !updatingTxHistory && !txHistoryError && !updateStatusError" translate>
No transactions yet
@@ -179,5 +154,6 @@
on-infinite="showMore()"
distance="1%">
+
From cbcd01e4b806770255cd0bd3278bdace34a8ddce Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gabriel=20Baz=C3=A1n?=
Date: Mon, 14 Nov 2016 17:31:36 -0300
Subject: [PATCH 4/4] fixes
---
www/views/tab-home.html | 2 +-
www/views/walletDetails.html | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/www/views/tab-home.html b/www/views/tab-home.html
index c79dcf4c1..82aca6db6 100644
--- a/www/views/tab-home.html
+++ b/www/views/tab-home.html
@@ -87,7 +87,7 @@
{{wallet.m}}-of-{{wallet.n}}
- {{wallet.error}}
+ {{wallet.error}}
diff --git a/www/views/walletDetails.html b/www/views/walletDetails.html
index 99e90a82d..1e832e068 100644
--- a/www/views/walletDetails.html
+++ b/www/views/walletDetails.html
@@ -22,7 +22,7 @@
-
{{updateStatusError}}
+
{{updateStatusError}}
Tap to retry