Merge branch 'database-refactor' into ui-media-message
This commit is contained in:
commit
f60f68e150
|
@ -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()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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(
|
||||||
|
|
|
@ -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) {
|
||||||
|
|
Loading…
Reference in New Issue