fix an issue where disappearing messages settings in groups won't be synced on new linked devices

pull/731/head
Ryan ZHAO 4 months ago
parent da0a459e89
commit ce1eee2018

@ -185,16 +185,17 @@ extension MessageReceiver {
} }
// Update the DisappearingMessages config // Update the DisappearingMessages config
let isEnabled: Bool = (expirationTimer > 0) var disappearingConfig = DisappearingMessagesConfiguration.defaultWith(thread.id)
let disappearingConfig: DisappearingMessagesConfiguration = try thread.disappearingMessagesConfiguration if (try? thread.disappearingMessagesConfiguration.fetchOne(db)) == nil {
.fetchOne(db) let isEnabled: Bool = (expirationTimer > 0)
.defaulting(to: DisappearingMessagesConfiguration.defaultWith(thread.id)) disappearingConfig = try disappearingConfig
.with( .with(
isEnabled: isEnabled, isEnabled: isEnabled,
durationSeconds: TimeInterval(expirationTimer), durationSeconds: TimeInterval(expirationTimer),
type: isEnabled ? .disappearAfterSend : .unknown type: isEnabled ? .disappearAfterSend : .unknown
) )
.saved(db) .saved(db)
}
// Store the key pair if it doesn't already exist // Store the key pair if it doesn't already exist
let receivedTimestamp: TimeInterval = (TimeInterval(SnodeAPI.currentOffsetTimestampMs()) / 1000) let receivedTimestamp: TimeInterval = (TimeInterval(SnodeAPI.currentOffsetTimestampMs()) / 1000)

Loading…
Cancel
Save