From 66f93e0d32d44337d4ee26f613dbca571226cb40 Mon Sep 17 00:00:00 2001 From: Cody Henthorne Date: Wed, 9 Mar 2022 12:09:46 -0500 Subject: [PATCH] Do not drop 1:1 messages with mentions due to iOS and desktop regression. iOS and Desktop both regressed in multi-forwarding by including mentions in 1:1 forwards instead of replacing them with plain text. Android by default drops these as invalid messages. Since there are clients in the wild that do this now, we have to stop dropping them and try to resolve them per normal mechanisms. --- .../securesms/conversation/ConversationMessage.java | 2 +- .../signalservice/api/messages/SignalServiceContent.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationMessage.java b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationMessage.java index d08d86a0a9..8ad20ed5e9 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationMessage.java +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationMessage.java @@ -52,7 +52,7 @@ public class ConversationMessage { this.body = null; } - if (!this.mentions.isEmpty() && this.body != null) { + if (!this.mentions.isEmpty() && this.body != null && this.messageRecord.isGroupV2()) { MentionAnnotation.setMentionAnnotations(this.body, this.mentions); } diff --git a/libsignal/service/src/main/java/org/whispersystems/signalservice/api/messages/SignalServiceContent.java b/libsignal/service/src/main/java/org/whispersystems/signalservice/api/messages/SignalServiceContent.java index 6f83da0ca3..770f3be72d 100644 --- a/libsignal/service/src/main/java/org/whispersystems/signalservice/api/messages/SignalServiceContent.java +++ b/libsignal/service/src/main/java/org/whispersystems/signalservice/api/messages/SignalServiceContent.java @@ -1041,7 +1041,7 @@ public final class SignalServiceContent { } if (mentions.size() > 0 && !isGroupV2) { - throw new InvalidMessageStructureException("Mentions received in non-GV2 message"); + Log.w(TAG, "Mentions received in non-GV2 message"); } return mentions;