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
431 stars 105 forks source link

SSS & Element Call: no audio/video/call ringing transmitted #3275

Open jacotec opened 2 months ago

jacotec commented 2 months ago

Steps to reproduce

I always use my backup-iPhone (11 Pro Max) for testing and did upgrade it to the IOS18 release candidate.

After switching to IOS18, EX-IOS does not transmit audio or video anymore! On the iPhone I see and hear the counterpart, but the other side does not see my video nor my audio anymore. Toggle video and audio off/on a few times does not help either.

This is regardless which side opens the call. Also the same appears using VP8 and H.264 codec.

As it's just 5 days until the Apple world switches to IOS18 this might have some priority ;-)

Outcome

What did you expect?

Audio and Video transmission should also work on IOS18

What happened instead?

After updating from 17.6.1 to IOS 18 RC, the IOS18 device does not transmit audio or video anymore. Receive is fine.

Your phone model

iPhone 11 Pro Max

Operating system version

IOS 18 RC

Application version

1.8.0

Homeserver

Synapse 1.114.0

Will you send logs?

Yes

pixlwave commented 2 months ago

@jacotec confirmed that https://call.element.io works on the same device using Safari.

⁦I did a retest in EX (because I restarted my phone before doing the Safari test), still not working. 

In EX I see my own video on the screen, if that helps. It's just not transmitted to the other side.

jacotec commented 2 months ago

Another (maybe related) issue:

When I start a call from the IOS18 device to another account with an iPhone (still on 17.6.1), there is no CallKit notification! I'm only getting a normal Element notification in this case.

Repeating the test with an Element-Web instance calling with the same test account as the IOS18 phone, CallKit works on the receiver side.

So, this sender issue seems to break the receiving side's CallKit as well.

jacotec commented 2 months ago

New information: Logging out and in does not do anything.

But switching from native sliding sync to proxy sliding sync resolves the issue! Counterside rings and also transmitting video and audio works.

So this issue is related to native sliding sync! @pixlwave