fix a crash caused by database write method reentrance

pull/794/head
Ryan Zhao 2 years ago
parent 4404dda331
commit c9b9400e9e

@ -747,21 +747,19 @@ public final class MessageSender {
if let message = message as? VisibleMessage { message.syncTarget = publicKey } if let message = message as? VisibleMessage { message.syncTarget = publicKey }
if let message = message as? ExpirationTimerUpdate { message.syncTarget = publicKey } if let message = message as? ExpirationTimerUpdate { message.syncTarget = publicKey }
Storage.shared.write { db in JobRunner.add(
JobRunner.add( db,
db, job: Job(
job: Job( variant: .messageSend,
variant: .messageSend, threadId: threadId,
threadId: threadId, interactionId: interactionId,
interactionId: interactionId, details: MessageSendJob.Details(
details: MessageSendJob.Details( destination: .contact(publicKey: currentUserPublicKey),
destination: .contact(publicKey: currentUserPublicKey), message: message,
message: message, isSyncMessage: true
isSyncMessage: true
)
) )
) )
} )
} }
} }
} }

Loading…
Cancel
Save