fix transaction crash

This commit is contained in:
ryanzhao 2021-11-15 16:47:12 +11:00
parent 365231f309
commit e49431d2eb
2 changed files with 1 additions and 4 deletions

View File

@ -28,6 +28,7 @@ extension Storage {
let thread = TSThread.fetch(uniqueId: threadID, transaction: transaction) else { return nil }
let tsMessage: TSMessage
if message.sender == getUserPublicKey() {
if let _ = TSOutgoingMessage.find(withTimestamp: message.sentTimestamp!) { return nil }
let tsOutgoingMessage = TSOutgoingMessage.from(message, associatedWith: thread, using: transaction)
var recipients: [String] = []
if let syncTarget = message.syncTarget {

View File

@ -116,8 +116,6 @@ public final class MessageSender : NSObject {
if message.sentTimestamp == nil { // Visible messages will already have their sent timestamp set
message.sentTimestamp = NSDate.millisecondTimestamp()
}
// Ignore future self-sends
Storage.shared.addReceivedMessageTimestamp(message.sentTimestamp!, using: transaction)
message.sender = userPublicKey
switch destination {
case .contact(let publicKey): message.recipient = publicKey
@ -268,8 +266,6 @@ public final class MessageSender : NSObject {
if message.sentTimestamp == nil { // Visible messages will already have their sent timestamp set
message.sentTimestamp = NSDate.millisecondTimestamp()
}
// Ignore future self-sends
Storage.shared.addReceivedMessageTimestamp(message.sentTimestamp!, using: transaction)
message.sender = storage.getUserPublicKey()
switch destination {
case .contact(_): preconditionFailure()