diff --git a/Session/Conversations/Message Cells/InfoMessageCell.swift b/Session/Conversations/Message Cells/InfoMessageCell.swift index c95a8d1ea..b173a36ce 100644 --- a/Session/Conversations/Message Cells/InfoMessageCell.swift +++ b/Session/Conversations/Message Cells/InfoMessageCell.swift @@ -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 diff --git a/Session/Conversations/Settings/ThreadDisappearingMessagesSettingsViewModel.swift b/Session/Conversations/Settings/ThreadDisappearingMessagesSettingsViewModel.swift index 00342aaf3..0834a1f58 100644 --- a/Session/Conversations/Settings/ThreadDisappearingMessagesSettingsViewModel.swift +++ b/Session/Conversations/Settings/ThreadDisappearingMessagesSettingsViewModel.swift @@ -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) diff --git a/Session/Meta/Translations/ar.lproj/Localizable.strings b/Session/Meta/Translations/ar.lproj/Localizable.strings index 3ec2e0331..35a959b55 100644 --- a/Session/Meta/Translations/ar.lproj/Localizable.strings +++ b/Session/Meta/Translations/ar.lproj/Localizable.strings @@ -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"; diff --git a/Session/Meta/Translations/be.lproj/Localizable.strings b/Session/Meta/Translations/be.lproj/Localizable.strings index 5faf600ed..13a181d10 100644 --- a/Session/Meta/Translations/be.lproj/Localizable.strings +++ b/Session/Meta/Translations/be.lproj/Localizable.strings @@ -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"; diff --git a/Session/Meta/Translations/bg.lproj/Localizable.strings b/Session/Meta/Translations/bg.lproj/Localizable.strings index 2028d4847..8edb0e3a0 100644 --- a/Session/Meta/Translations/bg.lproj/Localizable.strings +++ b/Session/Meta/Translations/bg.lproj/Localizable.strings @@ -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"; diff --git a/Session/Meta/Translations/bn.lproj/Localizable.strings b/Session/Meta/Translations/bn.lproj/Localizable.strings index 77b3d2208..809c9fedb 100644 --- a/Session/Meta/Translations/bn.lproj/Localizable.strings +++ b/Session/Meta/Translations/bn.lproj/Localizable.strings @@ -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"; diff --git a/Session/Meta/Translations/da.lproj/Localizable.strings b/Session/Meta/Translations/da.lproj/Localizable.strings index 694993687..6a0c86c96 100644 --- a/Session/Meta/Translations/da.lproj/Localizable.strings +++ b/Session/Meta/Translations/da.lproj/Localizable.strings @@ -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"; diff --git a/Session/Meta/Translations/en.lproj/Localizable.strings b/Session/Meta/Translations/en.lproj/Localizable.strings index 959fc5f7b..85a0c0ed7 100644 --- a/Session/Meta/Translations/en.lproj/Localizable.strings +++ b/Session/Meta/Translations/en.lproj/Localizable.strings @@ -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"; diff --git a/Session/Meta/Translations/eo.lproj/Localizable.strings b/Session/Meta/Translations/eo.lproj/Localizable.strings index 62aaa1417..1b5b7cc4d 100644 --- a/Session/Meta/Translations/eo.lproj/Localizable.strings +++ b/Session/Meta/Translations/eo.lproj/Localizable.strings @@ -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"; diff --git a/Session/Meta/Translations/fil.lproj/Localizable.strings b/Session/Meta/Translations/fil.lproj/Localizable.strings index 5385f6ef5..50fb2c39f 100644 --- a/Session/Meta/Translations/fil.lproj/Localizable.strings +++ b/Session/Meta/Translations/fil.lproj/Localizable.strings @@ -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"; diff --git a/Session/Meta/Translations/fr.lproj/Localizable.strings b/Session/Meta/Translations/fr.lproj/Localizable.strings index 5750503ee..e9159d558 100644 --- a/Session/Meta/Translations/fr.lproj/Localizable.strings +++ b/Session/Meta/Translations/fr.lproj/Localizable.strings @@ -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"; diff --git a/Session/Meta/Translations/hi.lproj/Localizable.strings b/Session/Meta/Translations/hi.lproj/Localizable.strings index 2269eeb3d..f66fa09e4 100644 --- a/Session/Meta/Translations/hi.lproj/Localizable.strings +++ b/Session/Meta/Translations/hi.lproj/Localizable.strings @@ -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"; diff --git a/Session/Meta/Translations/hr.lproj/Localizable.strings b/Session/Meta/Translations/hr.lproj/Localizable.strings index 76e509c56..8954c2b56 100644 --- a/Session/Meta/Translations/hr.lproj/Localizable.strings +++ b/Session/Meta/Translations/hr.lproj/Localizable.strings @@ -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"; diff --git a/Session/Meta/Translations/ko.lproj/Localizable.strings b/Session/Meta/Translations/ko.lproj/Localizable.strings index b95c77a5c..7451c7c0f 100644 --- a/Session/Meta/Translations/ko.lproj/Localizable.strings +++ b/Session/Meta/Translations/ko.lproj/Localizable.strings @@ -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"; diff --git a/Session/Meta/Translations/ku.lproj/Localizable.strings b/Session/Meta/Translations/ku.lproj/Localizable.strings index 33c9be7a5..46f0c872e 100644 --- a/Session/Meta/Translations/ku.lproj/Localizable.strings +++ b/Session/Meta/Translations/ku.lproj/Localizable.strings @@ -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"; diff --git a/Session/Meta/Translations/lt.lproj/Localizable.strings b/Session/Meta/Translations/lt.lproj/Localizable.strings index 9c6a308cf..79d761072 100644 --- a/Session/Meta/Translations/lt.lproj/Localizable.strings +++ b/Session/Meta/Translations/lt.lproj/Localizable.strings @@ -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"; diff --git a/Session/Meta/Translations/lv.lproj/Localizable.strings b/Session/Meta/Translations/lv.lproj/Localizable.strings index 84aba6eb3..d7c422216 100644 --- a/Session/Meta/Translations/lv.lproj/Localizable.strings +++ b/Session/Meta/Translations/lv.lproj/Localizable.strings @@ -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"; diff --git a/Session/Meta/Translations/ne-NP.lproj/Localizable.strings b/Session/Meta/Translations/ne-NP.lproj/Localizable.strings index 259a02bd5..16c7ab401 100644 --- a/Session/Meta/Translations/ne-NP.lproj/Localizable.strings +++ b/Session/Meta/Translations/ne-NP.lproj/Localizable.strings @@ -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"; diff --git a/Session/Meta/Translations/nl.lproj/Localizable.strings b/Session/Meta/Translations/nl.lproj/Localizable.strings index 68171e399..ca5d788bc 100644 --- a/Session/Meta/Translations/nl.lproj/Localizable.strings +++ b/Session/Meta/Translations/nl.lproj/Localizable.strings @@ -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"; diff --git a/Session/Meta/Translations/no.lproj/Localizable.strings b/Session/Meta/Translations/no.lproj/Localizable.strings index ed74d0fc3..72376e5de 100644 --- a/Session/Meta/Translations/no.lproj/Localizable.strings +++ b/Session/Meta/Translations/no.lproj/Localizable.strings @@ -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"; diff --git a/Session/Meta/Translations/pt-PT.lproj/Localizable.strings b/Session/Meta/Translations/pt-PT.lproj/Localizable.strings index 5f61395c2..1e0de6b10 100644 --- a/Session/Meta/Translations/pt-PT.lproj/Localizable.strings +++ b/Session/Meta/Translations/pt-PT.lproj/Localizable.strings @@ -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"; diff --git a/Session/Meta/Translations/si-LK.lproj/Localizable.strings b/Session/Meta/Translations/si-LK.lproj/Localizable.strings index 5f114399f..5a35704b4 100644 --- a/Session/Meta/Translations/si-LK.lproj/Localizable.strings +++ b/Session/Meta/Translations/si-LK.lproj/Localizable.strings @@ -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"; diff --git a/Session/Meta/Translations/sl.lproj/Localizable.strings b/Session/Meta/Translations/sl.lproj/Localizable.strings index d847f0677..3fb4ca029 100644 --- a/Session/Meta/Translations/sl.lproj/Localizable.strings +++ b/Session/Meta/Translations/sl.lproj/Localizable.strings @@ -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"; diff --git a/Session/Meta/Translations/sv-SE.lproj/Localizable.strings b/Session/Meta/Translations/sv-SE.lproj/Localizable.strings index d8f883d21..dfb357b4e 100644 --- a/Session/Meta/Translations/sv-SE.lproj/Localizable.strings +++ b/Session/Meta/Translations/sv-SE.lproj/Localizable.strings @@ -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"; diff --git a/Session/Meta/Translations/th.lproj/Localizable.strings b/Session/Meta/Translations/th.lproj/Localizable.strings index d63f222ab..d2ad2c6ab 100644 --- a/Session/Meta/Translations/th.lproj/Localizable.strings +++ b/Session/Meta/Translations/th.lproj/Localizable.strings @@ -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"; diff --git a/Session/Meta/Translations/tr.lproj/Localizable.strings b/Session/Meta/Translations/tr.lproj/Localizable.strings index 0cf186381..e0facf903 100644 --- a/Session/Meta/Translations/tr.lproj/Localizable.strings +++ b/Session/Meta/Translations/tr.lproj/Localizable.strings @@ -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"; diff --git a/Session/Meta/Translations/vi.lproj/Localizable.strings b/Session/Meta/Translations/vi.lproj/Localizable.strings index 7eea745dc..e3091472f 100644 --- a/Session/Meta/Translations/vi.lproj/Localizable.strings +++ b/Session/Meta/Translations/vi.lproj/Localizable.strings @@ -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"; diff --git a/Session/Meta/Translations/zh-TW.lproj/Localizable.strings b/Session/Meta/Translations/zh-TW.lproj/Localizable.strings index 71f279f0b..da39b35ed 100644 --- a/Session/Meta/Translations/zh-TW.lproj/Localizable.strings +++ b/Session/Meta/Translations/zh-TW.lproj/Localizable.strings @@ -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"; diff --git a/SessionMessagingKit/Database/Migrations/_003_YDBToGRDBMigration.swift b/SessionMessagingKit/Database/Migrations/_003_YDBToGRDBMigration.swift index 1f1881dbc..caa49ad14 100644 --- a/SessionMessagingKit/Database/Migrations/_003_YDBToGRDBMigration.swift +++ b/SessionMessagingKit/Database/Migrations/_003_YDBToGRDBMigration.swift @@ -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), diff --git a/SessionMessagingKit/Database/Models/DisappearingMessageConfiguration.swift b/SessionMessagingKit/Database/Models/DisappearingMessageConfiguration.swift index 2b1a77394..6cd894ff7 100644 --- a/SessionMessagingKit/Database/Models/DisappearingMessageConfiguration.swift +++ b/SessionMessagingKit/Database/Models/DisappearingMessageConfiguration.swift @@ -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, diff --git a/SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+ExpirationTimers.swift b/SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+ExpirationTimers.swift index 23c2d0def..3c656fa7b 100644 --- a/SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+ExpirationTimers.swift +++ b/SessionMessagingKit/Sending & Receiving/Message Handling/MessageReceiver+ExpirationTimers.swift @@ -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) - } }