From 766266d54dfa97a4b418e2cba4f698eb67a85990 Mon Sep 17 00:00:00 2001 From: jubb Date: Mon, 22 Feb 2021 10:40:18 +1100 Subject: [PATCH] fix: handle group of size 1 being destroyed locally for admin --- .../securesms/loki/protocol/ClosedGroupsProtocolV2.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/loki/protocol/ClosedGroupsProtocolV2.kt b/app/src/main/java/org/thoughtcrime/securesms/loki/protocol/ClosedGroupsProtocolV2.kt index c67719cfa7..ee10b3926d 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/loki/protocol/ClosedGroupsProtocolV2.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/loki/protocol/ClosedGroupsProtocolV2.kt @@ -509,7 +509,8 @@ object ClosedGroupsProtocolV2 { val updatedMemberList = members - senderPublicKey val userLeft = userPublicKey == senderPublicKey - if (didAdminLeave || userLeft) { + // if the admin left, we left, or we are the only remaining member: remove the group + if (didAdminLeave || userLeft || updatedMemberList.size == 1) { disableLocalGroupAndUnsubscribe(context, apiDB, groupPublicKey, groupDB, groupID, userPublicKey) } else { val isCurrentUserAdmin = admins.contains(userPublicKey)