WIP: make new property lastChangeTimestampsMs optional

pull/941/head
ryanzhao 1 year ago
parent 4b852987cf
commit 1f3bfde5b2

@ -51,7 +51,7 @@ public struct DisappearingMessagesConfiguration: Codable, Identifiable, Equatabl
public let isEnabled: Bool
public let durationSeconds: TimeInterval
public var type: DisappearingMessageType?
public let lastChangeTimestampMs: Int64
public let lastChangeTimestampMs: Int64?
// MARK: - Relationships

@ -73,7 +73,7 @@ public class Message: Codable {
}
proto.setExpirationTimer(UInt32(disappearingMessagesConfiguration.durationSeconds))
proto.setLastDisappearingMessageChangeTimestamp(UInt64(disappearingMessagesConfiguration.lastChangeTimestampMs))
proto.setLastDisappearingMessageChangeTimestamp(UInt64(disappearingMessagesConfiguration.lastChangeTimestampMs ?? 0))
if disappearingMessagesConfiguration.isEnabled, let type = disappearingMessagesConfiguration.type {
proto.setExpirationType(type.toProto())

@ -350,7 +350,10 @@ public enum MessageReceiver {
.fetchOne(db, id: threadId)
.defaulting(to: DisappearingMessagesConfiguration.defaultWith(threadId))
guard protoLastChangeTimestampMs > localConfig.lastChangeTimestampMs else { return }
guard
let localLastChangeTimestampMs = localConfig.lastChangeTimestampMs,
protoLastChangeTimestampMs > localLastChangeTimestampMs
else { return }
let durationSeconds: TimeInterval = proto.hasExpirationTimer ? TimeInterval(proto.expirationTimer) : 0
let isEnable: Bool = (durationSeconds != 0)

Loading…
Cancel
Save