diff --git a/js/models/conversations.js b/js/models/conversations.js index 90d33c71c..7a78986fb 100644 --- a/js/models/conversations.js +++ b/js/models/conversations.js @@ -273,11 +273,15 @@ return textsecure.storage.axolotl.removeIdentityKey(number).then(function() { return textsecure.storage.axolotl.putIdentityKey(number, identityKey).then(function() { + var promise = Promise.resolve(); this.messageCollection.each(function(message) { if (message.hasKeyConflict(number)) { - message.resolveConflict(number); + promise = promise.then(function() { + return message.resolveConflict(number); + }); } }); + return promise; }.bind(this)); }.bind(this)); }, diff --git a/js/models/messages.js b/js/models/messages.js index a45b5315f..c0bac9178 100644 --- a/js/models/messages.js +++ b/js/models/messages.js @@ -121,6 +121,7 @@ this.save({sent: true, errors: errors}); }.bind(this)); } + return promise; } }, handleDataMessage: function(dataMessage) {