diff --git a/Session/Conversations/Settings/ThreadDisappearingMessagesSettingsViewModel.swift b/Session/Conversations/Settings/ThreadDisappearingMessagesSettingsViewModel.swift index f0ac0be5d..4bc4afe6d 100644 --- a/Session/Conversations/Settings/ThreadDisappearingMessagesSettingsViewModel.swift +++ b/Session/Conversations/Settings/ThreadDisappearingMessagesSettingsViewModel.swift @@ -482,10 +482,12 @@ class ThreadDisappearingMessagesSettingsViewModel: SessionTableViewModel, Naviga _ = try Interaction .filter(Interaction.Columns.threadId == threadId) .filter(Interaction.Columns.variant == Interaction.Variant.infoDisappearingMessagesUpdate) - .filter(Interaction.Columns.authorId == userPublicKey) + .filter(Interaction.Columns.authorId == userPublicKey) // FIXME: Remove all in legacy groups .deleteAll(db) } + let currentTimestampMs: Int64 = SnodeAPI.currentOffsetTimestampMs() + let interaction: Interaction = try Interaction( threadId: threadId, authorId: userPublicKey, @@ -495,7 +497,9 @@ class ThreadDisappearingMessagesSettingsViewModel: SessionTableViewModel, Naviga senderName: nil, isPreviousOff: !self.config.isEnabled ), - timestampMs: SnodeAPI.currentOffsetTimestampMs() + timestampMs: currentTimestampMs, + expiresInSeconds: updatedConfig.durationSeconds, + expiresStartedAtMs: (updatedConfig.type == .disappearAfterSend ? Double(currentTimestampMs) : nil) ) .inserted(db) diff --git a/SessionMessagingKit/Database/Models/Interaction.swift b/SessionMessagingKit/Database/Models/Interaction.swift index 3bfb0381a..98b4374bd 100644 --- a/SessionMessagingKit/Database/Models/Interaction.swift +++ b/SessionMessagingKit/Database/Models/Interaction.swift @@ -373,22 +373,6 @@ public struct Interaction: Codable, Identifiable, Equatable, FetchableRecord, Mu // Automatically mark interactions which can't be unread as read so the unread count // isn't impacted self.wasRead = (self.wasRead || !self.variant.canBeUnread) - - // Automatically add disapeparing messages configuration - if self.variant.shouldFollowDisappearingMessagesConfiguration, - self.expiresInSeconds == nil, - self.expiresStartedAtMs == nil - { - guard - let disappearingMessagesConfiguration = try? DisappearingMessagesConfiguration.fetchOne(db, id: self.threadId), - disappearingMessagesConfiguration.isEnabled - else { - self.expiresInSeconds = 0 - return - } - - self.expiresInSeconds = disappearingMessagesConfiguration.durationSeconds - } } public func aroundInsert(_ db: Database, insert: () throws -> InsertionSuccess) throws { diff --git a/SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+ExpirationTimers.swift b/SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+ExpirationTimers.swift index 3c656fa7b..0fbde0366 100644 --- a/SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+ExpirationTimers.swift +++ b/SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+ExpirationTimers.swift @@ -208,7 +208,6 @@ extension MessageReceiver { localConfig: localConfig, remoteConfig: remoteConfig ) - default: return }