diff --git a/app/src/main/java/org/thoughtcrime/securesms/messages/MessageContentProcessor.java b/app/src/main/java/org/thoughtcrime/securesms/messages/MessageContentProcessor.java index 687dab05b..20dfd820b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/messages/MessageContentProcessor.java +++ b/app/src/main/java/org/thoughtcrime/securesms/messages/MessageContentProcessor.java @@ -2002,10 +2002,17 @@ public final class MessageContentProcessor { } private long handleSynchronizeSentExpirationUpdate(@NonNull SentTranscriptMessage message) - throws MmsException, BadGroupIdException + throws MmsException { log(message.getTimestamp(), "Synchronize sent expiration update."); + Optional groupId = getSyncMessageDestination(message).getGroupId(); + + if (groupId.isPresent() && groupId.get().isV2()) { + warn(String.valueOf(message.getTimestamp()), "Expiration update received for GV2. Ignoring."); + return -1; + } + MessageTable database = SignalDatabase.messages(); Recipient recipient = getSyncMessageDestination(message); @@ -2034,9 +2041,9 @@ public final class MessageContentProcessor { try { Optional reaction = message.getDataMessage().get().getReaction(); ParentStoryId parentStoryId; - SignalServiceDataMessage.StoryContext storyContext = message.getDataMessage().get().getStoryContext().get(); - MessageTable database = SignalDatabase.messages(); - Recipient recipient = getSyncMessageDestination(message); + SignalServiceDataMessage.StoryContext storyContext = message.getDataMessage().get().getStoryContext().get(); + MessageTable database = SignalDatabase.messages(); + Recipient recipient = getSyncMessageDestination(message); QuoteModel quoteModel = null; long expiresInMillis = 0L; RecipientId storyAuthorRecipient = RecipientId.from(storyContext.getAuthorServiceId()); @@ -2267,8 +2274,8 @@ public final class MessageContentProcessor { { log(envelopeTimestamp, "Synchronize sent media message for " + message.getTimestamp()); - MessageTable database = SignalDatabase.messages(); - Recipient recipients = getSyncMessageDestination(message); + MessageTable database = SignalDatabase.messages(); + Recipient recipients = getSyncMessageDestination(message); Optional quote = getValidatedQuote(message.getDataMessage().get().getQuote()); Optional sticker = getStickerAttachment(message.getDataMessage().get().getSticker()); Optional> sharedContacts = getContacts(message.getDataMessage().get().getSharedContacts());