From d3f0ed81f71fe9386dd21ef8ac5432828c9b4ef4 Mon Sep 17 00:00:00 2001 From: nielsandriesse Date: Wed, 9 Dec 2020 16:14:49 +1100 Subject: [PATCH] Fix another compatibility issue --- .../Messages/Control Messages/ClosedGroupUpdate.swift | 5 ++++- .../Messages/Visible Messages/VisibleMessage.swift | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/SessionMessagingKit/Messages/Control Messages/ClosedGroupUpdate.swift b/SessionMessagingKit/Messages/Control Messages/ClosedGroupUpdate.swift index 1a0931e51..6b76ac2ec 100644 --- a/SessionMessagingKit/Messages/Control Messages/ClosedGroupUpdate.swift +++ b/SessionMessagingKit/Messages/Control Messages/ClosedGroupUpdate.swift @@ -161,7 +161,10 @@ public final class ClosedGroupUpdate : ControlMessage { // Expiration timer // TODO: We * want * expiration timer updates to be explicit. But currently Android will disable the expiration timer for a conversation // if it receives a message without the current expiration timer value attached to it... - let expiration = OWSDisappearingMessagesConfiguration.fetch(uniqueId: threadID!, transaction: transaction)?.durationSeconds ?? 0 + var expiration: UInt32 = 0 + if let disappearingMessagesConfiguration = OWSDisappearingMessagesConfiguration.fetch(uniqueId: threadID!, transaction: transaction) { + expiration = disappearingMessagesConfiguration.isEnabled ? disappearingMessagesConfiguration.durationSeconds : 0 + } dataMessageProto.setExpireTimer(expiration) contentProto.setDataMessage(try dataMessageProto.build()) return try contentProto.build() diff --git a/SessionMessagingKit/Messages/Visible Messages/VisibleMessage.swift b/SessionMessagingKit/Messages/Visible Messages/VisibleMessage.swift index 2b1f62abc..c2e30818f 100644 --- a/SessionMessagingKit/Messages/Visible Messages/VisibleMessage.swift +++ b/SessionMessagingKit/Messages/Visible Messages/VisibleMessage.swift @@ -89,7 +89,10 @@ public final class VisibleMessage : Message { // Expiration timer // TODO: We * want * expiration timer updates to be explicit. But currently Android will disable the expiration timer for a conversation // if it receives a message without the current expiration timer value attached to it... - let expiration = OWSDisappearingMessagesConfiguration.fetch(uniqueId: threadID!, transaction: transaction)?.durationSeconds ?? 0 + var expiration: UInt32 = 0 + if let disappearingMessagesConfiguration = OWSDisappearingMessagesConfiguration.fetch(uniqueId: threadID!, transaction: transaction) { + expiration = disappearingMessagesConfiguration.isEnabled ? disappearingMessagesConfiguration.durationSeconds : 0 + } dataMessage.setExpireTimer(expiration) // Group context do {