Fix open group polling

pull/220/head
nielsandriesse 5 years ago
parent 8749913112
commit f59816af7d

@ -25,16 +25,19 @@ public final class LokiPublicChatPoller : NSObject {
@objc public func startIfNeeded() { @objc public func startIfNeeded() {
if hasStarted { return } if hasStarted { return }
pollForNewMessagesTimer = Timer.scheduledTimer(withTimeInterval: pollForNewMessagesInterval, repeats: true) { [weak self] _ in self?.pollForNewMessages() } DispatchQueue.main.async { [weak self] in // Timers don't do well on background queues
pollForDeletedMessagesTimer = Timer.scheduledTimer(withTimeInterval: pollForDeletedMessagesInterval, repeats: true) { [weak self] _ in self?.pollForDeletedMessages() } guard let strongSelf = self else { return }
pollForModeratorsTimer = Timer.scheduledTimer(withTimeInterval: pollForModeratorsInterval, repeats: true) { [weak self] _ in self?.pollForModerators() } strongSelf.pollForNewMessagesTimer = Timer.scheduledTimer(withTimeInterval: strongSelf.pollForNewMessagesInterval, repeats: true) { _ in self?.pollForNewMessages() }
pollForDisplayNamesTimer = Timer.scheduledTimer(withTimeInterval: pollForDisplayNamesInterval, repeats: true) { [weak self] _ in self?.pollForDisplayNames() } strongSelf.pollForDeletedMessagesTimer = Timer.scheduledTimer(withTimeInterval: strongSelf.pollForDeletedMessagesInterval, repeats: true) { _ in self?.pollForDeletedMessages() }
// Perform initial updates strongSelf.pollForModeratorsTimer = Timer.scheduledTimer(withTimeInterval: strongSelf.pollForModeratorsInterval, repeats: true) { _ in self?.pollForModerators() }
pollForNewMessages() strongSelf.pollForDisplayNamesTimer = Timer.scheduledTimer(withTimeInterval: strongSelf.pollForDisplayNamesInterval, repeats: true) { _ in self?.pollForDisplayNames() }
pollForDeletedMessages() // Perform initial updates
pollForModerators() strongSelf.pollForNewMessages()
pollForDisplayNames() strongSelf.pollForDeletedMessages()
hasStarted = true strongSelf.pollForModerators()
strongSelf.pollForDisplayNames()
strongSelf.hasStarted = true
}
} }
@objc public func stop() { @objc public func stop() {

Loading…
Cancel
Save