Enable v2 message attachments via toggle in internal settings

This commit is contained in:
Harry 2024-07-29 14:37:03 -07:00 committed by GitHub
parent de4e4d4dcb
commit eb6dcd421a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 29 additions and 3 deletions

View File

@ -91,6 +91,13 @@ class InternalSettingsViewController: OWSTableViewController2 {
}
))
if FeatureFlags.v2MessageAttachmentsToggle && !AttachmentFeatureFlags.readMessages {
debugSection.add(.actionItem(withText: "DANGER!!! Enable encrypted message attachments (and exit)") {
AttachmentFeatureFlags.enableV2ForMessages()
fatalError("Intentionally crashing to restart app")
})
}
if FeatureFlags.messageBackupFileAlpha {
debugSection.add(.actionItem(withText: "Export Message Backup proto") {
self.exportMessageBackupProto()

View File

@ -13,8 +13,24 @@ public enum AttachmentFeatureFlags {
public static let readStories = true
public static let writeStories = true
public static let readMessages = false
public static let writeMessages = false
public static var readMessages: Bool {
FeatureFlags.v2MessageAttachmentsForceEnable
|| UserDefaults.standard.bool(forKey: enableForMessagesKey)
}
public static var writeMessages: Bool {
FeatureFlags.v2MessageAttachmentsForceEnable
|| UserDefaults.standard.bool(forKey: enableForMessagesKey)
}
public static let incrementalMigration = false
public static var incrementalMigration: Bool {
FeatureFlags.v2MessageAttachmentsForceEnable
|| UserDefaults.standard.bool(forKey: enableForMessagesKey)
}
private static let enableForMessagesKey = "AttachmentFeatureFlags_enableForMessages"
public static func enableV2ForMessages() {
guard FeatureFlags.v2MessageAttachmentsToggle else { return }
UserDefaults.standard.set(true, forKey: enableForMessagesKey)
}
}

View File

@ -73,6 +73,9 @@ public class FeatureFlags: NSObject {
public static let messageBackupFileAlpha = build.includes(.internal)
public static let messageBackupFileAlphaRegistrationFlow = build.includes(.dev)
public static let v2MessageAttachmentsToggle = build.includes(.internal)
public static let v2MessageAttachmentsForceEnable = build.includes(.dev)
public static let callLinkCreate = build.includes(.dev)
public static let callRaiseHandReceiveSupport = build.includes(.production)