diff --git a/SignalServiceKit/src/Loki/API/Public Chat/LokiPublicChatPoller.swift b/SignalServiceKit/src/Loki/API/Public Chat/LokiPublicChatPoller.swift index dc48dfe52..bfe443192 100644 --- a/SignalServiceKit/src/Loki/API/Public Chat/LokiPublicChatPoller.swift +++ b/SignalServiceKit/src/Loki/API/Public Chat/LokiPublicChatPoller.swift @@ -47,15 +47,22 @@ public final class LokiPublicChatPoller : NSObject { // Processing logic for incoming messages func processIncomingMessage(_ message: LokiPublicChatMessage) { let storage = OWSPrimaryStorage.shared() - var senderHexEncodedPublicKey = "" + var masterHexEncodedPublicKey: String? = nil storage.dbReadConnection.read { transaction in - senderHexEncodedPublicKey = storage.getMasterHexEncodedPublicKey(for: message.hexEncodedPublicKey, in: transaction) ?? message.hexEncodedPublicKey + masterHexEncodedPublicKey = storage.getMasterHexEncodedPublicKey(for: message.hexEncodedPublicKey, in: transaction) + } + let senderHexEncodedPublicKey = masterHexEncodedPublicKey ?? message.hexEncodedPublicKey + func generateDisplayName(from rawDisplayName: String) -> String { + let endIndex = senderHexEncodedPublicKey.endIndex + let cutoffIndex = senderHexEncodedPublicKey.index(endIndex, offsetBy: -8) + return "\(rawDisplayName) (...\(senderHexEncodedPublicKey[cutoffIndex..