WIP: fix disappear after read for message sender

pull/941/head
ryanzhao 1 year ago
parent ee490bfa99
commit 963b3f6029

@ -515,8 +515,10 @@ extension ConversationVC:
).insert(db) ).insert(db)
} }
// If there is a Quote the insert it now guard let interactionId: Int64 = interaction.id else { return }
if let interactionId: Int64 = interaction.id, let quoteModel: QuotedReplyModel = quoteModel {
// If there is a Quote then insert it now
if let quoteModel: QuotedReplyModel = quoteModel {
try Quote( try Quote(
interactionId: interactionId, interactionId: interactionId,
authorId: quoteModel.authorId, authorId: quoteModel.authorId,
@ -532,6 +534,16 @@ extension ConversationVC:
threadId: threadId, threadId: threadId,
threadVariant: threadVariant 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)) .subscribe(on: DispatchQueue.global(qos: .userInitiated))
.sinkUntilComplete( .sinkUntilComplete(
@ -633,6 +645,16 @@ extension ConversationVC:
threadId: threadId, threadId: threadId,
threadVariant: threadVariant 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)) .subscribe(on: DispatchQueue.global(qos: .userInitiated))
.sinkUntilComplete( .sinkUntilComplete(

@ -379,7 +379,7 @@ public struct Interaction: Codable, Identifiable, Equatable, FetchableRecord, Mu
disappearingMessagesConfiguration.isEnabled disappearingMessagesConfiguration.isEnabled
{ {
self.expiresInSeconds = disappearingMessagesConfiguration.durationSeconds self.expiresInSeconds = disappearingMessagesConfiguration.durationSeconds
if self.variant == .standardOutgoing || disappearingMessagesConfiguration.type == .disappearAfterSend { if disappearingMessagesConfiguration.type == .disappearAfterSend {
self.expiresStartedAtMs = Double(self.timestampMs) self.expiresStartedAtMs = Double(self.timestampMs)
} }
} }

Loading…
Cancel
Save