From a2c5127b3073bf895bf9f2985ac658576725ac1d Mon Sep 17 00:00:00 2001 From: Javier Date: Fri, 22 Jan 2016 13:08:43 -0300 Subject: [PATCH 1/9] WIP refactor errors --- src/js/services/bwsError.js | 104 +++++++++++++++++++++--------------- 1 file changed, 60 insertions(+), 44 deletions(-) diff --git a/src/js/services/bwsError.js b/src/js/services/bwsError.js index 0675c517d..137289830 100644 --- a/src/js/services/bwsError.js +++ b/src/js/services/bwsError.js @@ -4,52 +4,69 @@ angular.module('copayApp.services') var root = {}; root.msg = function(err, prefix) { + console.log('ERROR: '); + console.log(err); var body = ''; prefix = prefix || ''; if (err && err.code) { switch (err.code) { - case 'CONNECTION_ERROR': - body = gettextCatalog.getString('Network connection error'); + case 'INVALID_BACKUP': + body = err.message; break; - case 'NOT_FOUND': - body = gettextCatalog.getString('Wallet service not found'); + case 'WALLET_DOES_NOT_EXIST': + body = err.message; break; - case 'BAD_SIGNATURES': - body = gettextCatalog.getString('Signatures rejected by server'); + case 'MISSING_PRIVATE_KEY': + body = err.message; break; - case 'COPAYER_DATA_MISMATCH': - body = gettextCatalog.getString('Copayer data mismatch'); + case 'ENCRYPTED_PRIVATE_KEY': + body = err.message; break; - case 'COPAYER_IN_WALLET': - body = gettextCatalog.getString('Copayer already in this wallet'); + case 'SERVER_COMPROMISED': + body = err.message; break; - case 'COPAYER_REGISTERED': - body = gettextCatalog.getString('Key already associated with an existing wallet'); - break; - case 'COPAYER_VOTED': - body = gettextCatalog.getString('Copayer already voted on this spend proposal'); - break; - case 'DUST_AMOUNT': - body = gettextCatalog.getString('Amount below dust threshold'); - break; - case 'INCORRECT_ADDRESS_NETWORK': - body = gettextCatalog.getString('Incorrect address network'); + case 'COULD_NOT_BUILD_TRANSACTION': + body = err.message; break; case 'INSUFFICIENT_FUNDS': - body = gettextCatalog.getString('Insufficient funds'); + body = err.message; + break; + case 'CONNECTION_ERROR': + body = err.message; + break; + case 'NOT_FOUND': + body = err.message; + break; + case 'ECONNRESET_ERROR': + body = err.message; + break; + case 'BAD_RESPONSE_CODE': + body = err.message; + break; + case 'WALLET_ALREADY_EXISTS': + body = err.message; + break; + case 'COPAYER_IN_WALLET': + body = err.message; + break; + case 'WALLET_FULL': + body = err.message; + break; + case 'WALLET_NOT_FOUND': + body = err.message; break; case 'INSUFFICIENT_FUNDS_FOR_FEE': - body = gettextCatalog.getString('Insufficient funds for fee'); - break; - case 'INVALID_ADDRESS': - body = gettextCatalog.getString('Invalid address'); + body = err.message; break; case 'LOCKED_FUNDS': - body = gettextCatalog.getString('Funds are locked by pending spend proposals'); + body = err.message; + break; + case 'COPAYER_VOTED': + body = err.message; break; case 'NOT_AUTHORIZED': - body = gettextCatalog.getString('Not authorized'); + body = err.message; break; case 'TX_ALREADY_BROADCASTED': body = gettextCatalog.getString('Transaction already broadcasted'); @@ -72,26 +89,23 @@ angular.module('copayApp.services') case 'UPGRADE_NEEDED': body = gettextCatalog.getString('Please upgrade Copay to perform this action'); break; - case 'WALLET_ALREADY_EXISTS': - body = gettextCatalog.getString('Wallet already exists'); + case 'BAD_SIGNATURES': + body = gettextCatalog.getString('Signatures rejected by server'); break; - case 'WALLET_FULL': - body = gettextCatalog.getString('Wallet is full'); + case 'COPAYER_DATA_MISMATCH': + body = gettextCatalog.getString('Copayer data mismatch'); break; - case 'WALLET_NOT_COMPLETE': - body = gettextCatalog.getString('Wallet is not complete'); + case 'DUST_AMOUNT': + body = gettextCatalog.getString('Amount below dust threshold'); break; - case 'WALLET_NOT_FOUND': - body = gettextCatalog.getString('Wallet not found'); + case 'INCORRECT_ADDRESS_NETWORK': + body = gettextCatalog.getString('Incorrect address network'); break; - case 'SERVER_COMPROMISED': - body = gettextCatalog.getString('Server response could not be verified'); + case 'COPAYER_REGISTERED': + body = gettextCatalog.getString('Key already associated with an existing wallet'); break; - case 'WALLET_DOES_NOT_EXIST': - body = gettextCatalog.getString('Wallet not registered at the wallet service. Recreate it from "Create Wallet" using "Advanced Options" to set your seed'); - break; - case 'INVALID_BACKUP': - body = gettextCatalog.getString('Wallet seed is invalid'); + case 'INVALID_ADDRESS': + body = gettextCatalog.getString('Invalid address'); break; case 'MAIN_ADDRESS_GAP_REACHED': body = gettextCatalog.getString('Empty addresses limit reached. New addresses cannot be generated.'); @@ -99,7 +113,9 @@ angular.module('copayApp.services') case 'WALLET_LOCKED': body = gettextCatalog.getString('Wallet is locked'); break; - + case 'WALLET_NOT_COMPLETE': + body = gettextCatalog.getString('Wallet is not complete'); + break; case 'ERROR': body = (err.message || err.error); break; From 39dfa8df0ad6f0364be953dc871cdc96abd53af4 Mon Sep 17 00:00:00 2001 From: Javier Date: Fri, 22 Jan 2016 16:51:46 -0300 Subject: [PATCH 2/9] add error in bwc module provider --- angular-bitcore-wallet-client/index.js | 4 +++ package.json | 2 +- src/js/services/bwsError.js | 49 ++++++++++++++------------ 3 files changed, 32 insertions(+), 23 deletions(-) diff --git a/angular-bitcore-wallet-client/index.js b/angular-bitcore-wallet-client/index.js index c45b24438..916898fec 100644 --- a/angular-bitcore-wallet-client/index.js +++ b/angular-bitcore-wallet-client/index.js @@ -35,6 +35,10 @@ bwcModule.provider("bwcService", function() { return Client.Bitcore; }; + service.getErrors = function() { + return Client.Errors; + }; + service.getSJCL = function() { return Client.sjcl; }; diff --git a/package.json b/package.json index 4772c6c31..bc60bfd79 100644 --- a/package.json +++ b/package.json @@ -40,7 +40,7 @@ "url": "https://github.com/bitpay/copay/issues" }, "dependencies": { - "bitcore-wallet-client": "1.3.0", + "bitcore-wallet-client": "1.5.0", "express": "^4.11.2", "fs": "0.0.2", "grunt": "^0.4.5", diff --git a/src/js/services/bwsError.js b/src/js/services/bwsError.js index 137289830..9a5c61b01 100644 --- a/src/js/services/bwsError.js +++ b/src/js/services/bwsError.js @@ -1,72 +1,77 @@ 'use strict'; angular.module('copayApp.services') - .factory('bwsError', function bwcErrorService($log, gettextCatalog) { + .factory('bwsError', function bwcErrorService($log, gettextCatalog, bwcService) { var root = {}; + var clientError = bwcService; + console.log('Client Error: ', clientError); root.msg = function(err, prefix) { - console.log('ERROR: '); + console.log(err); + if (err instanceof error.NOT_AUTHORIZED) + console.log('true'); + var body = ''; prefix = prefix || ''; - if (err && err.code) { + if (err) { switch (err.code) { case 'INVALID_BACKUP': - body = err.message; + body = gettextCatalog.getString(err.message); break; case 'WALLET_DOES_NOT_EXIST': - body = err.message; + body = gettextCatalog.getString(err.message); break; case 'MISSING_PRIVATE_KEY': - body = err.message; + body = gettextCatalog.getString(err.message); break; case 'ENCRYPTED_PRIVATE_KEY': - body = err.message; + body = gettextCatalog.getString(err.message); break; case 'SERVER_COMPROMISED': - body = err.message; + body = gettextCatalog.getString(err.message); break; case 'COULD_NOT_BUILD_TRANSACTION': - body = err.message; + body = gettextCatalog.getString(err.message); break; case 'INSUFFICIENT_FUNDS': - body = err.message; + body = gettextCatalog.getString(err.message); break; case 'CONNECTION_ERROR': - body = err.message; + body = gettextCatalog.getString(err.message); break; case 'NOT_FOUND': - body = err.message; + body = gettextCatalog.getString(err.message); break; case 'ECONNRESET_ERROR': - body = err.message; + body = gettextCatalog.getString(err.message); break; case 'BAD_RESPONSE_CODE': - body = err.message; + body = gettextCatalog.getString(err.message); break; case 'WALLET_ALREADY_EXISTS': - body = err.message; + body = gettextCatalog.getString(err.message); break; case 'COPAYER_IN_WALLET': - body = err.message; + body = gettextCatalog.getString(err.message); break; case 'WALLET_FULL': - body = err.message; + body = gettextCatalog.getString(err.message); break; case 'WALLET_NOT_FOUND': - body = err.message; + body = gettextCatalog.getString(err.message); break; case 'INSUFFICIENT_FUNDS_FOR_FEE': - body = err.message; + body = gettextCatalog.getString(err.message); break; case 'LOCKED_FUNDS': - body = err.message; + body = gettextCatalog.getString(err.message); break; case 'COPAYER_VOTED': - body = err.message; + body = gettextCatalog.getString(err.message); break; case 'NOT_AUTHORIZED': - body = err.message; + body = gettextCatalog.getString(err.message); break; case 'TX_ALREADY_BROADCASTED': body = gettextCatalog.getString('Transaction already broadcasted'); From 81dcbbc5b458100ec148bf1b369923c12bf3216c Mon Sep 17 00:00:00 2001 From: Javier Date: Fri, 22 Jan 2016 17:42:49 -0300 Subject: [PATCH 3/9] refactor error cases --- angular-bitcore-wallet-client/index.js | 2 +- src/js/services/bwsError.js | 24 ++++++++++++++---------- 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/angular-bitcore-wallet-client/index.js b/angular-bitcore-wallet-client/index.js index 916898fec..0bda601ad 100644 --- a/angular-bitcore-wallet-client/index.js +++ b/angular-bitcore-wallet-client/index.js @@ -36,7 +36,7 @@ bwcModule.provider("bwcService", function() { }; service.getErrors = function() { - return Client.Errors; + return Client.errors; }; service.getSJCL = function() { diff --git a/src/js/services/bwsError.js b/src/js/services/bwsError.js index 9a5c61b01..83b3a5ba6 100644 --- a/src/js/services/bwsError.js +++ b/src/js/services/bwsError.js @@ -1,21 +1,25 @@ 'use strict'; angular.module('copayApp.services') - .factory('bwsError', function bwcErrorService($log, gettextCatalog, bwcService) { + .factory('bwsError', function bwcErrorService($log, gettextCatalog) { var root = {}; - var clientError = bwcService; - console.log('Client Error: ', clientError); root.msg = function(err, prefix) { + var name; - console.log(err); - if (err instanceof error.NOT_AUTHORIZED) - console.log('true'); + if (err.name == 'Error') + name = err.message + else + + if (err.name) + name = err.name.replace(/^bwc.Error/g, ''); + else + name = err; var body = ''; prefix = prefix || ''; - if (err) { - switch (err.code) { + if (err && name) { + switch (name) { case 'INVALID_BACKUP': body = gettextCatalog.getString(err.message); break; @@ -126,8 +130,8 @@ angular.module('copayApp.services') break; default: - $log.warn('Unknown error type:', err.code); - body = err.message || err.code; + $log.warn('Unknown error type:', name); + body = err.message || name; break; } } else if (err.message) { From 3e1c91f19d4e501f4bc8d57fed55a758638a28ad Mon Sep 17 00:00:00 2001 From: Javier Date: Fri, 22 Jan 2016 18:16:50 -0300 Subject: [PATCH 4/9] handling new errors --- src/js/controllers/index.js | 7 ++++--- src/js/controllers/walletHome.js | 13 ++++++------- src/js/services/addressService.js | 12 +++++++----- src/js/services/profileService.js | 9 +++++---- src/js/services/pushNotificationsService.js | 2 +- 5 files changed, 23 insertions(+), 20 deletions(-) diff --git a/src/js/controllers/index.js b/src/js/controllers/index.js index 842cc04dc..928c830e9 100644 --- a/src/js/controllers/index.js +++ b/src/js/controllers/index.js @@ -1,8 +1,9 @@ 'use strict'; -angular.module('copayApp.controllers').controller('indexController', function($rootScope, $scope, $log, $filter, $timeout, pushNotificationsService, lodash, go, profileService, configService, isCordova, rateService, storageService, addressService, gettext, gettextCatalog, amMoment, nodeWebkit, addonManager, feeService, isChromeApp, bwsError, txFormatService, uxLanguage, $state, glideraService, isMobile, addressbookService) { +angular.module('copayApp.controllers').controller('indexController', function($rootScope, $scope, $log, $filter, $timeout, bwcService, pushNotificationsService, lodash, go, profileService, configService, isCordova, rateService, storageService, addressService, gettext, gettextCatalog, amMoment, nodeWebkit, addonManager, feeService, isChromeApp, bwsError, txFormatService, uxLanguage, $state, glideraService, isMobile, addressbookService) { var self = this; var SOFT_CONFIRMATION_LIMIT = 12; + var errors = bwcService.getErrors(); self.isCordova = isCordova; self.isChromeApp = isChromeApp; self.isSafari = isMobile.Safari(); @@ -470,10 +471,10 @@ angular.module('copayApp.controllers').controller('indexController', function($r // Debounce function avoids multiple popups var _handleError = function(err) { $log.warn('Client ERROR: ', err); - if (err.code === 'NOT_AUTHORIZED') { + if (err instanceof errors.NOT_AUTHORIZED) { self.notAuthorized = true; go.walletHome(); - } else if (err.code === 'NOT_FOUND') { + } else if (err instanceof errors.NOT_FOUND) { self.showErrorPopup(gettext('Could not access Wallet Service: Not found')); } else { var msg = "" diff --git a/src/js/controllers/walletHome.js b/src/js/controllers/walletHome.js index f9cce3bba..737849652 100644 --- a/src/js/controllers/walletHome.js +++ b/src/js/controllers/walletHome.js @@ -286,8 +286,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi $rootScope.$on(eventName, function() { fc.getTx($scope.tx.id, function(err, tx) { if (err) { - - if (err.code && err.code == 'TX_NOT_FOUND' && + if (err.message && err.message == 'TX_NOT_FOUND' && (eventName == 'transactionProposalRemoved' || eventName == 'TxProposalRemoved')) { $scope.tx.removed = true; $scope.tx.canBeRemoved = false; @@ -1100,15 +1099,15 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi $scope.settings = walletSettings; $scope.color = fc.backgroundColor; $scope.copayerId = fc.credentials.copayerId; - $scope.isShared = fc.credentials.n > 1; + $scope.isShared = fc.credentials.n > 1; $scope.getAlternativeAmount = function() { var satToBtc = 1 / 100000000; - fc.getFiatRate({ - code : self.alternativeIsoCode, - ts : btx.time * 1000 + fc.getFiatRate({ + code: self.alternativeIsoCode, + ts: btx.time * 1000 }, function(err, res) { - if (err) { + if (err) { $log.debug('Could not get historic rate'); return; } diff --git a/src/js/services/addressService.js b/src/js/services/addressService.js index f2027c7dc..f81225ccc 100644 --- a/src/js/services/addressService.js +++ b/src/js/services/addressService.js @@ -4,9 +4,8 @@ angular.module('copayApp.services') .factory('addressService', function(storageService, profileService, $log, $timeout, lodash, bwsError, gettextCatalog) { var root = {}; - - root.expireAddress = function(walletId,cb) { - $log.debug('Cleaning Address ' + walletId ); + root.expireAddress = function(walletId, cb) { + $log.debug('Cleaning Address ' + walletId); storageService.clearLastAddress(walletId, function(err) { return cb(err); }); @@ -34,10 +33,13 @@ angular.module('copayApp.services') return $timeout(function() { root._createAddress(walletId, cb); }, 5000); - } else if (err.code && err.code == 'MAIN_ADDRESS_GAP_REACHED') { + } else if (err.message && err.message == 'MAIN_ADDRESS_GAP_REACHED') { $log.warn(err.message); prefix = null; - client.getMainAddresses({reverse: true, limit : 1}, function(err, addr) { + client.getMainAddresses({ + reverse: true, + limit: 1 + }, function(err, addr) { if (err) return cb(err); return cb(null, addr[0].address); }); diff --git a/src/js/services/profileService.js b/src/js/services/profileService.js index 57076382a..165c9616c 100644 --- a/src/js/services/profileService.js +++ b/src/js/services/profileService.js @@ -3,6 +3,7 @@ angular.module('copayApp.services') .factory('profileService', function profileServiceFactory($rootScope, $location, $timeout, $filter, $log, lodash, storageService, bwcService, configService, notificationService, pushNotificationsService, isChromeApp, isCordova, gettext, gettextCatalog, nodeWebkit, bwsError, uxLanguage, bitcore) { var root = {}; + var errors = bwcService.getErrors(); var FOREGROUND_UPDATE_PERIOD = 5; var BACKGROUND_UPDATE_PERIOD = 30; @@ -284,8 +285,8 @@ angular.module('copayApp.services') // check if exist if (lodash.find(root.profile.credentials, { - 'walletId': walletData.walletId - })) { + 'walletId': walletData.walletId + })) { return cb(gettext('Cannot join the same wallet more that once')); } } catch (ex) { @@ -509,8 +510,8 @@ angular.module('copayApp.services') if (err) { // in HW wallets, req key is always the same. They can't addAccess. - if (err.code == 'NOT_AUTHORIZED') - err.code = 'WALLET_DOES_NOT_EXIST'; + if (err instanceof errors.NOT_AUTHORIZED) + err.name = 'WALLET_DOES_NOT_EXIST'; return bwsError.cb(err, gettext('Could not import'), cb); } diff --git a/src/js/services/pushNotificationsService.js b/src/js/services/pushNotificationsService.js index 132ccb43d..8dc7a9c53 100644 --- a/src/js/services/pushNotificationsService.js +++ b/src/js/services/pushNotificationsService.js @@ -48,7 +48,7 @@ angular.module('copayApp.services') opts.type = isMobile.iOS() ? "ios" : isMobile.Android() ? "android" : null; opts.token = token; root.subscribe(opts, walletClient, function(err, response) { - if (err) $log.warn('Subscription error: ' + err.code); + if (err) $log.warn('Subscription error: ' + err.message); else $log.debug('Subscribed to push notifications service: ' + JSON.stringify(response)); }); }); From 42050d4142619e45350eadce94085629d1f08779 Mon Sep 17 00:00:00 2001 From: Javier Date: Mon, 25 Jan 2016 11:50:08 -0300 Subject: [PATCH 5/9] fix wording --- src/js/services/pushNotificationsService.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/js/services/pushNotificationsService.js b/src/js/services/pushNotificationsService.js index 8dc7a9c53..a9141a564 100644 --- a/src/js/services/pushNotificationsService.js +++ b/src/js/services/pushNotificationsService.js @@ -60,7 +60,7 @@ angular.module('copayApp.services') lodash.forEach(walletsClients, function(walletClient) { root.unsubscribe(walletClient, function(err) { - if (err) $log.warn('Subscription error: ' + err.code); + if (err) $log.warn('Unsubscription error: ' + err.message); else $log.debug('Unsubscribed from push notifications service'); }); }); From 6cbe64101f1bb105babc2b37f266701e831d9a24 Mon Sep 17 00:00:00 2001 From: Javier Date: Mon, 25 Jan 2016 13:58:29 -0300 Subject: [PATCH 6/9] refactoring messages --- src/js/services/bwsError.js | 42 ++++++++++++++++++------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/src/js/services/bwsError.js b/src/js/services/bwsError.js index 83b3a5ba6..b56e20b57 100644 --- a/src/js/services/bwsError.js +++ b/src/js/services/bwsError.js @@ -21,61 +21,61 @@ angular.module('copayApp.services') if (err && name) { switch (name) { case 'INVALID_BACKUP': - body = gettextCatalog.getString(err.message); + body = gettextCatalog.getString('Wallet seed is invalid'); break; case 'WALLET_DOES_NOT_EXIST': - body = gettextCatalog.getString(err.message); + body = gettextCatalog.getString('Wallet not registered at the wallet service. Recreate it from "Create Wallet" using "Advanced Options" to set your seed'); break; case 'MISSING_PRIVATE_KEY': - body = gettextCatalog.getString(err.message); + body = gettextCatalog.getString('Missing private keys to sign'); break; case 'ENCRYPTED_PRIVATE_KEY': - body = gettextCatalog.getString(err.message); + body = gettextCatalog.getString('Private key is encrypted, cannot sign'); break; case 'SERVER_COMPROMISED': - body = gettextCatalog.getString(err.message); + body = gettextCatalog.getString('Server response could not be verified'); break; case 'COULD_NOT_BUILD_TRANSACTION': - body = gettextCatalog.getString(err.message); + body = gettextCatalog.getString('Could not build transaction'); break; case 'INSUFFICIENT_FUNDS': - body = gettextCatalog.getString(err.message); + body = gettextCatalog.getString('Insufficient funds'); break; case 'CONNECTION_ERROR': - body = gettextCatalog.getString(err.message); + body = gettextCatalog.getString('Network connection error'); break; case 'NOT_FOUND': - body = gettextCatalog.getString(err.message); + body = gettextCatalog.getString('Wallet service not found'); break; case 'ECONNRESET_ERROR': - body = gettextCatalog.getString(err.message); + body = gettextCatalog.getString('Connection reset by peer'); break; case 'BAD_RESPONSE_CODE': - body = gettextCatalog.getString(err.message); + body = gettextCatalog.getString('The request could not be understood by the server'); break; case 'WALLET_ALREADY_EXISTS': - body = gettextCatalog.getString(err.message); + body = gettextCatalog.getString('Wallet already exists'); break; case 'COPAYER_IN_WALLET': - body = gettextCatalog.getString(err.message); + body = gettextCatalog.getString('Copayer already in this wallet'); break; case 'WALLET_FULL': - body = gettextCatalog.getString(err.message); + body = gettextCatalog.getString('Wallet is full'); break; case 'WALLET_NOT_FOUND': - body = gettextCatalog.getString(err.message); + body = gettextCatalog.getString('Wallet not found'); break; case 'INSUFFICIENT_FUNDS_FOR_FEE': - body = gettextCatalog.getString(err.message); + body = gettextCatalog.getString('Insufficient funds for fee'); break; case 'LOCKED_FUNDS': - body = gettextCatalog.getString(err.message); + body = gettextCatalog.getString('Funds are locked by pending spend proposals'); break; case 'COPAYER_VOTED': - body = gettextCatalog.getString(err.message); + body = gettextCatalog.getString('Copayer already voted on this spend proposal'); break; case 'NOT_AUTHORIZED': - body = gettextCatalog.getString(err.message); + body = gettextCatalog.getString('Not authorized'); break; case 'TX_ALREADY_BROADCASTED': body = gettextCatalog.getString('Transaction already broadcasted'); @@ -135,9 +135,9 @@ angular.module('copayApp.services') break; } } else if (err.message) { - body = gettextCatalog.getString(err.message); + body = err.message; } else { - body = gettextCatalog.getString(err); + body = err; } var msg = prefix + (body ? (prefix ? ': ' : '') + body : ''); From 82f7ab0135708883be441eb2f6972b2775dbb929 Mon Sep 17 00:00:00 2001 From: Javier Date: Tue, 26 Jan 2016 10:50:29 -0300 Subject: [PATCH 7/9] check if error exist --- src/js/services/bwsError.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/js/services/bwsError.js b/src/js/services/bwsError.js index b56e20b57..a286d0d6e 100644 --- a/src/js/services/bwsError.js +++ b/src/js/services/bwsError.js @@ -4,6 +4,9 @@ angular.module('copayApp.services') var root = {}; root.msg = function(err, prefix) { + if (!err) + return 'Unknown error'; + var name; if (err.name == 'Error') @@ -18,7 +21,7 @@ angular.module('copayApp.services') var body = ''; prefix = prefix || ''; - if (err && name) { + if (name) { switch (name) { case 'INVALID_BACKUP': body = gettextCatalog.getString('Wallet seed is invalid'); From b41e0ee51a293ef3ec4e3f7677321108c71103a5 Mon Sep 17 00:00:00 2001 From: Javier Date: Tue, 26 Jan 2016 10:59:12 -0300 Subject: [PATCH 8/9] fix logic --- src/js/services/bwsError.js | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/js/services/bwsError.js b/src/js/services/bwsError.js index a286d0d6e..c36c5ed1d 100644 --- a/src/js/services/bwsError.js +++ b/src/js/services/bwsError.js @@ -9,13 +9,12 @@ angular.module('copayApp.services') var name; - if (err.name == 'Error') - name = err.message - else - - if (err.name) - name = err.name.replace(/^bwc.Error/g, ''); - else + if (err.name) { + if (err.name == 'Error') + name = err.message + else + name = err.name.replace(/^bwc.Error/g, ''); + } else name = err; var body = ''; From 1e829cef9e1e3a85555abc946b1d808a4419e26a Mon Sep 17 00:00:00 2001 From: Javier Date: Wed, 27 Jan 2016 16:31:11 -0300 Subject: [PATCH 9/9] fix wording --- src/js/services/profileService.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/js/services/profileService.js b/src/js/services/profileService.js index 165c9616c..178964461 100644 --- a/src/js/services/profileService.js +++ b/src/js/services/profileService.js @@ -315,7 +315,7 @@ angular.module('copayApp.services') var walletId = fc.credentials.walletId; pushNotificationsService.unsubscribe(root.getClient(walletId), function(err) { - if (err) $log.warn('Subscription error: ' + err.code); + if (err) $log.warn('Unsubscription error: ' + err.message); else $log.debug('Unsubscribed from push notifications service'); $log.debug('Deleting Wallet:', fc.credentials.walletName);