diff --git a/SignalServiceKit/src/Loki/Database/Storage.swift b/SignalServiceKit/src/Loki/Database/Storage.swift index 65a9e019b..79496ab84 100644 --- a/SignalServiceKit/src/Loki/Database/Storage.swift +++ b/SignalServiceKit/src/Loki/Database/Storage.swift @@ -53,9 +53,9 @@ public final class Storage : NSObject { public static func write(with block: @escaping (YapDatabaseReadWriteTransaction) -> Void, completion: @escaping () -> Void) -> Promise { let (promise, seal) = Promise.pending() serialQueue.async { - owsStorage.dbReadWriteConnection.readWrite(block) - DispatchQueue.main.async { - completion() + owsStorage.dbReadWriteConnection.readWrite { transaction in + transaction.addCompletionQueue(DispatchQueue.main, completionBlock: completion) + block(transaction) } seal.fulfill(()) }