check if the incoming message is already in database before persisting
This commit is contained in:
parent
c9b9104e8a
commit
b920dbcc10
|
@ -42,6 +42,7 @@ extension Storage {
|
|||
}
|
||||
tsMessage = tsOutgoingMessage
|
||||
} else {
|
||||
if let _ = TSIncomingMessage.find(withAuthorId: message.sender!, timestamp: message.sentTimestamp!, transaction: transaction) { return nil }
|
||||
tsMessage = TSIncomingMessage.from(message, quotedMessage: quotedMessage, linkPreview: linkPreview, associatedWith: thread)
|
||||
}
|
||||
tsMessage.save(with: transaction)
|
||||
|
|
|
@ -365,7 +365,7 @@ extension MessageReceiver {
|
|||
}
|
||||
// Persist the message
|
||||
guard let tsMessageID = storage.persist(message, quotedMessage: tsQuotedMessage, linkPreview: owsLinkPreview,
|
||||
groupPublicKey: message.groupPublicKey, openGroupID: openGroupID, using: transaction) else { throw Error.noThread }
|
||||
groupPublicKey: message.groupPublicKey, openGroupID: openGroupID, using: transaction) else { throw Error.duplicateMessage }
|
||||
message.threadID = threadID
|
||||
// Start attachment downloads if needed
|
||||
let isContactTrusted = Storage.shared.getContact(with: message.sender!)?.isTrusted ?? false
|
||||
|
|
Loading…
Reference in New Issue