diff --git a/SessionMessagingKit/Database/Models/DisappearingMessageConfiguration.swift b/SessionMessagingKit/Database/Models/DisappearingMessageConfiguration.swift index 4cea9b07b..6c3c0d497 100644 --- a/SessionMessagingKit/Database/Models/DisappearingMessageConfiguration.swift +++ b/SessionMessagingKit/Database/Models/DisappearingMessageConfiguration.swift @@ -303,8 +303,8 @@ public extension DisappearingMessagesConfiguration { isPreviousOff: isPreviousOff ), timestampMs: timestampMs, - expiresInSeconds: updatedConfiguration.durationSeconds, - expiresStartedAtMs: expiresStartedAtMs + expiresInSeconds: (threadVariant == .legacyGroup ? nil : updatedConfiguration.durationSeconds), // Do not expire this control message in legacy groups + expiresStartedAtMs: (threadVariant == .legacyGroup ? nil : expiresStartedAtMs) ).inserted(db) return interaction.id diff --git a/SessionMessagingKit/Messages/Visible Messages/VisibleMessage.swift b/SessionMessagingKit/Messages/Visible Messages/VisibleMessage.swift index a61e53228..89da9501d 100644 --- a/SessionMessagingKit/Messages/Visible Messages/VisibleMessage.swift +++ b/SessionMessagingKit/Messages/Visible Messages/VisibleMessage.swift @@ -225,7 +225,7 @@ public extension VisibleMessage { static func from(_ db: Database, interaction: Interaction) -> VisibleMessage { let linkPreview: LinkPreview? = try? interaction.linkPreview.fetchOne(db) - var visibleMessage: VisibleMessage = VisibleMessage( + let visibleMessage: VisibleMessage = VisibleMessage( sender: interaction.authorId, sentTimestamp: UInt64(interaction.timestampMs), recipient: (try? interaction.recipientStates.fetchOne(db))?.recipientId, diff --git a/SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+ClosedGroups.swift b/SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+ClosedGroups.swift index 6adc6e5b4..e61ebfd3e 100644 --- a/SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+ClosedGroups.swift +++ b/SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+ClosedGroups.swift @@ -670,6 +670,7 @@ extension MessageReceiver { guard ClosedGroup.filter(id: threadId).isNotEmpty(db) else { return } // Insert the info message for this group control message + // Note: Control messages for legacy groups are not affected by disappearing messages setting _ = try Interaction( serverHash: message.serverHash, threadId: threadId, @@ -680,9 +681,7 @@ extension MessageReceiver { timestampMs: ( message.sentTimestamp.map { Int64($0) } ?? SnodeAPI.currentOffsetTimestampMs() - ), - expiresInSeconds: message.expiresInSeconds, - expiresStartedAtMs: message.expiresStartedAtMs + ) ).inserted(db) } }