diff --git a/www/plugins/es/js/controllers/message-controllers.js b/www/plugins/es/js/controllers/message-controllers.js index 9279da555949c00217aebe379ec7316381420692..aa5a694fe79609e12f32318d37d436f2af249cc2 100644 --- a/www/plugins/es/js/controllers/message-controllers.js +++ b/www/plugins/es/js/controllers/message-controllers.js @@ -391,7 +391,7 @@ function ESMessageComposeModalController($scope, Modals, UIUtils, csWallet, esHt time: esHttp.date.now() }; - esMessage.send(data, csWallet.data.keypair) + esMessage.send(data) .then(function(id) { $scope.id=id; UIUtils.loading.hide(); diff --git a/www/plugins/es/js/services/message-services.js b/www/plugins/es/js/services/message-services.js index 7016878c2eeaf0254b7096bcd71bc853bdef3ea5..0388e4126ec802a21af3a07a854af2a3f8a380b5 100644 --- a/www/plugins/es/js/services/message-services.js +++ b/www/plugins/es/js/services/message-services.js @@ -110,27 +110,30 @@ angular.module('cesium.es.message.services', ['ngResource', 'cesium.platform', }); } - function sendMessage(message, keypair) { - return doSendMessage(message, keypair) - .then(function(res){ - var outbox = (csSettings.data.plugins.es.message && - angular.isDefined(csSettings.data.plugins.es.message.outbox)) ? - csSettings.data.plugins.es.message.outbox : true; + function sendMessage(message) { + return csWallet.getKeypair() + .then(function(keypair) { + return doSendMessage(message, keypair) + .then(function (res) { + var outbox = (csSettings.data.plugins.es.message && + angular.isDefined(csSettings.data.plugins.es.message.outbox)) ? + csSettings.data.plugins.es.message.outbox : true; - if (!outbox) return res; + if (!outbox) return res; - // Send to outbox - return doSendMessage(message, keypair, '/message/outbox', 'issuer') - .catch(function(err) { - console.error("Failed to store message to outbox: " + err); - return res; // the first result - }); - }) - .then(function(res) { - // Raise event - api.data.raise.sent(res); + // Send to outbox + return doSendMessage(message, keypair, '/message/outbox', 'issuer') + .catch(function (err) { + console.error("Failed to store message to outbox: " + err); + return res; // the first result + }); + }) + .then(function (res) { + // Raise event + api.data.raise.sent(res); - return res; + return res; + }); }); } @@ -482,7 +485,7 @@ angular.module('cesium.es.message.services', ['ngResource', 'cesium.platform', .then(function(keypair) { return $q.all(developers.reduce(function(res, developer){ return !developer.pubkey ? res : - res.concat(sendMessage(angular.merge({recipient: developer.pubkey}, message), keypair)); + res.concat(doSendMessage(angular.merge({recipient: developer.pubkey}, message), keypair)); }, [])); }) .then(function(res) {