fix disappearing messages update control messages for legacy groups
This commit is contained in:
parent
4ec1d730cd
commit
490cde57ce
|
@ -99,6 +99,9 @@ final class InfoMessageCell: MessageCell {
|
|||
self.isAccessibilityElement = true
|
||||
self.viewModel = cellViewModel
|
||||
|
||||
self.actionLabel.isHidden = true
|
||||
self.actionLabel.text = nil
|
||||
|
||||
let icon: UIImage? = {
|
||||
switch cellViewModel.variant {
|
||||
case .infoDisappearingMessagesUpdate:
|
||||
|
@ -141,9 +144,6 @@ final class InfoMessageCell: MessageCell {
|
|||
if cellViewModel.canDoFollowingSetting() {
|
||||
self.actionLabel.isHidden = false
|
||||
self.actionLabel.text = "FOLLOW_SETTING_TITLE".localized()
|
||||
} else {
|
||||
self.actionLabel.isHidden = true
|
||||
self.actionLabel.text = nil
|
||||
}
|
||||
} else {
|
||||
self.label.text = cellViewModel.body
|
||||
|
|
|
@ -474,19 +474,26 @@ class ThreadDisappearingMessagesSettingsViewModel: SessionTableViewModel, Naviga
|
|||
|
||||
dependencies.storage.writeAsync(using: dependencies) { [threadId, threadVariant, dependencies] db in
|
||||
_ = try updatedConfig.saved(db)
|
||||
|
||||
let userPublicKey: String = getUserHexEncodedPublicKey(db, using: dependencies)
|
||||
|
||||
if Features.useNewDisappearingMessagesConfig {
|
||||
_ = try Interaction
|
||||
.filter(Interaction.Columns.threadId == threadId)
|
||||
.filter(Interaction.Columns.variant == Interaction.Variant.infoDisappearingMessagesUpdate)
|
||||
.filter(Interaction.Columns.authorId == userPublicKey)
|
||||
.deleteAll(db)
|
||||
}
|
||||
|
||||
let interaction: Interaction = try Interaction(
|
||||
threadId: threadId,
|
||||
authorId: getUserHexEncodedPublicKey(db, using: dependencies),
|
||||
authorId: userPublicKey,
|
||||
variant: .infoDisappearingMessagesUpdate,
|
||||
body: updatedConfig.messageInfoString(with: nil, isPreviousOff: !self.config.isEnabled),
|
||||
body: updatedConfig.messageInfoString(
|
||||
threadVariant: threadVariant,
|
||||
senderName: nil,
|
||||
isPreviousOff: !self.config.isEnabled
|
||||
),
|
||||
timestampMs: SnodeAPI.currentOffsetTimestampMs()
|
||||
)
|
||||
.inserted(db)
|
||||
|
|
|
@ -572,7 +572,7 @@
|
|||
"DISAPPERING_MESSAGES_TIMER_TITLE" = "Timer";
|
||||
"DISAPPERING_MESSAGES_SAVE_TITLE" = "Set";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING" = "This setting applies to messages you send in this conversation. ";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING_ADMIN_ONLY" = "This setting applies to messages you send in this conversation. \nOnly group admins can change this setting.";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING_ADMIN_ONLY" = "This setting applies to everyone in this conversation. \nOnly group admins can change this setting.";
|
||||
"DISAPPERING_MESSAGES_INFO_ENABLE_LEGACY" = "%@ has set messages to disappear %@ after they have been %@";
|
||||
"DISAPPERING_MESSAGES_INFO_UPDATE_LEGACY" = "%@ has changed messages to disappear %@ after they have been %@";
|
||||
"DISAPPERING_MESSAGES_INFO_DISABLE_LEGACY" = "%@ has turned off disappearing messages";
|
||||
|
|
|
@ -572,7 +572,7 @@
|
|||
"DISAPPERING_MESSAGES_TIMER_TITLE" = "Timer";
|
||||
"DISAPPERING_MESSAGES_SAVE_TITLE" = "Set";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING" = "This setting applies to messages you send in this conversation. ";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING_ADMIN_ONLY" = "This setting applies to messages you send in this conversation. \nOnly group admins can change this setting.";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING_ADMIN_ONLY" = "This setting applies to everyone in this conversation. \nOnly group admins can change this setting.";
|
||||
"DISAPPERING_MESSAGES_INFO_ENABLE_LEGACY" = "%@ has set messages to disappear %@ after they have been %@";
|
||||
"DISAPPERING_MESSAGES_INFO_UPDATE_LEGACY" = "%@ has changed messages to disappear %@ after they have been %@";
|
||||
"DISAPPERING_MESSAGES_INFO_DISABLE_LEGACY" = "%@ has turned off disappearing messages";
|
||||
|
|
|
@ -572,7 +572,7 @@
|
|||
"DISAPPERING_MESSAGES_TIMER_TITLE" = "Timer";
|
||||
"DISAPPERING_MESSAGES_SAVE_TITLE" = "Set";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING" = "This setting applies to messages you send in this conversation. ";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING_ADMIN_ONLY" = "This setting applies to messages you send in this conversation. \nOnly group admins can change this setting.";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING_ADMIN_ONLY" = "This setting applies to everyone in this conversation. \nOnly group admins can change this setting.";
|
||||
"DISAPPERING_MESSAGES_INFO_ENABLE_LEGACY" = "%@ has set messages to disappear %@ after they have been %@";
|
||||
"DISAPPERING_MESSAGES_INFO_UPDATE_LEGACY" = "%@ has changed messages to disappear %@ after they have been %@";
|
||||
"DISAPPERING_MESSAGES_INFO_DISABLE_LEGACY" = "%@ has turned off disappearing messages";
|
||||
|
|
|
@ -572,7 +572,7 @@
|
|||
"DISAPPERING_MESSAGES_TIMER_TITLE" = "Timer";
|
||||
"DISAPPERING_MESSAGES_SAVE_TITLE" = "Set";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING" = "This setting applies to messages you send in this conversation. ";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING_ADMIN_ONLY" = "This setting applies to messages you send in this conversation. \nOnly group admins can change this setting.";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING_ADMIN_ONLY" = "This setting applies to everyone in this conversation. \nOnly group admins can change this setting.";
|
||||
"DISAPPERING_MESSAGES_INFO_ENABLE_LEGACY" = "%@ has set messages to disappear %@ after they have been %@";
|
||||
"DISAPPERING_MESSAGES_INFO_UPDATE_LEGACY" = "%@ has changed messages to disappear %@ after they have been %@";
|
||||
"DISAPPERING_MESSAGES_INFO_DISABLE_LEGACY" = "%@ has turned off disappearing messages";
|
||||
|
|
|
@ -572,7 +572,7 @@
|
|||
"DISAPPERING_MESSAGES_TIMER_TITLE" = "Timer";
|
||||
"DISAPPERING_MESSAGES_SAVE_TITLE" = "Set";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING" = "This setting applies to messages you send in this conversation. ";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING_ADMIN_ONLY" = "This setting applies to messages you send in this conversation. \nOnly group admins can change this setting.";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING_ADMIN_ONLY" = "This setting applies to everyone in this conversation. \nOnly group admins can change this setting.";
|
||||
"DISAPPERING_MESSAGES_INFO_ENABLE_LEGACY" = "%@ has set messages to disappear %@ after they have been %@";
|
||||
"DISAPPERING_MESSAGES_INFO_UPDATE_LEGACY" = "%@ has changed messages to disappear %@ after they have been %@";
|
||||
"DISAPPERING_MESSAGES_INFO_DISABLE_LEGACY" = "%@ has turned off disappearing messages";
|
||||
|
|
|
@ -572,7 +572,7 @@
|
|||
"DISAPPERING_MESSAGES_TIMER_TITLE" = "Timer";
|
||||
"DISAPPERING_MESSAGES_SAVE_TITLE" = "Set";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING" = "This setting applies to messages you send in this conversation. ";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING_ADMIN_ONLY" = "This setting applies to messages you send in this conversation. \nOnly group admins can change this setting.";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING_ADMIN_ONLY" = "This setting applies to everyone in this conversation. \nOnly group admins can change this setting.";
|
||||
"DISAPPERING_MESSAGES_INFO_ENABLE_LEGACY" = "%@ has set messages to disappear %@ after they have been %@";
|
||||
"DISAPPERING_MESSAGES_INFO_UPDATE_LEGACY" = "%@ has changed messages to disappear %@ after they have been %@";
|
||||
"DISAPPERING_MESSAGES_INFO_DISABLE_LEGACY" = "%@ has turned off disappearing messages";
|
||||
|
|
|
@ -572,7 +572,7 @@
|
|||
"DISAPPERING_MESSAGES_TIMER_TITLE" = "Timer";
|
||||
"DISAPPERING_MESSAGES_SAVE_TITLE" = "Set";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING" = "This setting applies to messages you send in this conversation. ";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING_ADMIN_ONLY" = "This setting applies to messages you send in this conversation. \nOnly group admins can change this setting.";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING_ADMIN_ONLY" = "This setting applies to everyone in this conversation. \nOnly group admins can change this setting.";
|
||||
"DISAPPERING_MESSAGES_INFO_ENABLE_LEGACY" = "%@ has set messages to disappear %@ after they have been %@";
|
||||
"DISAPPERING_MESSAGES_INFO_UPDATE_LEGACY" = "%@ has changed messages to disappear %@ after they have been %@";
|
||||
"DISAPPERING_MESSAGES_INFO_DISABLE_LEGACY" = "%@ has turned off disappearing messages";
|
||||
|
|
|
@ -572,7 +572,7 @@
|
|||
"DISAPPERING_MESSAGES_TIMER_TITLE" = "Timer";
|
||||
"DISAPPERING_MESSAGES_SAVE_TITLE" = "Set";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING" = "This setting applies to messages you send in this conversation. ";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING_ADMIN_ONLY" = "This setting applies to messages you send in this conversation. \nOnly group admins can change this setting.";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING_ADMIN_ONLY" = "This setting applies to everyone in this conversation. \nOnly group admins can change this setting.";
|
||||
"DISAPPERING_MESSAGES_INFO_ENABLE_LEGACY" = "%@ has set messages to disappear %@ after they have been %@";
|
||||
"DISAPPERING_MESSAGES_INFO_UPDATE_LEGACY" = "%@ has changed messages to disappear %@ after they have been %@";
|
||||
"DISAPPERING_MESSAGES_INFO_DISABLE_LEGACY" = "%@ has turned off disappearing messages";
|
||||
|
|
|
@ -572,7 +572,7 @@
|
|||
"DISAPPERING_MESSAGES_TIMER_TITLE" = "Minuteur";
|
||||
"DISAPPERING_MESSAGES_SAVE_TITLE" = "Appliquer";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING" = "Ce paramètre s'applique à tout le monde dans cette conversation.";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING_ADMIN_ONLY" = "This setting applies to messages you send in this conversation. \nOnly group admins can change this setting.";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING_ADMIN_ONLY" = "This setting applies to everyone in this conversation. \nOnly group admins can change this setting.";
|
||||
"DISAPPERING_MESSAGES_INFO_ENABLE_LEGACY" = "%@ has set messages to disappear %@ after they have been %@";
|
||||
"DISAPPERING_MESSAGES_INFO_UPDATE_LEGACY" = "%@ has changed messages to disappear %@ after they have been %@";
|
||||
"DISAPPERING_MESSAGES_INFO_DISABLE_LEGACY" = "%@ has turned off disappearing messages";
|
||||
|
|
|
@ -572,7 +572,7 @@
|
|||
"DISAPPERING_MESSAGES_TIMER_TITLE" = "Timer";
|
||||
"DISAPPERING_MESSAGES_SAVE_TITLE" = "Set";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING" = "This setting applies to messages you send in this conversation. ";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING_ADMIN_ONLY" = "This setting applies to messages you send in this conversation. \nOnly group admins can change this setting.";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING_ADMIN_ONLY" = "This setting applies to everyone in this conversation. \nOnly group admins can change this setting.";
|
||||
"DISAPPERING_MESSAGES_INFO_ENABLE_LEGACY" = "%@ has set messages to disappear %@ after they have been %@";
|
||||
"DISAPPERING_MESSAGES_INFO_UPDATE_LEGACY" = "%@ has changed messages to disappear %@ after they have been %@";
|
||||
"DISAPPERING_MESSAGES_INFO_DISABLE_LEGACY" = "%@ has turned off disappearing messages";
|
||||
|
|
|
@ -572,7 +572,7 @@
|
|||
"DISAPPERING_MESSAGES_TIMER_TITLE" = "Timer";
|
||||
"DISAPPERING_MESSAGES_SAVE_TITLE" = "Set";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING" = "This setting applies to messages you send in this conversation. ";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING_ADMIN_ONLY" = "This setting applies to messages you send in this conversation. \nOnly group admins can change this setting.";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING_ADMIN_ONLY" = "This setting applies to everyone in this conversation. \nOnly group admins can change this setting.";
|
||||
"DISAPPERING_MESSAGES_INFO_ENABLE_LEGACY" = "%@ has set messages to disappear %@ after they have been %@";
|
||||
"DISAPPERING_MESSAGES_INFO_UPDATE_LEGACY" = "%@ has changed messages to disappear %@ after they have been %@";
|
||||
"DISAPPERING_MESSAGES_INFO_DISABLE_LEGACY" = "%@ has turned off disappearing messages";
|
||||
|
|
|
@ -572,7 +572,7 @@
|
|||
"DISAPPERING_MESSAGES_TIMER_TITLE" = "Timer";
|
||||
"DISAPPERING_MESSAGES_SAVE_TITLE" = "Set";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING" = "This setting applies to messages you send in this conversation. ";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING_ADMIN_ONLY" = "This setting applies to messages you send in this conversation. \nOnly group admins can change this setting.";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING_ADMIN_ONLY" = "This setting applies to everyone in this conversation. \nOnly group admins can change this setting.";
|
||||
"DISAPPERING_MESSAGES_INFO_ENABLE_LEGACY" = "%@ has set messages to disappear %@ after they have been %@";
|
||||
"DISAPPERING_MESSAGES_INFO_UPDATE_LEGACY" = "%@ has changed messages to disappear %@ after they have been %@";
|
||||
"DISAPPERING_MESSAGES_INFO_DISABLE_LEGACY" = "%@ has turned off disappearing messages";
|
||||
|
|
|
@ -572,7 +572,7 @@
|
|||
"DISAPPERING_MESSAGES_TIMER_TITLE" = "Timer";
|
||||
"DISAPPERING_MESSAGES_SAVE_TITLE" = "Set";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING" = "This setting applies to messages you send in this conversation. ";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING_ADMIN_ONLY" = "This setting applies to messages you send in this conversation. \nOnly group admins can change this setting.";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING_ADMIN_ONLY" = "This setting applies to everyone in this conversation. \nOnly group admins can change this setting.";
|
||||
"DISAPPERING_MESSAGES_INFO_ENABLE_LEGACY" = "%@ has set messages to disappear %@ after they have been %@";
|
||||
"DISAPPERING_MESSAGES_INFO_UPDATE_LEGACY" = "%@ has changed messages to disappear %@ after they have been %@";
|
||||
"DISAPPERING_MESSAGES_INFO_DISABLE_LEGACY" = "%@ has turned off disappearing messages";
|
||||
|
|
|
@ -572,7 +572,7 @@
|
|||
"DISAPPERING_MESSAGES_TIMER_TITLE" = "Timer";
|
||||
"DISAPPERING_MESSAGES_SAVE_TITLE" = "Set";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING" = "This setting applies to messages you send in this conversation. ";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING_ADMIN_ONLY" = "This setting applies to messages you send in this conversation. \nOnly group admins can change this setting.";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING_ADMIN_ONLY" = "This setting applies to everyone in this conversation. \nOnly group admins can change this setting.";
|
||||
"DISAPPERING_MESSAGES_INFO_ENABLE_LEGACY" = "%@ has set messages to disappear %@ after they have been %@";
|
||||
"DISAPPERING_MESSAGES_INFO_UPDATE_LEGACY" = "%@ has changed messages to disappear %@ after they have been %@";
|
||||
"DISAPPERING_MESSAGES_INFO_DISABLE_LEGACY" = "%@ has turned off disappearing messages";
|
||||
|
|
|
@ -572,7 +572,7 @@
|
|||
"DISAPPERING_MESSAGES_TIMER_TITLE" = "Timer";
|
||||
"DISAPPERING_MESSAGES_SAVE_TITLE" = "Set";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING" = "This setting applies to messages you send in this conversation. ";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING_ADMIN_ONLY" = "This setting applies to messages you send in this conversation. \nOnly group admins can change this setting.";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING_ADMIN_ONLY" = "This setting applies to everyone in this conversation. \nOnly group admins can change this setting.";
|
||||
"DISAPPERING_MESSAGES_INFO_ENABLE_LEGACY" = "%@ has set messages to disappear %@ after they have been %@";
|
||||
"DISAPPERING_MESSAGES_INFO_UPDATE_LEGACY" = "%@ has changed messages to disappear %@ after they have been %@";
|
||||
"DISAPPERING_MESSAGES_INFO_DISABLE_LEGACY" = "%@ has turned off disappearing messages";
|
||||
|
|
|
@ -572,7 +572,7 @@
|
|||
"DISAPPERING_MESSAGES_TIMER_TITLE" = "Timer";
|
||||
"DISAPPERING_MESSAGES_SAVE_TITLE" = "Set";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING" = "This setting applies to messages you send in this conversation. ";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING_ADMIN_ONLY" = "This setting applies to messages you send in this conversation. \nOnly group admins can change this setting.";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING_ADMIN_ONLY" = "This setting applies to everyone in this conversation. \nOnly group admins can change this setting.";
|
||||
"DISAPPERING_MESSAGES_INFO_ENABLE_LEGACY" = "%@ has set messages to disappear %@ after they have been %@";
|
||||
"DISAPPERING_MESSAGES_INFO_UPDATE_LEGACY" = "%@ has changed messages to disappear %@ after they have been %@";
|
||||
"DISAPPERING_MESSAGES_INFO_DISABLE_LEGACY" = "%@ has turned off disappearing messages";
|
||||
|
|
|
@ -572,7 +572,7 @@
|
|||
"DISAPPERING_MESSAGES_TIMER_TITLE" = "Timer";
|
||||
"DISAPPERING_MESSAGES_SAVE_TITLE" = "Set";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING" = "This setting applies to messages you send in this conversation. ";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING_ADMIN_ONLY" = "This setting applies to messages you send in this conversation. \nOnly group admins can change this setting.";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING_ADMIN_ONLY" = "This setting applies to everyone in this conversation. \nOnly group admins can change this setting.";
|
||||
"DISAPPERING_MESSAGES_INFO_ENABLE_LEGACY" = "%@ has set messages to disappear %@ after they have been %@";
|
||||
"DISAPPERING_MESSAGES_INFO_UPDATE_LEGACY" = "%@ has changed messages to disappear %@ after they have been %@";
|
||||
"DISAPPERING_MESSAGES_INFO_DISABLE_LEGACY" = "%@ has turned off disappearing messages";
|
||||
|
|
|
@ -572,7 +572,7 @@
|
|||
"DISAPPERING_MESSAGES_TIMER_TITLE" = "Timer";
|
||||
"DISAPPERING_MESSAGES_SAVE_TITLE" = "Set";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING" = "This setting applies to messages you send in this conversation. ";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING_ADMIN_ONLY" = "This setting applies to messages you send in this conversation. \nOnly group admins can change this setting.";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING_ADMIN_ONLY" = "This setting applies to everyone in this conversation. \nOnly group admins can change this setting.";
|
||||
"DISAPPERING_MESSAGES_INFO_ENABLE_LEGACY" = "%@ has set messages to disappear %@ after they have been %@";
|
||||
"DISAPPERING_MESSAGES_INFO_UPDATE_LEGACY" = "%@ has changed messages to disappear %@ after they have been %@";
|
||||
"DISAPPERING_MESSAGES_INFO_DISABLE_LEGACY" = "%@ has turned off disappearing messages";
|
||||
|
|
|
@ -572,7 +572,7 @@
|
|||
"DISAPPERING_MESSAGES_TIMER_TITLE" = "Timer";
|
||||
"DISAPPERING_MESSAGES_SAVE_TITLE" = "Set";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING" = "This setting applies to messages you send in this conversation. ";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING_ADMIN_ONLY" = "This setting applies to messages you send in this conversation. \nOnly group admins can change this setting.";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING_ADMIN_ONLY" = "This setting applies to everyone in this conversation. \nOnly group admins can change this setting.";
|
||||
"DISAPPERING_MESSAGES_INFO_ENABLE_LEGACY" = "%@ has set messages to disappear %@ after they have been %@";
|
||||
"DISAPPERING_MESSAGES_INFO_UPDATE_LEGACY" = "%@ has changed messages to disappear %@ after they have been %@";
|
||||
"DISAPPERING_MESSAGES_INFO_DISABLE_LEGACY" = "%@ has turned off disappearing messages";
|
||||
|
|
|
@ -572,7 +572,7 @@
|
|||
"DISAPPERING_MESSAGES_TIMER_TITLE" = "Timer";
|
||||
"DISAPPERING_MESSAGES_SAVE_TITLE" = "Set";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING" = "This setting applies to messages you send in this conversation. ";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING_ADMIN_ONLY" = "This setting applies to messages you send in this conversation. \nOnly group admins can change this setting.";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING_ADMIN_ONLY" = "This setting applies to everyone in this conversation. \nOnly group admins can change this setting.";
|
||||
"DISAPPERING_MESSAGES_INFO_ENABLE_LEGACY" = "%@ has set messages to disappear %@ after they have been %@";
|
||||
"DISAPPERING_MESSAGES_INFO_UPDATE_LEGACY" = "%@ has changed messages to disappear %@ after they have been %@";
|
||||
"DISAPPERING_MESSAGES_INFO_DISABLE_LEGACY" = "%@ has turned off disappearing messages";
|
||||
|
|
|
@ -572,7 +572,7 @@
|
|||
"DISAPPERING_MESSAGES_TIMER_TITLE" = "Timer";
|
||||
"DISAPPERING_MESSAGES_SAVE_TITLE" = "Set";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING" = "This setting applies to messages you send in this conversation. ";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING_ADMIN_ONLY" = "This setting applies to messages you send in this conversation. \nOnly group admins can change this setting.";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING_ADMIN_ONLY" = "This setting applies to everyone in this conversation. \nOnly group admins can change this setting.";
|
||||
"DISAPPERING_MESSAGES_INFO_ENABLE_LEGACY" = "%@ has set messages to disappear %@ after they have been %@";
|
||||
"DISAPPERING_MESSAGES_INFO_UPDATE_LEGACY" = "%@ has changed messages to disappear %@ after they have been %@";
|
||||
"DISAPPERING_MESSAGES_INFO_DISABLE_LEGACY" = "%@ has turned off disappearing messages";
|
||||
|
|
|
@ -572,7 +572,7 @@
|
|||
"DISAPPERING_MESSAGES_TIMER_TITLE" = "Timer";
|
||||
"DISAPPERING_MESSAGES_SAVE_TITLE" = "Set";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING" = "This setting applies to messages you send in this conversation. ";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING_ADMIN_ONLY" = "This setting applies to messages you send in this conversation. \nOnly group admins can change this setting.";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING_ADMIN_ONLY" = "This setting applies to everyone in this conversation. \nOnly group admins can change this setting.";
|
||||
"DISAPPERING_MESSAGES_INFO_ENABLE_LEGACY" = "%@ has set messages to disappear %@ after they have been %@";
|
||||
"DISAPPERING_MESSAGES_INFO_UPDATE_LEGACY" = "%@ has changed messages to disappear %@ after they have been %@";
|
||||
"DISAPPERING_MESSAGES_INFO_DISABLE_LEGACY" = "%@ has turned off disappearing messages";
|
||||
|
|
|
@ -572,7 +572,7 @@
|
|||
"DISAPPERING_MESSAGES_TIMER_TITLE" = "Timer";
|
||||
"DISAPPERING_MESSAGES_SAVE_TITLE" = "Set";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING" = "This setting applies to messages you send in this conversation. ";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING_ADMIN_ONLY" = "This setting applies to messages you send in this conversation. \nOnly group admins can change this setting.";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING_ADMIN_ONLY" = "This setting applies to everyone in this conversation. \nOnly group admins can change this setting.";
|
||||
"DISAPPERING_MESSAGES_INFO_ENABLE_LEGACY" = "%@ has set messages to disappear %@ after they have been %@";
|
||||
"DISAPPERING_MESSAGES_INFO_UPDATE_LEGACY" = "%@ has changed messages to disappear %@ after they have been %@";
|
||||
"DISAPPERING_MESSAGES_INFO_DISABLE_LEGACY" = "%@ has turned off disappearing messages";
|
||||
|
|
|
@ -572,7 +572,7 @@
|
|||
"DISAPPERING_MESSAGES_TIMER_TITLE" = "Timer";
|
||||
"DISAPPERING_MESSAGES_SAVE_TITLE" = "Set";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING" = "This setting applies to messages you send in this conversation. ";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING_ADMIN_ONLY" = "This setting applies to messages you send in this conversation. \nOnly group admins can change this setting.";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING_ADMIN_ONLY" = "This setting applies to everyone in this conversation. \nOnly group admins can change this setting.";
|
||||
"DISAPPERING_MESSAGES_INFO_ENABLE_LEGACY" = "%@ has set messages to disappear %@ after they have been %@";
|
||||
"DISAPPERING_MESSAGES_INFO_UPDATE_LEGACY" = "%@ has changed messages to disappear %@ after they have been %@";
|
||||
"DISAPPERING_MESSAGES_INFO_DISABLE_LEGACY" = "%@ has turned off disappearing messages";
|
||||
|
|
|
@ -572,7 +572,7 @@
|
|||
"DISAPPERING_MESSAGES_TIMER_TITLE" = "Timer";
|
||||
"DISAPPERING_MESSAGES_SAVE_TITLE" = "Set";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING" = "This setting applies to messages you send in this conversation. ";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING_ADMIN_ONLY" = "This setting applies to messages you send in this conversation. \nOnly group admins can change this setting.";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING_ADMIN_ONLY" = "This setting applies to everyone in this conversation. \nOnly group admins can change this setting.";
|
||||
"DISAPPERING_MESSAGES_INFO_ENABLE_LEGACY" = "%@ has set messages to disappear %@ after they have been %@";
|
||||
"DISAPPERING_MESSAGES_INFO_UPDATE_LEGACY" = "%@ has changed messages to disappear %@ after they have been %@";
|
||||
"DISAPPERING_MESSAGES_INFO_DISABLE_LEGACY" = "%@ has turned off disappearing messages";
|
||||
|
|
|
@ -572,7 +572,7 @@
|
|||
"DISAPPERING_MESSAGES_TIMER_TITLE" = "計時器";
|
||||
"DISAPPERING_MESSAGES_SAVE_TITLE" = "設定";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING" = "This setting applies to messages you send in this conversation. ";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING_ADMIN_ONLY" = "This setting applies to messages you send in this conversation. \nOnly group admins can change this setting.";
|
||||
"DISAPPERING_MESSAGES_GROUP_WARNING_ADMIN_ONLY" = "This setting applies to everyone in this conversation. \nOnly group admins can change this setting.";
|
||||
"DISAPPERING_MESSAGES_INFO_ENABLE_LEGACY" = "%@ has set messages to disappear %@ after they have been %@";
|
||||
"DISAPPERING_MESSAGES_INFO_UPDATE_LEGACY" = "%@ has changed messages to disappear %@ after they have been %@";
|
||||
"DISAPPERING_MESSAGES_INFO_DISABLE_LEGACY" = "%@ has turned off disappearing messages";
|
||||
|
|
|
@ -824,6 +824,7 @@ enum _003_YDBToGRDBMigration: Migration {
|
|||
let updateMessage: SMKLegacy._DisappearingConfigurationUpdateInfoMessage = infoMessage as? SMKLegacy._DisappearingConfigurationUpdateInfoMessage,
|
||||
let infoMessageData: Data = try? JSONEncoder().encode(
|
||||
DisappearingMessagesConfiguration.MessageInfo(
|
||||
threadVariant: nil,
|
||||
senderName: updateMessage.createdByRemoteName,
|
||||
isEnabled: updateMessage.configurationIsEnabled,
|
||||
durationSeconds: TimeInterval(updateMessage.configurationDurationSeconds),
|
||||
|
|
|
@ -118,6 +118,7 @@ public extension DisappearingMessagesConfiguration {
|
|||
|
||||
public extension DisappearingMessagesConfiguration {
|
||||
struct MessageInfo: Codable {
|
||||
public let threadVariant: SessionThread.Variant?
|
||||
public let senderName: String?
|
||||
public let isEnabled: Bool
|
||||
public let durationSeconds: TimeInterval
|
||||
|
@ -125,7 +126,9 @@ public extension DisappearingMessagesConfiguration {
|
|||
public let isPreviousOff: Bool?
|
||||
|
||||
var previewText: String {
|
||||
guard Features.useNewDisappearingMessagesConfig else { return legacyPreviewText }
|
||||
guard Features.useNewDisappearingMessagesConfig && self.threadVariant != nil else { return legacyPreviewText }
|
||||
guard self.threadVariant != .legacyGroup else { return previewTextLegacyGroup }
|
||||
|
||||
guard let senderName: String = senderName else {
|
||||
guard isEnabled, durationSeconds > 0 else {
|
||||
return "YOU_DISAPPEARING_MESSAGES_INFO_DISABLE".localized()
|
||||
|
@ -222,8 +225,13 @@ public extension DisappearingMessagesConfiguration {
|
|||
floor(durationSeconds).formatted(format: .long)
|
||||
}
|
||||
|
||||
func messageInfoString(with senderName: String?, isPreviousOff: Bool) -> String? {
|
||||
func messageInfoString(
|
||||
threadVariant: SessionThread.Variant?,
|
||||
senderName: String?,
|
||||
isPreviousOff: Bool
|
||||
) -> String? {
|
||||
let messageInfo: MessageInfo = DisappearingMessagesConfiguration.MessageInfo(
|
||||
threadVariant: threadVariant,
|
||||
senderName: senderName,
|
||||
isEnabled: isEnabled,
|
||||
durationSeconds: durationSeconds,
|
||||
|
|
|
@ -117,10 +117,8 @@ extension MessageReceiver {
|
|||
authorId: sender,
|
||||
variant: .infoDisappearingMessagesUpdate,
|
||||
body: remoteConfig.messageInfoString(
|
||||
with: (sender != currentUserPublicKey ?
|
||||
Profile.displayName(db, id: sender) :
|
||||
nil
|
||||
),
|
||||
threadVariant: threadVariant,
|
||||
senderName: (sender != currentUserPublicKey ? Profile.displayName(db, id: sender) : nil),
|
||||
isPreviousOff: false
|
||||
),
|
||||
timestampMs: timestampMs,
|
||||
|
@ -187,45 +185,51 @@ extension MessageReceiver {
|
|||
)
|
||||
|
||||
switch threadVariant {
|
||||
case .contact:
|
||||
try updateFollowingSettingsControlMessage(
|
||||
db,
|
||||
threadId: threadId,
|
||||
authorId: sender,
|
||||
timestampMs: timestampMs,
|
||||
serverHash: message.serverHash,
|
||||
localConfig: localConfig,
|
||||
remoteConfig: remoteConfig
|
||||
)
|
||||
case .legacyGroup:
|
||||
try updateLegacyGroupDisappearingMessagesConfiguration(
|
||||
if localConfig != remoteConfig {
|
||||
_ = try remoteConfig.save(db)
|
||||
|
||||
try SessionUtil
|
||||
.update(
|
||||
db,
|
||||
groupPublicKey: threadId,
|
||||
disappearingConfig: remoteConfig
|
||||
)
|
||||
}
|
||||
fallthrough
|
||||
case .contact:
|
||||
try insertExpirationUpdateControlMessage(
|
||||
db,
|
||||
threadId: threadId,
|
||||
threadVariant: threadVariant,
|
||||
authorId: sender,
|
||||
timestampMs: timestampMs,
|
||||
serverHash: message.serverHash,
|
||||
localConfig: localConfig,
|
||||
remoteConfig: remoteConfig
|
||||
)
|
||||
|
||||
default:
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
private static func updateFollowingSettingsControlMessage(
|
||||
private static func insertExpirationUpdateControlMessage(
|
||||
_ db: Database,
|
||||
threadId: String,
|
||||
threadVariant: SessionThread.Variant,
|
||||
authorId: String,
|
||||
timestampMs: UInt64,
|
||||
serverHash: String?,
|
||||
localConfig: DisappearingMessagesConfiguration,
|
||||
remoteConfig: DisappearingMessagesConfiguration
|
||||
) throws {
|
||||
guard authorId != getUserHexEncodedPublicKey(db) else { return }
|
||||
guard threadVariant != .contact || authorId != getUserHexEncodedPublicKey(db) else { return }
|
||||
|
||||
_ = try Interaction
|
||||
.filter(Interaction.Columns.threadId == threadId)
|
||||
.filter(Interaction.Columns.variant == Interaction.Variant.infoDisappearingMessagesUpdate)
|
||||
.filter(Interaction.Columns.authorId == authorId)
|
||||
.deleteAll(db)
|
||||
|
||||
_ = try Interaction(
|
||||
|
@ -234,7 +238,8 @@ extension MessageReceiver {
|
|||
authorId: authorId,
|
||||
variant: .infoDisappearingMessagesUpdate,
|
||||
body: remoteConfig.messageInfoString(
|
||||
with: Profile.displayName(db, id: authorId),
|
||||
threadVariant: threadVariant,
|
||||
senderName: (authorId != getUserHexEncodedPublicKey(db) ? Profile.displayName(db, id: authorId) : nil),
|
||||
isPreviousOff: !localConfig.isEnabled
|
||||
),
|
||||
timestampMs: Int64(timestampMs),
|
||||
|
@ -242,50 +247,4 @@ extension MessageReceiver {
|
|||
expiresStartedAtMs: (remoteConfig.type == .disappearAfterSend ? Double(timestampMs) : nil)
|
||||
).inserted(db)
|
||||
}
|
||||
|
||||
private static func updateLegacyGroupDisappearingMessagesConfiguration(
|
||||
_ db: Database,
|
||||
threadId: String,
|
||||
authorId: String,
|
||||
timestampMs: UInt64,
|
||||
serverHash: String?,
|
||||
localConfig: DisappearingMessagesConfiguration,
|
||||
remoteConfig: DisappearingMessagesConfiguration
|
||||
) throws {
|
||||
if localConfig != remoteConfig {
|
||||
_ = try remoteConfig.save(db)
|
||||
|
||||
try SessionUtil
|
||||
.update(
|
||||
db,
|
||||
groupPublicKey: threadId,
|
||||
disappearingConfig: remoteConfig
|
||||
)
|
||||
}
|
||||
|
||||
_ = try Interaction
|
||||
.filter(Interaction.Columns.threadId == threadId)
|
||||
.filter(Interaction.Columns.variant == Interaction.Variant.infoDisappearingMessagesUpdate)
|
||||
.deleteAll(db)
|
||||
|
||||
_ = try Interaction(
|
||||
serverHash: serverHash,
|
||||
threadId: threadId,
|
||||
authorId: authorId,
|
||||
variant: .infoDisappearingMessagesUpdate,
|
||||
body: remoteConfig.messageInfoString(
|
||||
with: (authorId != getUserHexEncodedPublicKey(db) ?
|
||||
Profile.displayName(db, id: authorId) :
|
||||
nil
|
||||
),
|
||||
isPreviousOff: !localConfig.isEnabled
|
||||
),
|
||||
timestampMs: Int64(timestampMs),
|
||||
expiresInSeconds: (remoteConfig.isEnabled ? remoteConfig.durationSeconds : localConfig.durationSeconds),
|
||||
expiresStartedAtMs: (!remoteConfig.isEnabled && localConfig.type == .disappearAfterSend ?
|
||||
Double(timestampMs) :
|
||||
nil
|
||||
)
|
||||
).inserted(db)
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue