fix an issue where expiration update control messages won't be marked as read on linked devices

pull/731/head
Ryan ZHAO 7 months ago
parent b22fe40d6e
commit 0aa32bcab3

@ -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,

@ -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)

Loading…
Cancel
Save