From af58fa87cc024981c9fc342f33698c908761d5cb Mon Sep 17 00:00:00 2001 From: nielsandriesse Date: Wed, 17 Jun 2020 09:22:40 +1000 Subject: [PATCH] Clean up TTL settings --- .../Protocol/Message Types/TTLUtilities.swift | 42 +++++++------------ 1 file changed, 16 insertions(+), 26 deletions(-) diff --git a/SignalServiceKit/src/Loki/Protocol/Message Types/TTLUtilities.swift b/SignalServiceKit/src/Loki/Protocol/Message Types/TTLUtilities.swift index 4d926f0e0..ecac3e1a0 100644 --- a/SignalServiceKit/src/Loki/Protocol/Message Types/TTLUtilities.swift +++ b/SignalServiceKit/src/Loki/Protocol/Message Types/TTLUtilities.swift @@ -3,40 +3,30 @@ public final class TTLUtilities : NSObject { /// If a message type specifies an invalid TTL, this will be used. - public static let fallbackMessageTTL: UInt64 = 4 * 24 * 60 * 60 * 1000 + public static let fallbackMessageTTL: UInt64 = 2 * kDayInMs @objc(LKMessageType) public enum MessageType : Int { - case address - case call - case disappearingMessagesConfiguration - case ephemeral - case friendRequest + // Unimportant control messages + case call, typingIndicator + // Somewhat important control messages case linkDevice - case profileKey - case receipt - case regular - case sessionRequest - case sync - case typingIndicator - case unlinkDevice + // Important control messages + case disappearingMessagesConfiguration, ephemeral, profileKey, receipt, sessionRequest, sync, unlinkDevice + // Visible messages + case friendRequest, regular } @objc public static func getTTL(for messageType: MessageType) -> UInt64 { switch messageType { - case .address: return 1 * kMinuteInMs - case .call: return 1 * kMinuteInMs - case .disappearingMessagesConfiguration: return 4 * kDayInMs - 1 * kHourInMs - case .ephemeral: return 4 * kDayInMs - 1 * kHourInMs - case .friendRequest: return 4 * kDayInMs - case .linkDevice: return 4 * kMinuteInMs - case .profileKey: return 4 * kDayInMs - 1 * kHourInMs - case .receipt: return 4 * kDayInMs - 1 * kHourInMs - case .regular: return 2 * kDayInMs - case .sessionRequest: return 4 * kDayInMs - 1 * kHourInMs - case .sync: return 4 * kDayInMs - 1 * kHourInMs - case .typingIndicator: return 1 * kMinuteInMs - case .unlinkDevice: return 4 * kDayInMs - 1 * kHourInMs + // Unimportant control messages + case .call, .typingIndicator: return 1 * kMinuteInMs + // Somewhat important control messages + case .linkDevice: return 1 * kHourInMs + // Important control messages + case .disappearingMessagesConfiguration, .ephemeral, .profileKey, .receipt, .sessionRequest, .sync, .unlinkDevice: return 2 * kDayInMs - 1 * kHourInMs + // Visible messages + case .friendRequest, .regular: return 2 * kDayInMs } } }