|
|
@ -189,9 +189,8 @@ public enum MessageReceiver {
|
|
|
|
// follow the new config.
|
|
|
|
// follow the new config.
|
|
|
|
try MessageReceiver.updateDisappearingMessagesConfigurationIfNeeded(
|
|
|
|
try MessageReceiver.updateDisappearingMessagesConfigurationIfNeeded(
|
|
|
|
db,
|
|
|
|
db,
|
|
|
|
threadId: message.threadId,
|
|
|
|
message: message,
|
|
|
|
sender: message.sender,
|
|
|
|
openGroupId: openGroupId,
|
|
|
|
sentTimestamp: message.sentTimestamp,
|
|
|
|
|
|
|
|
proto: proto
|
|
|
|
proto: proto
|
|
|
|
)
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
@ -319,12 +318,15 @@ public enum MessageReceiver {
|
|
|
|
|
|
|
|
|
|
|
|
internal static func updateDisappearingMessagesConfigurationIfNeeded(
|
|
|
|
internal static func updateDisappearingMessagesConfigurationIfNeeded(
|
|
|
|
_ db: Database,
|
|
|
|
_ db: Database,
|
|
|
|
threadId: String?,
|
|
|
|
message: Message,
|
|
|
|
sender: String?,
|
|
|
|
openGroupId: String?,
|
|
|
|
sentTimestamp: UInt64?,
|
|
|
|
|
|
|
|
proto: SNProtoContent
|
|
|
|
proto: SNProtoContent
|
|
|
|
) throws {
|
|
|
|
) throws {
|
|
|
|
guard let threadId = threadId, let sender = sender, proto.hasLastDisappearingMessageChangeTimestamp else { return }
|
|
|
|
guard
|
|
|
|
|
|
|
|
let (threadId, _) = MessageReceiver.threadInfo(db, message: message, openGroupId: openGroupId),
|
|
|
|
|
|
|
|
let sender = message.sender,
|
|
|
|
|
|
|
|
proto.hasLastDisappearingMessageChangeTimestamp
|
|
|
|
|
|
|
|
else { return }
|
|
|
|
|
|
|
|
|
|
|
|
let protoLastChangeTimestampMs: Int64 = Int64(proto.lastDisappearingMessageChangeTimestamp)
|
|
|
|
let protoLastChangeTimestampMs: Int64 = Int64(proto.lastDisappearingMessageChangeTimestamp)
|
|
|
|
let localConfig: DisappearingMessagesConfiguration = try DisappearingMessagesConfiguration
|
|
|
|
let localConfig: DisappearingMessagesConfiguration = try DisappearingMessagesConfiguration
|
|
|
@ -355,7 +357,7 @@ public enum MessageReceiver {
|
|
|
|
nil
|
|
|
|
nil
|
|
|
|
)
|
|
|
|
)
|
|
|
|
),
|
|
|
|
),
|
|
|
|
timestampMs: Int64(sentTimestamp ?? 0)
|
|
|
|
timestampMs: protoLastChangeTimestampMs
|
|
|
|
).inserted(db)
|
|
|
|
).inserted(db)
|
|
|
|
|
|
|
|
|
|
|
|
try remoteConfig.save(db)
|
|
|
|
try remoteConfig.save(db)
|
|
|
|