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 8053efa56a..83422167a5 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 f379a1fac9..088b8052e4 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) {