From 4b8011ad7e7cc81ca0be98c05b4dcf7fece9e6e5 Mon Sep 17 00:00:00 2001 From: Niels Andriesse Date: Mon, 2 Sep 2019 14:06:20 +1000 Subject: [PATCH] Fix dependence on self --- Signal/src/Loki/LokiGroupChatPoller.swift | 133 +++++++++--------- .../src/Messages/Interactions/TSMessage.h | 2 +- .../src/Messages/Interactions/TSMessage.m | 2 +- 3 files changed, 65 insertions(+), 72 deletions(-) diff --git a/Signal/src/Loki/LokiGroupChatPoller.swift b/Signal/src/Loki/LokiGroupChatPoller.swift index 225faffdf..ace8f9122 100644 --- a/Signal/src/Loki/LokiGroupChatPoller.swift +++ b/Signal/src/Loki/LokiGroupChatPoller.swift @@ -6,14 +6,14 @@ public final class LokiGroupChatPoller : NSObject { private var pollForDeletedMessagesTimer: Timer? = nil private var pollForModerationPermissionTimer: Timer? = nil private var hasStarted = false + private let userHexEncodedPublicKey = OWSIdentityManager.shared().identityKeyPair()!.hexEncodedPublicKey + // MARK: Settings private let pollForNewMessagesInterval: TimeInterval = 4 private let pollForDeletedMessagesInterval: TimeInterval = 20 private let pollForModerationPermissionInterval: TimeInterval = 10 * 60 - private let storage = OWSPrimaryStorage.shared() - private let ourHexEncodedPubKey = OWSIdentityManager.shared().identityKeyPair()!.hexEncodedPublicKey - + // MARK: Lifecycle @objc(initForGroup:) public init(for group: LokiGroupChat) { self.group = group @@ -36,82 +36,74 @@ public final class LokiGroupChatPoller : NSObject { hasStarted = false } + // MARK: Polling private func pollForNewMessages() { + // Prepare let group = self.group - let _ = LokiGroupChatAPI.getMessages(for: group.serverID, on: group.server).done { [weak self] messages in - guard let self = self else { return } + let userHexEncodedPublicKey = self.userHexEncodedPublicKey + // Processing logic for incoming messages + func processIncomingMessage(_ message: LokiGroupMessage) { + let senderHexEncodedPublicKey = message.hexEncodedPublicKey + let endIndex = senderHexEncodedPublicKey.endIndex + let cutoffIndex = senderHexEncodedPublicKey.index(endIndex, offsetBy: -8) + let senderDisplayName = "\(message.displayName) (...\(senderHexEncodedPublicKey[cutoffIndex.. 0;