From 2b9d03983750637c3748b12e40bf6777ea918fc0 Mon Sep 17 00:00:00 2001 From: lilia Date: Mon, 2 Nov 2015 11:32:23 -0800 Subject: [PATCH] Serialize requests for keys Fixes #383 // FREEBIE --- js/libtextsecure.js | 11 +++++++---- libtextsecure/outgoing_message.js | 11 +++++++---- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/js/libtextsecure.js b/js/libtextsecure.js index 4016a9adc..7eb70d366 100644 --- a/js/libtextsecure.js +++ b/js/libtextsecure.js @@ -39757,11 +39757,14 @@ OutgoingMessage.prototype = { if (updateDevices === undefined) { return this.server.getKeysForNumber(number).then(handleResult); } else { - var promises = updateDevices.map(function(device) { - return this.server.getKeysForNumber(number, device).then(handleResult); - }.bind(this)); + var promise = Promise.resolve(); + for (var i in updateDevices) { + promise = promise.then(function() { + return this.server.getKeysForNumber(number, updateDevices[i]).then(handleResult); + }.bind(this)); + } - return Promise.all(promises); + return promise; } }, diff --git a/libtextsecure/outgoing_message.js b/libtextsecure/outgoing_message.js index b2b32edab..16af122d7 100644 --- a/libtextsecure/outgoing_message.js +++ b/libtextsecure/outgoing_message.js @@ -68,11 +68,14 @@ OutgoingMessage.prototype = { if (updateDevices === undefined) { return this.server.getKeysForNumber(number).then(handleResult); } else { - var promises = updateDevices.map(function(device) { - return this.server.getKeysForNumber(number, device).then(handleResult); - }.bind(this)); + var promise = Promise.resolve(); + for (var i in updateDevices) { + promise = promise.then(function() { + return this.server.getKeysForNumber(number, updateDevices[i]).then(handleResult); + }.bind(this)); + } - return Promise.all(promises); + return promise; } },