diff --git a/SignalServiceKit/src/Devices/OWSReceiptsForSenderMessage.m b/SignalServiceKit/src/Devices/OWSReceiptsForSenderMessage.m index f11862381..581f6ee45 100644 --- a/SignalServiceKit/src/Devices/OWSReceiptsForSenderMessage.m +++ b/SignalServiceKit/src/Devices/OWSReceiptsForSenderMessage.m @@ -130,6 +130,10 @@ NS_ASSUME_NONNULL_BEGIN stringWithFormat:@"%@ with message timestamps: %lu", self.logTag, (unsigned long)self.messageTimestamps.count]; } +#pragma mark - Other + +- (uint)ttl { return (uint)[LKTTLUtilities getTTLFor:LKMessageTypeReceipt]; } + @end NS_ASSUME_NONNULL_END diff --git a/SignalServiceKit/src/Loki/Protocol/Meta/TTL.swift b/SignalServiceKit/src/Loki/Protocol/Meta/TTL.swift index 552f791ba..4d926f0e0 100644 --- a/SignalServiceKit/src/Loki/Protocol/Meta/TTL.swift +++ b/SignalServiceKit/src/Loki/Protocol/Meta/TTL.swift @@ -8,11 +8,16 @@ public final class TTLUtilities : NSObject { @objc(LKMessageType) public enum MessageType : Int { case address + case call + case disappearingMessagesConfiguration case ephemeral case friendRequest case linkDevice + case profileKey + case receipt case regular case sessionRequest + case sync case typingIndicator case unlinkDevice } @@ -20,11 +25,16 @@ public final class TTLUtilities : NSObject { @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 .sessionRequest: return 4 * kDayInMs - 1 * kHourInMs + 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 } diff --git a/SignalServiceKit/src/Messages/DeviceSyncing/OWSOutgoingSyncMessage.m b/SignalServiceKit/src/Messages/DeviceSyncing/OWSOutgoingSyncMessage.m index f510f6e34..8bc0db631 100644 --- a/SignalServiceKit/src/Messages/DeviceSyncing/OWSOutgoingSyncMessage.m +++ b/SignalServiceKit/src/Messages/DeviceSyncing/OWSOutgoingSyncMessage.m @@ -60,6 +60,8 @@ NS_ASSUME_NONNULL_BEGIN return self; } +- (uint)ttl { return (uint)[LKTTLUtilities getTTLFor:LKMessageTypeSync]; } + - (BOOL)shouldBeSaved { return NO; diff --git a/SignalServiceKit/src/Messages/DeviceSyncing/OWSSyncGroupsRequestMessage.m b/SignalServiceKit/src/Messages/DeviceSyncing/OWSSyncGroupsRequestMessage.m index 2725db799..26c333d21 100644 --- a/SignalServiceKit/src/Messages/DeviceSyncing/OWSSyncGroupsRequestMessage.m +++ b/SignalServiceKit/src/Messages/DeviceSyncing/OWSSyncGroupsRequestMessage.m @@ -42,6 +42,8 @@ NS_ASSUME_NONNULL_BEGIN return self; } +- (uint)ttl { return (uint)[LKTTLUtilities getTTLFor:LKMessageTypeSync]; } + - (BOOL)shouldBeSaved { return NO; diff --git a/SignalServiceKit/src/Messages/Interactions/OWSDisappearingMessagesConfigurationMessage.m b/SignalServiceKit/src/Messages/Interactions/OWSDisappearingMessagesConfigurationMessage.m index 3c86ffbec..6248a06c6 100644 --- a/SignalServiceKit/src/Messages/Interactions/OWSDisappearingMessagesConfigurationMessage.m +++ b/SignalServiceKit/src/Messages/Interactions/OWSDisappearingMessagesConfigurationMessage.m @@ -24,6 +24,8 @@ NS_ASSUME_NONNULL_BEGIN return NO; } +- (uint)ttl { return (uint)[LKTTLUtilities getTTLFor:LKMessageTypeDisappearingMessagesConfiguration]; } + - (instancetype)initWithConfiguration:(OWSDisappearingMessagesConfiguration *)configuration thread:(TSThread *)thread { // MJK TODO - remove sender timestamp diff --git a/SignalServiceKit/src/Messages/Interactions/OWSEndSessionMessage.m b/SignalServiceKit/src/Messages/Interactions/OWSEndSessionMessage.m index 6f2a53e94..d03ad04d6 100644 --- a/SignalServiceKit/src/Messages/Interactions/OWSEndSessionMessage.m +++ b/SignalServiceKit/src/Messages/Interactions/OWSEndSessionMessage.m @@ -36,6 +36,8 @@ NS_ASSUME_NONNULL_BEGIN return NO; } +- (uint)ttl { return (uint)[LKTTLUtilities getTTLFor:LKMessageTypeEphemeral]; } + - (nullable SSKProtoDataMessageBuilder *)dataMessageBuilder { SSKProtoDataMessageBuilder *_Nullable builder = [super dataMessageBuilder]; diff --git a/SignalServiceKit/src/Messages/OWSOutgoingCallMessage.m b/SignalServiceKit/src/Messages/OWSOutgoingCallMessage.m index 4ad3b1ec7..cf4a36f10 100644 --- a/SignalServiceKit/src/Messages/OWSOutgoingCallMessage.m +++ b/SignalServiceKit/src/Messages/OWSOutgoingCallMessage.m @@ -162,6 +162,8 @@ NS_ASSUME_NONNULL_BEGIN #pragma mark - TSYapDatabaseObject overrides +- (uint)ttl { return (uint)[LKTTLUtilities getTTLFor:LKMessageTypeCall]; } + - (BOOL)shouldBeSaved { return NO; diff --git a/SignalServiceKit/src/Messages/OWSOutgoingNullMessage.m b/SignalServiceKit/src/Messages/OWSOutgoingNullMessage.m index 04e091d80..b84ec97cc 100644 --- a/SignalServiceKit/src/Messages/OWSOutgoingNullMessage.m +++ b/SignalServiceKit/src/Messages/OWSOutgoingNullMessage.m @@ -84,6 +84,8 @@ NS_ASSUME_NONNULL_BEGIN return contentData; } +- (uint)ttl { return (uint)[LKTTLUtilities getTTLFor:LKMessageTypeEphemeral]; } + - (BOOL)shouldSyncTranscript { return NO; diff --git a/SignalServiceKit/src/Messages/OWSProfileKeyMessage.m b/SignalServiceKit/src/Messages/OWSProfileKeyMessage.m index 94adee225..6a3936e36 100644 --- a/SignalServiceKit/src/Messages/OWSProfileKeyMessage.m +++ b/SignalServiceKit/src/Messages/OWSProfileKeyMessage.m @@ -32,6 +32,8 @@ NS_ASSUME_NONNULL_BEGIN return [super initWithCoder:coder]; } +- (uint)ttl { return (uint)[LKTTLUtilities getTTLFor:LKMessageTypeProfileKey]; } + - (BOOL)shouldBeSaved { return NO;