mirror of
https://github.com/oxen-io/session-ios.git
synced 2023-12-13 21:30:14 +01:00
Fix promise deallocations
This commit is contained in:
parent
9cda22b640
commit
5d74bf1cca
2 changed files with 5 additions and 5 deletions
|
@ -79,6 +79,7 @@ public final class ClosedGroupPoller : NSObject {
|
|||
promise.catch2 { error in
|
||||
SNLog("Polling failed for closed group with public key: \(publicKey) due to error: \(error).")
|
||||
}
|
||||
promise.retainUntilComplete()
|
||||
return promise.map { _ in }
|
||||
}
|
||||
}
|
||||
|
|
|
@ -69,7 +69,6 @@ public final class OpenGroupPoller : NSObject {
|
|||
guard !self.isPolling else { return Promise.value(()) }
|
||||
self.isPolling = true
|
||||
let openGroup = self.openGroup
|
||||
let userPublicKey = getUserHexEncodedPublicKey()
|
||||
let (promise, seal) = Promise<Void>.pending()
|
||||
promise.retainUntilComplete()
|
||||
OpenGroupAPI.getMessages(for: openGroup.channel, on: openGroup.server).done(on: DispatchQueue.global(qos: .default)) { messages in
|
||||
|
@ -177,13 +176,13 @@ public final class OpenGroupPoller : NSObject {
|
|||
}
|
||||
}.catch(on: DispatchQueue.global(qos: .userInitiated)) { _ in
|
||||
seal.fulfill(()) // The promise is just used to keep track of when we're done
|
||||
}
|
||||
}.retainUntilComplete()
|
||||
return promise
|
||||
}
|
||||
|
||||
private func pollForDeletedMessages() {
|
||||
let openGroup = self.openGroup
|
||||
let _ = OpenGroupAPI.getDeletedMessageServerIDs(for: openGroup.channel, on: openGroup.server).done(on: DispatchQueue.global(qos: .default)) { deletedMessageServerIDs in
|
||||
OpenGroupAPI.getDeletedMessageServerIDs(for: openGroup.channel, on: openGroup.server).done(on: DispatchQueue.global(qos: .default)) { deletedMessageServerIDs in
|
||||
let deletedMessageIDs = deletedMessageServerIDs.compactMap { Storage.shared.getIDForMessage(withServerID: UInt64($0)) }
|
||||
SNMessagingKitConfiguration.shared.storage.write { transaction in
|
||||
deletedMessageIDs.forEach { messageID in
|
||||
|
@ -191,10 +190,10 @@ public final class OpenGroupPoller : NSObject {
|
|||
TSMessage.fetch(uniqueId: messageID, transaction: transaction)?.remove(with: transaction)
|
||||
}
|
||||
}
|
||||
}
|
||||
}.retainUntilComplete()
|
||||
}
|
||||
|
||||
private func pollForModerators() {
|
||||
let _ = OpenGroupAPI.getModerators(for: openGroup.channel, on: openGroup.server)
|
||||
OpenGroupAPI.getModerators(for: openGroup.channel, on: openGroup.server).retainUntilComplete()
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue