diff --git a/Signal/src/ViewControllers/AppSettings/Privacy/PrivacySettingsViewController.swift b/Signal/src/ViewControllers/AppSettings/Privacy/PrivacySettingsViewController.swift index a5cea4be5e..74c77cba72 100644 --- a/Signal/src/ViewControllers/AppSettings/Privacy/PrivacySettingsViewController.swift +++ b/Signal/src/ViewControllers/AppSettings/Privacy/PrivacySettingsViewController.swift @@ -112,11 +112,11 @@ class PrivacySettingsViewController: OWSTableViewController2 { let disappearingMessagesSection = OWSTableSection() disappearingMessagesSection.headerTitle = NSLocalizedString( "SETTINGS_DISAPPEARING_MESSAGES", - comment: "Label for the 'disappearig messages' privacy settings." + comment: "Label for the 'disappearing messages' privacy settings." ) disappearingMessagesSection.footerTitle = NSLocalizedString( "SETTINGS_DISAPPEARING_MESSAGES_FOOTER", - comment: "Explanation for the 'disappearig messages' privacy settings." + comment: "Explanation for the 'disappearing messages' privacy settings." ) let disappearingMessagesConfiguration = databaseStorage.read { transaction in OWSDisappearingMessagesConfiguration.fetchOrBuildDefaultUniversalConfiguration(with: transaction) diff --git a/Signal/src/ViewControllers/ConversationView/CV/CVComponentState.swift b/Signal/src/ViewControllers/ConversationView/CV/CVComponentState.swift index 8d69a89838..5903f6436f 100644 --- a/Signal/src/ViewControllers/ConversationView/CV/CVComponentState.swift +++ b/Signal/src/ViewControllers/ConversationView/CV/CVComponentState.swift @@ -627,7 +627,7 @@ fileprivate extension CVComponentState.Builder { transaction: transaction) return build() case .defaultDisappearingMessageTimer: - self.unknownThreadWarning = CVComponentSystemMessage.buildDefaultDisappearingMessageTimerState( + self.defaultDisappearingMessageTimer = CVComponentSystemMessage.buildDefaultDisappearingMessageTimerState( interaction: interaction, threadViewModel: threadViewModel, transaction: transaction diff --git a/Signal/translations/en.lproj/Localizable.strings b/Signal/translations/en.lproj/Localizable.strings index 06b947e602..916aebeaf4 100644 --- a/Signal/translations/en.lproj/Localizable.strings +++ b/Signal/translations/en.lproj/Localizable.strings @@ -4759,10 +4759,10 @@ /* Confirmation text for button which deletes all message, calling, attachments, etc. */ "SETTINGS_DELETE_HISTORYLOG_CONFIRMATION_BUTTON" = "Delete Everything"; -/* Label for the 'disappearig messages' privacy settings. */ +/* Label for the 'disappearing messages' privacy settings. */ "SETTINGS_DISAPPEARING_MESSAGES" = "Disappearing Messages"; -/* Explanation for the 'disappearig messages' privacy settings. */ +/* Explanation for the 'disappearing messages' privacy settings. */ "SETTINGS_DISAPPEARING_MESSAGES_FOOTER" = "Set a default disappearing message timer for all new chats started by you."; /* Title for the 'donate to signal' link in settings. */ diff --git a/SignalMessaging/Storage Service/StorageServiceProto+Sync.swift b/SignalMessaging/Storage Service/StorageServiceProto+Sync.swift index 8cfd66eb67..8168737df5 100644 --- a/SignalMessaging/Storage Service/StorageServiceProto+Sync.swift +++ b/SignalMessaging/Storage Service/StorageServiceProto+Sync.swift @@ -737,17 +737,9 @@ extension StorageServiceProtoAccountRecord: Dependencies { let localConfiguration = OWSDisappearingMessagesConfiguration.fetchOrBuildDefaultUniversalConfiguration(with: transaction) let localExpireToken = localConfiguration.asToken - let expireToken = DisappearingMessageToken.token(forProtoExpireTimer: universalExpireTimer) - if localExpireToken != expireToken { - if expireToken.isEnabled { - localConfiguration - .copyAsEnabled(withDurationSeconds: expireToken.durationSeconds) - .anyUpsert(transaction: transaction) - } else { - localConfiguration - .copy(withIsEnabled: false) - .anyUpsert(transaction: transaction) - } + let remoteExpireToken = DisappearingMessageToken.token(forProtoExpireTimer: universalExpireTimer) + if localExpireToken != remoteExpireToken { + localConfiguration.applyToken(remoteExpireToken, transaction: transaction) } return mergeState diff --git a/SignalServiceKit/src/Contacts/OWSDisappearingMessagesConfiguration.swift b/SignalServiceKit/src/Contacts/OWSDisappearingMessagesConfiguration.swift index 464952e4f1..275da6930b 100644 --- a/SignalServiceKit/src/Contacts/OWSDisappearingMessagesConfiguration.swift +++ b/SignalServiceKit/src/Contacts/OWSDisappearingMessagesConfiguration.swift @@ -72,6 +72,7 @@ public extension OWSDisappearingMessagesConfiguration { } @objc + @discardableResult static func applyToken(_ token: DisappearingMessageToken, toThread thread: TSThread, transaction: SDSAnyWriteTransaction) -> OWSDisappearingMessagesConfiguration { @@ -81,6 +82,7 @@ public extension OWSDisappearingMessagesConfiguration { } @objc + @discardableResult func applyToken(_ token: DisappearingMessageToken, transaction: SDSAnyWriteTransaction) -> OWSDisappearingMessagesConfiguration { let newConfiguration: OWSDisappearingMessagesConfiguration