From dd396eb75aa41b4bad6216b093c6390d764425bc Mon Sep 17 00:00:00 2001 From: Cody Henthorne Date: Wed, 11 Feb 2026 13:49:29 -0500 Subject: [PATCH] Fix group updates from others showing before messages made before the update. --- .../groups/v2/processing/GroupsV2StateProcessor.kt | 6 +++++- .../securesms/messages/MessageContentProcessor.kt | 2 +- .../java/org/thoughtcrime/securesms/mms/IncomingMessage.kt | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/groups/v2/processing/GroupsV2StateProcessor.kt b/app/src/main/java/org/thoughtcrime/securesms/groups/v2/processing/GroupsV2StateProcessor.kt index dca8c81d0e..5dbdcdde9a 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/groups/v2/processing/GroupsV2StateProcessor.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/groups/v2/processing/GroupsV2StateProcessor.kt @@ -648,7 +648,11 @@ class GroupsV2StateProcessor private constructor( } else -> { - storeMessage(GroupProtoUtil.createDecryptedGroupV2Context(masterKey, GroupMutation(runningGroupState, entry.change, entry.group), null), runningTimestamp, serverGuid) + storeMessage( + decryptedGroupV2Context = GroupProtoUtil.createDecryptedGroupV2Context(masterKey, GroupMutation(runningGroupState, entry.change, entry.group), null), + timestamp = runningTimestamp, + serverGuid = serverGuid + ) runningTimestamp++ } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/messages/MessageContentProcessor.kt b/app/src/main/java/org/thoughtcrime/securesms/messages/MessageContentProcessor.kt index cea87304f8..257d40a50b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/messages/MessageContentProcessor.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/messages/MessageContentProcessor.kt @@ -279,7 +279,7 @@ open class MessageContentProcessor(private val context: Context) { ): GroupUpdateResult? { return try { val signedGroupChange: ByteArray? = if (groupV2.hasSignedGroupChange) groupV2.signedGroupChange else null - val updatedTimestamp = if (signedGroupChange != null) timestamp else timestamp - 1 + val updatedTimestamp = if (signedGroupChange != null) timestamp else timestamp + 1 if (groupV2.revision != null) { GroupManager.updateGroupFromServer(context, groupV2.groupMasterKey, localRecord, groupSecretParams, groupV2.revision!!, updatedTimestamp, signedGroupChange, serverGuid) } else { diff --git a/app/src/main/java/org/thoughtcrime/securesms/mms/IncomingMessage.kt b/app/src/main/java/org/thoughtcrime/securesms/mms/IncomingMessage.kt index fefe0334a3..b0fae831b7 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mms/IncomingMessage.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/mms/IncomingMessage.kt @@ -106,7 +106,7 @@ class IncomingMessage( return IncomingMessage( from = from, sentTimeMillis = timestamp, - receivedTimeMillis = timestamp, + receivedTimeMillis = System.currentTimeMillis(), serverTimeMillis = timestamp, serverGuid = serverGuid, groupId = groupId,