From 33346d80336a82b26f9ba00e335a226ff3db4c78 Mon Sep 17 00:00:00 2001 From: Cody Henthorne Date: Fri, 22 Apr 2022 16:07:06 -0400 Subject: [PATCH] Fix bug with receiving GV2 message for previously unknown group. --- .../securesms/messages/MessageContentProcessor.java | 3 ++- .../thoughtcrime/securesms/database/GV2UpdateTransformer.kt | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) 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 349d4825f2..048ca92c8f 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/messages/MessageContentProcessor.java +++ b/app/src/main/java/org/thoughtcrime/securesms/messages/MessageContentProcessor.java @@ -532,7 +532,8 @@ public final class MessageContentProcessor { throws IOException, GroupChangeBusyException { try { - GroupManager.updateGroupFromServer(context, groupV2.getMasterKey(), groupV2.getRevision(), content.getTimestamp(), groupV2.getSignedGroupChange()); + long timestamp = groupV2.getSignedGroupChange() != null ? content.getTimestamp() : content.getTimestamp() - 1; + GroupManager.updateGroupFromServer(context, groupV2.getMasterKey(), groupV2.getRevision(), timestamp, groupV2.getSignedGroupChange()); return true; } catch (GroupNotAMemberException e) { warn(String.valueOf(content.getTimestamp()), "Ignoring message for a group we're not in"); diff --git a/app/src/spinner/java/org/thoughtcrime/securesms/database/GV2UpdateTransformer.kt b/app/src/spinner/java/org/thoughtcrime/securesms/database/GV2UpdateTransformer.kt index 268e5a3694..9312b0aef7 100644 --- a/app/src/spinner/java/org/thoughtcrime/securesms/database/GV2UpdateTransformer.kt +++ b/app/src/spinner/java/org/thoughtcrime/securesms/database/GV2UpdateTransformer.kt @@ -25,7 +25,7 @@ object GV2UpdateTransformer : ColumnTransformer { return if (MmsSmsColumns.Types.isGroupV2(type) && MmsSmsColumns.Types.isGroupUpdate(type) && body != null) { val gv2ChangeDescription: UpdateDescription = MessageRecord.getGv2ChangeDescription(ApplicationDependencies.getApplication(), body, null) - gv2ChangeDescription.staticSpannable.toString() + gv2ChangeDescription.spannable.toString() } else { body ?: "" }