diff --git a/SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+VisibleMessages.swift b/SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+VisibleMessages.swift index 2eec5e70e..4cda81fd5 100644 --- a/SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+VisibleMessages.swift +++ b/SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+VisibleMessages.swift @@ -97,7 +97,7 @@ extension MessageReceiver { let disappearingMessagesConfiguration: DisappearingMessagesConfiguration = (try? thread.disappearingMessagesConfiguration.fetchOne(db)) .defaulting(to: DisappearingMessagesConfiguration.defaultWith(thread.id)) - let expiresStartedAtMs: Double? = (disappearingMessagesConfiguration.isEnabled && disappearingMessagesConfiguration.type == .disappearAfterSend) ? messageSentTimestamp : nil + let expiresStartedAtMs: Double? = (disappearingMessagesConfiguration.isEnabled && disappearingMessagesConfiguration.type == .disappearAfterSend) ? Double(message.sentTimestamp ?? 0) : nil // Try to insert the interaction // diff --git a/SessionMessagingKit/Sending & Receiving/MessageReceiver.swift b/SessionMessagingKit/Sending & Receiving/MessageReceiver.swift index fad08fc7a..1e6f6f773 100644 --- a/SessionMessagingKit/Sending & Receiving/MessageReceiver.swift +++ b/SessionMessagingKit/Sending & Receiving/MessageReceiver.swift @@ -259,6 +259,13 @@ public enum MessageReceiver { .fetchOrCreate(db, id: threadInfo.id, variant: threadInfo.variant) .with(shouldBeVisible: true) .saved(db) + + // Start the disappearing messages timer if needed + // For disappear after send, this is necessary so the message will disappear even if it is not read + JobRunner.upsert( + db, + job: DisappearingMessagesJob.updateNextRunIfNeeded(db) + ) } }