element-hq / element-x-ios

Next generation Matrix client for iOS built with SwiftUI on top of matrix-rust-sdk.
https://element.io/labs/element-x
GNU Affero General Public License v3.0
393 stars 86 forks source link

[ElementCall] Video calling is broken #3041

Closed stefanceriu closed 1 month ago

stefanceriu commented 1 month ago

After starting or joining a video call the web app not longer shows videos (incoming or outgoing) on the UI.

Sending video also doesn't work properly with the other side (Element web in this case) sometimes receiving the video, sometimes not

IMG_1734F70AB13C-1 IMG_99748778D547-1

stefanceriu commented 1 month ago

Reopening this as videos still go missing when the call is started in response to an incoming CallKit notification.

stefanceriu commented 1 month ago

Transcript from the internal room:

I'm not sure what's happening but I went and removed all the CallKit related code except for what's making it ring e.g. https://github.com/element-hq/element-x-ios/blob/develop/ElementX/Sources/Services/ElementCall/ElementCallService.swift#L155-L161` I also disconnected the CallKit ringing from the starting of the widget and the web view what I'm seeing is that as soon as CallKit establishes a call session the WebApp is unable to render the video once CallKit goes away it all goes back to normal All I can think of is that CallKit messes with the streams in some way that prevents the WebApp from accessing them but I have no way to debug any of that