From 2cce310540cf0a6ec9de8bbfaed75634931fcff8 Mon Sep 17 00:00:00 2001 From: Stefan Ceriu Date: Tue, 16 Jul 2024 10:46:45 +0300 Subject: [PATCH] Fixes #3041 - Video not rendering after starting or joinng a call - not completely sure why this happens but `reportOutgoingCall` interferes with how the WebView gets access to video streams - the call itself isn't really necessary so removing it is the simplest way forward --- .../Sources/Screens/CallScreen/View/CallScreen.swift | 3 +++ .../Services/ElementCall/ElementCallService.swift | 10 ---------- 2 files changed, 3 insertions(+), 10 deletions(-) diff --git a/ElementX/Sources/Screens/CallScreen/View/CallScreen.swift b/ElementX/Sources/Screens/CallScreen/View/CallScreen.swift index bb7ee413c..ab0209cff 100644 --- a/ElementX/Sources/Screens/CallScreen/View/CallScreen.swift +++ b/ElementX/Sources/Screens/CallScreen/View/CallScreen.swift @@ -87,6 +87,9 @@ private struct WebView: UIViewRepresentable { webView.uiDelegate = self webView.navigationDelegate = self + // https://stackoverflow.com/a/77963877/730924 + webView.allowsLinkPreview = true + // Try matching Element Call colors webView.isOpaque = false webView.backgroundColor = .compound.bgCanvasDefault diff --git a/ElementX/Sources/Services/ElementCall/ElementCallService.swift b/ElementX/Sources/Services/ElementCall/ElementCallService.swift index 892fafa7e..48612c6f2 100644 --- a/ElementX/Sources/Services/ElementCall/ElementCallService.swift +++ b/ElementX/Sources/Services/ElementCall/ElementCallService.swift @@ -152,16 +152,6 @@ class ElementCallService: NSObject, ElementCallServiceProtocol, PKPushRegistryDe MXLog.info("Call provider did reset: \(provider)") } - func provider(_ provider: CXProvider, perform action: CXStartCallAction) { - if let ongoingCallID { - provider.reportOutgoingCall(with: ongoingCallID.callKitID, connectedAt: nil) - } else { - MXLog.error("Failed starting call, missing ongoingCallID") - } - - action.fulfill() - } - func provider(_ provider: CXProvider, perform action: CXAnswerCallAction) { if let incomingCallID { actionsSubject.send(.startCall(roomID: incomingCallID.roomID))