Skip to content

Commit 8f4067a

Browse files
fix: app freeze and crashed when internet is reconnected during the call - WPB-19210 🍒 (#4248)
Co-authored-by: KaterinaWire <57407805+KaterinaWire@users.noreply.github.com>
1 parent ae8d5ab commit 8f4067a

File tree

3 files changed

+22
-5
lines changed

3 files changed

+22
-5
lines changed

WireAVS/Package.swift

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,9 @@ let package = Package(
1717
targets: [
1818
.binaryTarget(
1919
name: "WireAVS",
20-
url: "https://github.com/wireapp/wire-avs/releases/download/10.1.41/avs.xcframework.zip",
21-
checksum: "c52b78f929ffdf2c10f620993fd093b4384afde85788288224f053b33d98ed66"
20+
url: "https://github.com/wireapp/wire-avs/releases/download/10.1.43/avs.xcframework.zip",
21+
checksum: "b8519a283ac69800b895ee0f8239ea141f68039faebec9621597bb70799ddad6"
22+
2223
)
2324
]
2425
)

wire-ios-sync-engine/Source/Calling/WireCallCenterV3.swift

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -494,6 +494,7 @@ extension WireCallCenterV3 {
494494
in: context
495495
),
496496
conversation.conversationType == .oneOnOne,
497+
isSFTEnabledForOneToOneCalls(context: context),
497498
callSnapshots[conversationId]?.callState == .established
498499
else {
499500
return false
@@ -1195,8 +1196,7 @@ extension WireCallCenterV3 {
11951196
private func getAVSConversationTypeForOneOnOne(_ conversation: ZMConversation) -> AVSConversationType {
11961197
guard
11971198
let context = conversation.managedObjectContext,
1198-
let featureConfig = LegacyFeatureRepository(context: context).fetchConferenceCalling().config,
1199-
featureConfig.useSFTForOneToOneCalls
1199+
isSFTEnabledForOneToOneCalls(context: context)
12001200
else {
12011201
return .oneToOne
12021202
}
@@ -1209,4 +1209,14 @@ extension WireCallCenterV3 {
12091209
}
12101210
}
12111211

1212+
private func isSFTEnabledForOneToOneCalls(context: NSManagedObjectContext) -> Bool {
1213+
guard let config = LegacyFeatureRepository(context: context)
1214+
.fetchConferenceCalling()
1215+
.config
1216+
else {
1217+
return false
1218+
}
1219+
return config.useSFTForOneToOneCalls
1220+
}
1221+
12121222
}

wire-ios-sync-engine/Source/UserSession/ZMUserSession/ZMUserSession.swift

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -429,6 +429,7 @@ public final class ZMUserSession: NSObject {
429429
public private(set) var clientSessionComponent: ClientSessionComponent?
430430

431431
private let networkReachability = NetworkReachability()
432+
private var networkInterfaceSwitchCancellable: AnyCancellable?
432433
private var isNetworkReachableCancellable: AnyCancellable?
433434

434435
// MARK: - Initialize
@@ -888,11 +889,16 @@ public final class ZMUserSession: NSObject {
888889
}
889890

890891
private func observeNetworkInterfaceSwitch() {
891-
isNetworkReachableCancellable = networkReachability.interfaceSwitchWhileOnlinePublisher
892+
networkInterfaceSwitchCancellable = networkReachability.interfaceSwitchWhileOnlinePublisher
892893
.sink { [weak self] _, _ in
893894
guard let self else { return }
894895
notifyAVSOfNetworkInterfaceChanged()
895896
}
897+
898+
isNetworkReachableCancellable = networkReachability.isOnlinePublisher.sink { [weak self] _ in
899+
guard let self else { return }
900+
notifyAVSOfNetworkInterfaceChanged()
901+
}
896902
}
897903

898904
func trackAnalyticsEvent(_ event: AnalyticsEvent) {

0 commit comments

Comments
 (0)