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