Resolve multiple conflicts independently
When resolving multiple conflicts in a conversation, failure to resolve one should not block any others. // FREEBIE
This commit is contained in:
parent
299bd45cea
commit
4b0c70fb44
2 changed files with 6 additions and 8 deletions
|
@ -301,15 +301,15 @@
|
|||
|
||||
return textsecure.storage.axolotl.removeIdentityKey(number).then(function() {
|
||||
return textsecure.storage.axolotl.putIdentityKey(number, identityKey).then(function() {
|
||||
var promise = Promise.resolve();
|
||||
var promises = [];
|
||||
this.messageCollection.each(function(message) {
|
||||
if (message.hasKeyConflict(number)) {
|
||||
promise = promise.then(function() {
|
||||
return message.resolveConflict(number);
|
||||
});
|
||||
promises.push(new Promise(function(resolve) {
|
||||
resolve(message.resolveConflict(number));
|
||||
}));
|
||||
}
|
||||
});
|
||||
return promise;
|
||||
return promises;
|
||||
}.bind(this));
|
||||
}.bind(this));
|
||||
},
|
||||
|
|
|
@ -28,11 +28,9 @@
|
|||
}
|
||||
},
|
||||
resolve: function() {
|
||||
new Promise(function(resolve) {
|
||||
this.conversation.resolveConflicts(this.model).then(resolve);
|
||||
}.bind(this));
|
||||
this.trigger('resolve');
|
||||
this.remove();
|
||||
this.conversation.resolveConflicts(this.model);
|
||||
},
|
||||
render: function() {
|
||||
this.$el.html(Mustache.render(this.template, this.model));
|
||||
|
|
Loading…
Reference in a new issue