From 810a99073537040401dfeb2138135f259d38d227 Mon Sep 17 00:00:00 2001 From: Ryan ZHAO <> Date: Mon, 18 Dec 2023 11:58:03 +1100 Subject: [PATCH] fix disappearing messages for call message --- Session/Calls/Call Management/SessionCall.swift | 9 +++++++-- .../ThreadDisappearingMessagesSettingsViewModel.swift | 2 ++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/Session/Calls/Call Management/SessionCall.swift b/Session/Calls/Call Management/SessionCall.swift index 853712fe0..2036e09f9 100644 --- a/Session/Calls/Call Management/SessionCall.swift +++ b/Session/Calls/Call Management/SessionCall.swift @@ -221,21 +221,26 @@ public final class SessionCall: CurrentCallProtocol, WebRTCSessionDelegate { let webRTCSession: WebRTCSession = self.webRTCSession let timestampMs: Int64 = SnodeAPI.currentOffsetTimestampMs() + let disappearingMessagesConfiguration = try? thread.disappearingMessagesConfiguration.fetchOne(db) let message: CallMessage = CallMessage( uuid: self.uuid, kind: .preOffer, sdps: [], sentTimestampMs: UInt64(timestampMs) ) + message.expiresInSeconds = disappearingMessagesConfiguration?.durationSeconds + message.expiresStartedAtMs = disappearingMessagesConfiguration?.type == .disappearAfterSend ? Double(timestampMs) : nil + let interaction: Interaction? = try? Interaction( messageUuid: self.uuid, threadId: sessionId, authorId: getUserHexEncodedPublicKey(db), variant: .infoCall, body: String(data: messageInfoData, encoding: .utf8), - timestampMs: timestampMs + timestampMs: timestampMs, + expiresInSeconds: message.expiresInSeconds, + expiresStartedAtMs: message.expiresStartedAtMs ) - .withDisappearingMessagesConfiguration(db) .inserted(db) self.callInteractionId = interaction?.id diff --git a/Session/Conversations/Settings/ThreadDisappearingMessagesSettingsViewModel.swift b/Session/Conversations/Settings/ThreadDisappearingMessagesSettingsViewModel.swift index 909dca067..bd8fcb10c 100644 --- a/Session/Conversations/Settings/ThreadDisappearingMessagesSettingsViewModel.swift +++ b/Session/Conversations/Settings/ThreadDisappearingMessagesSettingsViewModel.swift @@ -500,6 +500,8 @@ class ThreadDisappearingMessagesSettingsViewModel: SessionTableViewModel, Naviga duration: duration ) expirationTimerUpdateMessage.sentTimestamp = UInt64(currentTimestampMs) + expirationTimerUpdateMessage.expiresInSeconds = updatedConfig.durationSeconds + expirationTimerUpdateMessage.expiresStartedAtMs = updatedConfig.type == .disappearAfterSend ? Double(currentTimestampMs) : nil try MessageSender.send( db,