diff --git a/SignalServiceKit/src/Network/API/Requests/OWSRequestFactory.m b/SignalServiceKit/src/Network/API/Requests/OWSRequestFactory.m index f6931c705c..6c411a0bc8 100644 --- a/SignalServiceKit/src/Network/API/Requests/OWSRequestFactory.m +++ b/SignalServiceKit/src/Network/API/Requests/OWSRequestFactory.m @@ -517,7 +517,10 @@ NSString *const OWSRequestKey_AuthKey = @"AuthKey"; } capabilities[@"transfer"] = @(YES); - capabilities[@"senderKey"] = @(YES); + + if (RemoteConfig.senderKey) { + capabilities[@"senderKey"] = @(YES); + } return [capabilities copy]; } diff --git a/SignalServiceKit/src/Util/FeatureFlags.swift b/SignalServiceKit/src/Util/FeatureFlags.swift index 7959eab1b3..f4c40da6ed 100644 --- a/SignalServiceKit/src/Util/FeatureFlags.swift +++ b/SignalServiceKit/src/Util/FeatureFlags.swift @@ -424,6 +424,9 @@ public class DebugFlags: BaseFlags { @objc public static let forceNotificationServiceExtension = build.includes(.beta) + @objc + public static let forceSenderKey = build.includes(.dev) + @objc public static let extraDebugLogs = build.includes(.openPreview) diff --git a/SignalServiceKit/src/Util/RemoteConfigManager.swift b/SignalServiceKit/src/Util/RemoteConfigManager.swift index dddbb29c11..c17a5c595f 100644 --- a/SignalServiceKit/src/Util/RemoteConfigManager.swift +++ b/SignalServiceKit/src/Util/RemoteConfigManager.swift @@ -221,6 +221,11 @@ public class RemoteConfig: BaseFlags { return defaultMediaQuality } + @objc + public static var senderKey: Bool { + DebugFlags.forceSenderKey || isEnabled(.senderKey) + } + // MARK: - private static func interval( @@ -411,6 +416,7 @@ private struct Flags { case viewedReceiptSending case announcementOnlyGroups case notificationServiceExtension + case senderKey } // Values defined in this array remain set once they are