diff --git a/Podfile.lock b/Podfile.lock index a322315d8b..6674dbfea1 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -58,10 +58,10 @@ PODS: - SignalCoreKit/Tests (1.0.0): - CocoaLumberjack - OpenSSL-Universal - - SignalRingRTC (2.21.5): + - SignalRingRTC (2.22.0): - SignalCoreKit - - SignalRingRTC/WebRTC (= 2.21.5) - - SignalRingRTC/WebRTC (2.21.5): + - SignalRingRTC/WebRTC (= 2.22.0) + - SignalRingRTC/WebRTC (2.22.0): - SignalCoreKit - SQLCipher (4.5.1): - SQLCipher/standard (= 4.5.1) @@ -229,7 +229,7 @@ SPEC CHECKSUMS: SAMKeychain: 483e1c9f32984d50ca961e26818a534283b4cd5c SignalArgon2: 1c24183835ca861e6af06631c18b1671cdf35571 SignalCoreKit: 9febad2d82f80c5b2f446740c68f1fba6d4cd9b2 - SignalRingRTC: 868ab2bb72d4d4be55466452c2a5c2545cafe25c + SignalRingRTC: c1f7c9f5c789ec821520f02bc48077c4bb3582d3 SQLCipher: 712e8416685e8e575b9b0706ffee71678b2fdcf8 SSZipArchive: 8c3485528a87fa6f90afdbfc33682eb61d985ae5 Starscream: 4bb2f9942274833f7b4d296a55504dcfc7edb7b0 diff --git a/Pods b/Pods index c6e2c61d5b..dbbaeb10f9 160000 --- a/Pods +++ b/Pods @@ -1 +1 @@ -Subproject commit c6e2c61d5bbb278d65002bc6ec2405d3e48f7b71 +Subproject commit dbbaeb10f951df1be7f7a3467925e696680c8f5a diff --git a/Signal/Signal-Info.plist b/Signal/Signal-Info.plist index 29017624c3..4814a0173c 100644 --- a/Signal/Signal-Info.plist +++ b/Signal/Signal-Info.plist @@ -5,7 +5,7 @@ BuildDetails WebRTCCommit - d20b610393af19f96f42137f2c044e5bdcc50768 Production build of v2.21.5 + 84e3476fa50e2301c729ace5452ab4b02eb50664 Production build of v2.22.0 CFBundleDevelopmentRegion en diff --git a/Signal/src/Calls/CallService.swift b/Signal/src/Calls/CallService.swift index 6149624468..395eaf5782 100644 --- a/Signal/src/Calls/CallService.swift +++ b/Signal/src/Calls/CallService.swift @@ -1321,7 +1321,7 @@ extension CallService: CallManagerDelegate { sender: UUID, update: RingUpdate ) { - guard RemoteConfig.groupRings else { + guard RemoteConfig.inboundGroupRings else { return } diff --git a/Signal/src/Calls/SignalCall.swift b/Signal/src/Calls/SignalCall.swift index 656783a451..a51215e0b2 100644 --- a/Signal/src/Calls/SignalCall.swift +++ b/Signal/src/Calls/SignalCall.swift @@ -228,7 +228,7 @@ public class SignalCall: NSObject, CallManagerCallReference { behavior: .call ) thread = groupThread - if !RemoteConfig.groupRings { + if !RemoteConfig.outboundGroupRings { ringRestrictions = .notApplicable } else { ringRestrictions = [] diff --git a/SignalNSE/NSECallMessageHandler.swift b/SignalNSE/NSECallMessageHandler.swift index f1f4c47bbe..1ab164d327 100644 --- a/SignalNSE/NSECallMessageHandler.swift +++ b/SignalNSE/NSECallMessageHandler.swift @@ -66,7 +66,7 @@ public class NSECallMessageHandler: NSObject, OWSCallMessageHandler { if opaqueMessage.urgency == .handleImmediately, let opaqueData = opaqueMessage.data, - RemoteConfig.groupRings, + RemoteConfig.inboundGroupRings, isValidOpaqueRing(opaqueCallMessage: opaqueData, messageAgeSec: messageAgeForRingRtc, validateGroupRing: validateGroupRing) { diff --git a/SignalServiceKit/src/Util/RemoteConfigManager.swift b/SignalServiceKit/src/Util/RemoteConfigManager.swift index f9649e0f00..748350d5fd 100644 --- a/SignalServiceKit/src/Util/RemoteConfigManager.swift +++ b/SignalServiceKit/src/Util/RemoteConfigManager.swift @@ -225,8 +225,13 @@ public class RemoteConfig: BaseFlags { public static var canSendGiftBadges: Bool { FeatureFlags.canSendGiftBadges } - public static var groupRings: Bool { - DebugFlags.internalSettings || isEnabled(.groupRings) + public static var inboundGroupRings: Bool { + DebugFlags.internalSettings || !isEnabled(.inboundGroupRingsKillSwitch) + } + + public static var outboundGroupRings: Bool { + // When we're ready to enable outbound rings in production, remove the check for 'isPrerelease'. + DebugFlags.internalSettings || (FeatureFlags.isPrerelease && isEnabled(.groupRings2)) } public static var maxGroupCallRingSize: UInt { @@ -448,7 +453,8 @@ private struct Flags { case changePhoneNumberUI case keepMutedChatsArchivedOption case canReceiveGiftBadges - case groupRings + case groupRings2 + case inboundGroupRingsKillSwitch case storiesKillSwitch } diff --git a/ThirdParty/RingRTC b/ThirdParty/RingRTC index 965213f6e5..53349e443c 160000 --- a/ThirdParty/RingRTC +++ b/ThirdParty/RingRTC @@ -1 +1 @@ -Subproject commit 965213f6e5cacf1cc2ea23f354061a63a137cd65 +Subproject commit 53349e443c5e218ac6ad21aa85d152fd5690cbaf diff --git a/ThirdParty/SignalRingRTC.podspec b/ThirdParty/SignalRingRTC.podspec index 618161fcd3..da59a65399 100644 --- a/ThirdParty/SignalRingRTC.podspec +++ b/ThirdParty/SignalRingRTC.podspec @@ -8,7 +8,7 @@ Pod::Spec.new do |s| s.name = "SignalRingRTC" - s.version = "2.21.5" + s.version = "2.22.0" s.summary = "A Swift & Objective-C library used by the Signal iOS app for WebRTC interactions." s.description = <<-DESC diff --git a/ThirdParty/WebRTC b/ThirdParty/WebRTC index d20b610393..84e3476fa5 160000 --- a/ThirdParty/WebRTC +++ b/ThirdParty/WebRTC @@ -1 +1 @@ -Subproject commit d20b610393af19f96f42137f2c044e5bdcc50768 +Subproject commit 84e3476fa50e2301c729ace5452ab4b02eb50664