fix expire timer update message

pull/941/head
ryanzhao 2 years ago
parent f345578d76
commit ea44a16f9d

@ -449,12 +449,17 @@ class ThreadDisappearingMessagesViewModel: SessionTableViewModel<ThreadDisappear
timestampMs: Int64(floor(Date().timeIntervalSince1970 * 1000))
)
.inserted(db)
let duration: UInt32? = {
guard !DisappearingMessagesConfiguration.isNewConfigurationEnabled else { return nil }
return UInt32(floor(updatedConfig.isEnabled ? updatedConfig.durationSeconds : 0))
}()
try MessageSender.send(
db,
message: ExpirationTimerUpdate(
syncTarget: nil,
duration: UInt32(floor(updatedConfig.isEnabled ? updatedConfig.durationSeconds : 0))
duration: duration
),
interactionId: interaction.id,
in: thread

@ -5,7 +5,8 @@ import GRDB
import SessionUtilitiesKit
public struct DisappearingMessagesConfiguration: Codable, Identifiable, Equatable, Hashable, FetchableRecord, PersistableRecord, TableRecord, ColumnExpressible {
public static let isNewConfigurationEnabled: Bool = Date().timeIntervalSince1970 > 1671062400 // 15/12/2022
// public static let isNewConfigurationEnabled: Bool = Date().timeIntervalSince1970 > 1671062400 // 15/12/2022
public static let isNewConfigurationEnabled: Bool = true
public static var databaseTableName: String { "disappearingMessagesConfiguration" }
internal static let threadForeignKey = ForeignKey([Columns.threadId], to: [SessionThread.Columns.id])

@ -31,7 +31,7 @@ public final class ExpirationTimerUpdate: ControlMessage {
public override var isValid: Bool {
guard super.isValid else { return false }
return duration != nil
return duration != nil || DisappearingMessagesConfiguration.isNewConfigurationEnabled
}
// MARK: - Codable
@ -69,13 +69,9 @@ public final class ExpirationTimerUpdate: ControlMessage {
}
public override func toProto(_ db: Database) -> SNProtoContent? {
guard let duration = duration else {
SNLog("Couldn't construct expiration timer update proto from: \(self).")
return nil
}
let dataMessageProto = SNProtoDataMessage.builder()
dataMessageProto.setFlags(UInt32(SNProtoDataMessage.SNProtoDataMessageFlags.expirationTimerUpdate.rawValue))
dataMessageProto.setExpireTimer(duration)
if let duration = duration { dataMessageProto.setExpireTimer(duration) }
if let syncTarget = syncTarget { dataMessageProto.setSyncTarget(syncTarget) }
// Group context
do {

Loading…
Cancel
Save