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