diff --git a/Session/Conversations/Settings/ThreadDisappearingMessagesSettingsViewModel.swift b/Session/Conversations/Settings/ThreadDisappearingMessagesSettingsViewModel.swift index 669589abe..909dca067 100644 --- a/Session/Conversations/Settings/ThreadDisappearingMessagesSettingsViewModel.swift +++ b/Session/Conversations/Settings/ThreadDisappearingMessagesSettingsViewModel.swift @@ -494,13 +494,16 @@ class ThreadDisappearingMessagesSettingsViewModel: SessionTableViewModel, Naviga guard !Features.useNewDisappearingMessagesConfig else { return nil } return UInt32(floor(updatedConfig.isEnabled ? updatedConfig.durationSeconds : 0)) }() + + let expirationTimerUpdateMessage: ExpirationTimerUpdate = ExpirationTimerUpdate( + syncTarget: nil, + duration: duration + ) + expirationTimerUpdateMessage.sentTimestamp = UInt64(currentTimestampMs) try MessageSender.send( db, - message: ExpirationTimerUpdate( - syncTarget: nil, - duration: duration - ), + message: expirationTimerUpdateMessage, interactionId: interactionId, threadId: threadId, threadVariant: threadVariant, diff --git a/SessionMessagingKit/Jobs/Types/GetExpirationJob.swift b/SessionMessagingKit/Jobs/Types/GetExpirationJob.swift index c784aabe4..fc0c4f7b2 100644 --- a/SessionMessagingKit/Jobs/Types/GetExpirationJob.swift +++ b/SessionMessagingKit/Jobs/Types/GetExpirationJob.swift @@ -85,6 +85,8 @@ public enum GetExpirationJob: JobExecutor { ) } + // FIXME: If currentTimestampMs - messageSentTimestampMs > expirationTimer, the message might already be expired and removed directly + try Interaction .filter(hashesToUseDefault.contains(Interaction.Columns.serverHash)) .filter(Interaction.Columns.expiresStartedAtMs == nil)