Avoid nested write transaction

pull/135/head
Niels Andriesse 6 years ago
parent ce0d3fa9ec
commit bfbbfa85a5

@ -134,10 +134,13 @@ final class ConversationTitleView : UIView {
private func clearStatusIfNeededForMessageWithTimestamp(_ timestamp: NSNumber) { private func clearStatusIfNeededForMessageWithTimestamp(_ timestamp: NSNumber) {
var uncheckedTargetInteraction: TSInteraction? = nil var uncheckedTargetInteraction: TSInteraction? = nil
thread.enumerateInteractions { interaction in OWSPrimaryStorage.shared().dbReadConnection.read { transaction in
guard interaction.timestamp == timestamp.uint64Value else { return } guard let interactionsByThread = transaction.ext(TSMessageDatabaseViewExtensionName) as? YapDatabaseViewTransaction else { return }
interactionsByThread.enumerateKeysAndObjects(inGroup: self.thread.uniqueId!) { _, _, object, _, _ in
guard let interaction = object as? TSInteraction, interaction.timestamp == timestamp.uint64Value else { return }
uncheckedTargetInteraction = interaction uncheckedTargetInteraction = interaction
} }
}
guard let targetInteraction = uncheckedTargetInteraction, targetInteraction.interactionType() == .outgoingMessage else { return } guard let targetInteraction = uncheckedTargetInteraction, targetInteraction.interactionType() == .outgoingMessage else { return }
self.currentStatus = nil self.currentStatus = nil
} }

Loading…
Cancel
Save