From 4a1ab0eb16769497112666d2dd45dc9b77811f31 Mon Sep 17 00:00:00 2001 From: Matias Alejo Garcia Date: Sat, 30 May 2015 12:46:38 -0300 Subject: [PATCH] better handling of sign/broadcast fail --- src/js/controllers/walletHome.js | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/src/js/controllers/walletHome.js b/src/js/controllers/walletHome.js index 93f0e2795..5f693a56d 100644 --- a/src/js/controllers/walletHome.js +++ b/src/js/controllers/walletHome.js @@ -323,8 +323,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi }); modalInstance.result.then(function(txp) { - var refreshUntilItChanges = txp.refreshUntilItChanges; - console.log('[walletHome.js.323:refreshUntilItChanges:]', refreshUntilItChanges); //TODO + var refreshUntilItChanges = txp ? txp.refreshUntilItChanges : null; self.setOngoingProcess(); if (txp) { txStatus.notify(txp, function() { @@ -614,12 +613,16 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi } self.signAndBroadcast(txp, function(err) { - if (err) { - self.setOngoingProcess(); - return self.setSendError(err); - } - + self.setOngoingProcess(); + profileService.lockFC(); self.resetForm(); + if (err) { + self.error = err.message ? err.message : gettext('The payment was created but could not be completed. Please try again from home screen'); + $scope.$emit('Local/TxProposalAction'); + $timeout(function() { + $scope.$digest(); + }, 1); + } }); }); }, 100); @@ -631,20 +634,18 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi self.setOngoingProcess(gettext('Signing transaction')); fc.signTxProposal(txp, function(err, signedTx) { profileService.lockFC(); - + self.setOngoingProcess(); if (err) { - self.setOngoingProcess(); + err.message = gettext('The payment was created but could not be signed. Please try again from home screen.') + (err.message ? ' ' + err.message : ''); return cb(err); } if (signedTx.status == 'accepted') { self.setOngoingProcess(gettext('Broadcasting transaction')); - fc.broadcastTxProposal(signedTx, function(err, btx, memo) { self.setOngoingProcess(); if (err) { - $scope.error = gettext('Transaction not broadcasted. Please try again.'); - $scope.$digest(); + err.message = gettext('The payment was signed but could not be broadcasted. Please try again from home screen.') + (err.message ? ' ' + err.message : ''); return cb(err); } if (memo)