diff --git a/SessionMessagingKit/Messages/Message.swift b/SessionMessagingKit/Messages/Message.swift index 068786188..67662890c 100644 --- a/SessionMessagingKit/Messages/Message.swift +++ b/SessionMessagingKit/Messages/Message.swift @@ -658,6 +658,7 @@ public extension Message { internal static func getSpecifiedTTL( message: Message, + isGroupMessage: Bool, isSyncMessage: Bool ) -> UInt64 { guard Features.useNewDisappearingMessagesConfig else { return message.ttl } @@ -677,6 +678,8 @@ public extension Message { switch message { case is ClosedGroupControlMessage, is UnsendRequest: return message.ttl + case is ExpirationTimerUpdate: + return isGroupMessage ? message.ttl : UInt64(expiresInSeconds * 1000) default: return UInt64(expiresInSeconds * 1000) } diff --git a/SessionMessagingKit/Sending & Receiving/MessageSender.swift b/SessionMessagingKit/Sending & Receiving/MessageSender.swift index 4b4b169c6..430bbdda8 100644 --- a/SessionMessagingKit/Sending & Receiving/MessageSender.swift +++ b/SessionMessagingKit/Sending & Receiving/MessageSender.swift @@ -348,7 +348,16 @@ public final class MessageSender { let snodeMessage = SnodeMessage( recipient: message.recipient!, data: base64EncodedData, - ttl: Message.getSpecifiedTTL(message: message, isSyncMessage: isSyncMessage), + ttl: Message.getSpecifiedTTL( + message: message, + isGroupMessage: { + switch destination { + case .closedGroup: return true + default: return false + } + }(), + isSyncMessage: isSyncMessage + ), timestampMs: UInt64(messageSendTimestamp) )