diff --git a/Session/Conversations/ConversationVC+Interaction.swift b/Session/Conversations/ConversationVC+Interaction.swift index 9c7f16511..1f5f8dbb1 100644 --- a/Session/Conversations/ConversationVC+Interaction.swift +++ b/Session/Conversations/ConversationVC+Interaction.swift @@ -515,8 +515,10 @@ extension ConversationVC: ).insert(db) } - // If there is a Quote the insert it now - if let interactionId: Int64 = interaction.id, let quoteModel: QuotedReplyModel = quoteModel { + guard let interactionId: Int64 = interaction.id else { return } + + // If there is a Quote then insert it now + if let quoteModel: QuotedReplyModel = quoteModel { try Quote( interactionId: interactionId, authorId: quoteModel.authorId, @@ -532,6 +534,16 @@ extension ConversationVC: threadId: threadId, threadVariant: threadVariant ) + + // Trigger disappear after read + try Interaction.markAsRead( + db, + interactionId: interactionId, + threadId: threadId, + threadVariant: threadVariant, + includingOlder: false, + trySendReadReceipt: false + ) } .subscribe(on: DispatchQueue.global(qos: .userInitiated)) .sinkUntilComplete( @@ -633,6 +645,16 @@ extension ConversationVC: threadId: threadId, threadVariant: threadVariant ) + + // Trigger disappear after read + try Interaction.markAsRead( + db, + interactionId: interactionId, + threadId: threadId, + threadVariant: threadVariant, + includingOlder: false, + trySendReadReceipt: false + ) } .subscribe(on: DispatchQueue.global(qos: .userInitiated)) .sinkUntilComplete( diff --git a/SessionMessagingKit/Database/Models/Interaction.swift b/SessionMessagingKit/Database/Models/Interaction.swift index 23b25a358..fc2d6a1f7 100644 --- a/SessionMessagingKit/Database/Models/Interaction.swift +++ b/SessionMessagingKit/Database/Models/Interaction.swift @@ -379,7 +379,7 @@ public struct Interaction: Codable, Identifiable, Equatable, FetchableRecord, Mu disappearingMessagesConfiguration.isEnabled { self.expiresInSeconds = disappearingMessagesConfiguration.durationSeconds - if self.variant == .standardOutgoing || disappearingMessagesConfiguration.type == .disappearAfterSend { + if disappearingMessagesConfiguration.type == .disappearAfterSend { self.expiresStartedAtMs = Double(self.timestampMs) } }