keep disappearing message update control message for legacy mode

pull/731/head
Ryan ZHAO 7 months ago
parent 9af95a672e
commit e8ec91ba8b

@ -484,12 +484,19 @@ class ThreadDisappearingMessagesSettingsViewModel: SessionTableViewModel, Naviga
dependencies.storage.writeAsync(using: dependencies) { [threadId, threadVariant, dependencies] db in dependencies.storage.writeAsync(using: dependencies) { [threadId, threadVariant, dependencies] db in
_ = try updatedConfig.saved(db) _ = try updatedConfig.saved(db)
_ = try Interaction
.filter(Interaction.Columns.threadId == threadId)
.filter(Interaction.Columns.variant == Interaction.Variant.infoDisappearingMessagesUpdate)
.deleteAll(db)
let currentOffsetTimestampMs: Int64 = SnodeAPI.currentOffsetTimestampMs() let currentOffsetTimestampMs: Int64 = SnodeAPI.currentOffsetTimestampMs()
var expiresInSeconds: TimeInterval? = nil
var expiresStartedAtMs: Double? = nil
if Features.useNewDisappearingMessagesConfig {
_ = try Interaction
.filter(Interaction.Columns.threadId == threadId)
.filter(Interaction.Columns.variant == Interaction.Variant.infoDisappearingMessagesUpdate)
.deleteAll(db)
expiresInSeconds = (updatedConfig.isEnabled ? nil : self.config.durationSeconds)
expiresStartedAtMs = (!updatedConfig.isEnabled && self.config.type == .disappearAfterSend ? Double(currentOffsetTimestampMs) : nil)
}
let interaction: Interaction = try Interaction( let interaction: Interaction = try Interaction(
threadId: threadId, threadId: threadId,
@ -497,8 +504,8 @@ class ThreadDisappearingMessagesSettingsViewModel: SessionTableViewModel, Naviga
variant: .infoDisappearingMessagesUpdate, variant: .infoDisappearingMessagesUpdate,
body: updatedConfig.messageInfoString(with: nil, isPreviousOff: !self.config.isEnabled), body: updatedConfig.messageInfoString(with: nil, isPreviousOff: !self.config.isEnabled),
timestampMs: currentOffsetTimestampMs, timestampMs: currentOffsetTimestampMs,
expiresInSeconds: (updatedConfig.isEnabled ? nil : self.config.durationSeconds), expiresInSeconds: expiresInSeconds,
expiresStartedAtMs: (!updatedConfig.isEnabled && self.config.type == .disappearAfterSend ? Double(currentOffsetTimestampMs) : nil) expiresStartedAtMs: expiresStartedAtMs
) )
.inserted(db) .inserted(db)

@ -109,12 +109,6 @@ extension MessageReceiver {
try remoteConfig.save(db) try remoteConfig.save(db)
} }
// Remove previous info messages
_ = try Interaction
.filter(Interaction.Columns.threadId == threadId)
.filter(Interaction.Columns.variant == Interaction.Variant.infoDisappearingMessagesUpdate)
.deleteAll(db)
// Add an info message for the user // Add an info message for the user
let currentUserPublicKey: String = getUserHexEncodedPublicKey(db) let currentUserPublicKey: String = getUserHexEncodedPublicKey(db)
_ = try Interaction( _ = try Interaction(
@ -136,8 +130,7 @@ extension MessageReceiver {
timestampMs: (timestampMs * 1000), timestampMs: (timestampMs * 1000),
userPublicKey: currentUserPublicKey, userPublicKey: currentUserPublicKey,
openGroup: nil openGroup: nil
), )
expiresInSeconds: (remoteConfig.isEnabled ? nil : localConfig.durationSeconds)
).inserted(db) ).inserted(db)
} }

Loading…
Cancel
Save