Merge branch 'database-refactor' into add-documents-section

This commit is contained in:
Ryan Zhao 2022-08-08 14:58:03 +10:00
commit dc0220accc
3 changed files with 13 additions and 15 deletions

View File

@ -521,7 +521,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate, UNUserNotificationCenterD
poller.stop() poller.stop()
} }
ClosedGroupPoller.shared.stop() ClosedGroupPoller.shared.stopAllPollers()
OpenGroupManager.shared.stopPolling() OpenGroupManager.shared.stopPolling()
} }

View File

@ -501,7 +501,7 @@ public final class OpenGroupManager: NSObject {
let sortedMessages: [OpenGroupAPI.Message] = messages let sortedMessages: [OpenGroupAPI.Message] = messages
.filter { $0.deleted != true } .filter { $0.deleted != true }
.sorted { lhs, rhs in lhs.id < rhs.id } .sorted { lhs, rhs in lhs.id < rhs.id }
let messageServerIdsToRemove: [Int64] = messages var messageServerIdsToRemove: [Int64] = messages
.filter { $0.deleted == true } .filter { $0.deleted == true }
.map { $0.id } .map { $0.id }
let seqNo: Int64? = sortedMessages.map { $0.seqNo }.max() let seqNo: Int64? = sortedMessages.map { $0.seqNo }.max()
@ -518,7 +518,11 @@ public final class OpenGroupManager: NSObject {
guard guard
let base64EncodedString: String = message.base64EncodedData, let base64EncodedString: String = message.base64EncodedData,
let data = Data(base64Encoded: base64EncodedString) let data = Data(base64Encoded: base64EncodedString)
else { return } else {
// FIXME: Once the SOGS Emoji Reacts update is live we should remove this line (deprecated by the `deleted` flag)
messageServerIdsToRemove.append(Int64(message.id))
return
}
do { do {
let processedMessage: ProcessedMessage? = try Message.processReceivedOpenGroupMessage( let processedMessage: ProcessedMessage? = try Message.processReceivedOpenGroupMessage(

View File

@ -65,18 +65,12 @@ public final class ClosedGroupPoller {
setUpPolling(for: groupPublicKey) setUpPolling(for: groupPublicKey)
} }
@objc public func stop() { public func stopAllPollers() {
Storage.shared let pollers: [String] = Array(isPolling.wrappedValue.keys)
.read { db in
try ClosedGroup pollers.forEach { groupPublicKey in
.select(.threadId) self.stopPolling(for: groupPublicKey)
.asRequest(of: String.self) }
.fetchAll(db)
}
.defaulting(to: [])
.forEach { [weak self] groupPublicKey in
self?.stopPolling(for: groupPublicKey)
}
} }
public func stopPolling(for groupPublicKey: String) { public func stopPolling(for groupPublicKey: String) {