diff --git a/app/src/main/java/org/thoughtcrime/securesms/messagerequests/MessageRequestRepository.java b/app/src/main/java/org/thoughtcrime/securesms/messagerequests/MessageRequestRepository.java index 337ae07876..7669dd73cb 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/messagerequests/MessageRequestRepository.java +++ b/app/src/main/java/org/thoughtcrime/securesms/messagerequests/MessageRequestRepository.java @@ -75,6 +75,17 @@ final class MessageRequestRepository { @WorkerThread private MessageRequestState findMessageRequestState(@NonNull Recipient recipient, long threadId) { + if (recipient.isGroup() && recipient.isPushV2Group()) { + GroupDatabase.MemberLevel memberLevel = DatabaseFactory.getGroupDatabase(context) + .getGroup(recipient.getId()) + .transform(g -> g.memberLevel(Recipient.self())) + .or(GroupDatabase.MemberLevel.NOT_A_MEMBER); + + if (memberLevel == GroupDatabase.MemberLevel.PENDING_MEMBER) { + return MessageRequestState.REQUIRED; + } + } + if (!RecipientUtil.isMessageRequestAccepted(context, threadId)) { if (recipient.isGroup()) { GroupDatabase.MemberLevel memberLevel = DatabaseFactory.getGroupDatabase(context)