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 isEnabled: Bool
public let durationSeconds: TimeInterval public let durationSeconds: TimeInterval
public var type: DisappearingMessageType? public var type: DisappearingMessageType?
public let lastChangeTimestampMs: Int64 public let lastChangeTimestampMs: Int64?
// MARK: - Relationships // MARK: - Relationships

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

@ -350,7 +350,10 @@ public enum MessageReceiver {
.fetchOne(db, id: threadId) .fetchOne(db, id: threadId)
.defaulting(to: DisappearingMessagesConfiguration.defaultWith(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 durationSeconds: TimeInterval = proto.hasExpirationTimer ? TimeInterval(proto.expirationTimer) : 0
let isEnable: Bool = (durationSeconds != 0) let isEnable: Bool = (durationSeconds != 0)

Loading…
Cancel
Save