From 915159db7d4960621298c95995682ffa46e866a1 Mon Sep 17 00:00:00 2001 From: Niels Andriesse Date: Tue, 27 Aug 2019 13:50:31 +1000 Subject: [PATCH] Disable deletion polling for RSS feeds --- Signal/src/Loki/LokiGroupChatPoller.swift | 11 +++++++++-- SignalServiceKit/src/Loki/API/LokiGroupChat.swift | 1 + 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/Signal/src/Loki/LokiGroupChatPoller.swift b/Signal/src/Loki/LokiGroupChatPoller.swift index 45401519f..9609f00c3 100644 --- a/Signal/src/Loki/LokiGroupChatPoller.swift +++ b/Signal/src/Loki/LokiGroupChatPoller.swift @@ -13,7 +13,12 @@ public final class LokiGroupChatPoller : NSObject { } }() - private let pollForDeletedMessagesInterval: TimeInterval = 32 * 60 + private lazy var pollForDeletedMessagesInterval: TimeInterval = { + switch group.kind { + case .publicChat(_): return 32 * 60 + case .rss(_): preconditionFailure() + } + }() @objc(initForGroup:) public init(for group: LokiGroupChat) { @@ -24,7 +29,9 @@ public final class LokiGroupChatPoller : 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() } + if group.isPublicChat { + pollForDeletedMessagesTimer = Timer.scheduledTimer(withTimeInterval: pollForDeletedMessagesInterval, repeats: true) { [weak self] _ in self?.pollForDeletedMessages() } + } hasStarted = true } diff --git a/SignalServiceKit/src/Loki/API/LokiGroupChat.swift b/SignalServiceKit/src/Loki/API/LokiGroupChat.swift index be6e36213..07bb21d27 100644 --- a/SignalServiceKit/src/Loki/API/LokiGroupChat.swift +++ b/SignalServiceKit/src/Loki/API/LokiGroupChat.swift @@ -13,6 +13,7 @@ public final class LokiGroupChat : NSObject { } } + // MARK: Convenience @objc public var isPublicChat: Bool { if case .publicChat(_) = kind { return true } else { return false } }