From a3d29a92bb2e8605340be628fd4b95c48550f3be Mon Sep 17 00:00:00 2001 From: lilia Date: Fri, 6 Nov 2015 18:51:18 -0800 Subject: [PATCH] Reject messages sent to groups with no members If you're the last member of the group, it doesn't make sense to send messages to it. Previously, we would wait forever for a callback, causing a stuck pending state indicator. // FREEBIE --- js/libtextsecure.js | 3 +++ libtextsecure/sendmessage.js | 3 +++ 2 files changed, 6 insertions(+) diff --git a/js/libtextsecure.js b/js/libtextsecure.js index 8053efa56..83422167a 100644 --- a/js/libtextsecure.js +++ b/js/libtextsecure.js @@ -40000,6 +40000,9 @@ MessageSender.prototype = { timestamp = timestamp || Date.now(); var me = textsecure.storage.user.getNumber(); numbers = numbers.filter(function(number) { return number != me; }); + if (numbers.length === 0) { + return Promise.reject(new Error('No other members in the group')); + } return new Promise(function(resolve, reject) { this.sendMessageProto(timestamp, numbers, proto, function(res) { diff --git a/libtextsecure/sendmessage.js b/libtextsecure/sendmessage.js index f379a1fac..088b8052e 100644 --- a/libtextsecure/sendmessage.js +++ b/libtextsecure/sendmessage.js @@ -148,6 +148,9 @@ MessageSender.prototype = { timestamp = timestamp || Date.now(); var me = textsecure.storage.user.getNumber(); numbers = numbers.filter(function(number) { return number != me; }); + if (numbers.length === 0) { + return Promise.reject(new Error('No other members in the group')); + } return new Promise(function(resolve, reject) { this.sendMessageProto(timestamp, numbers, proto, function(res) {