talk-ios icon indicating copy to clipboard operation
talk-ios copied to clipboard

Calls can't be answered on iPhones with IOS16

Open jacotec opened this issue 2 years ago • 15 comments

Steps to reproduce

  1. Have Nextcloud-IOS installed on an iPhone with IOS16.0.2
  2. Start a video call from a different account
  3. On the iPhone, the call appears on the lock screen. Swipe to answer the call.
  4. iPhone is doing FaceID
  5. iPhone shows the spring board, the NC app does not open and handle the call

Expected behaviour

The incoming call should be answered.

Actual behaviour

The talk app is not opened, the call is not answered.

In case the iPhone is unlocked, the call banner appears on top of the screen. In this scenario, pressing the blue "answer" button does open the NC talk app, but it's not handling the call. Also here the call can't be answered.

Device information

Device: iPhone 11 Pro Max

iOS version: 16.0.2

Talk version: 14.0.3

Server information

Nextcloud version: 24.0.5

Talk version: 14.0.5

Custom Signaling server configured: yes, 1.0.0 (33dc5a554b496bd253bedbecc6755de514a64867)

Custom TURN server configured: yes

Custom STUN server configured: yes

Additional info

Works on an iPhone 8 Plus with IOS 15.5 with the same account and app version.

jacotec avatar Oct 05 '22 10:10 jacotec

Hello @jacotec,

thank you for your report! I was able to reproduce this with 16.0 on my device as well. Looks like there are some changes made by apple we need to address in some way.

One workaround is noted at https://developer.apple.com/forums/thread/712817, not sure if this is the way to go, though.

SystemKeeper avatar Oct 05 '22 11:10 SystemKeeper

Thanks @SystemKeeper for confirming the issue. The workaround does not help me for now as this needs to be fixed in the official app. As the whole IOS world moves towards IOS16 in these days, I guess this deserves a high priority. ;-)

(Still wondering why this wasn't listed nearly 4 weeks after IOS16 release ...)

jacotec avatar Oct 05 '22 11:10 jacotec

Double confirmed on my test iPhone 8 Plus as well. Updated it to IOS 16.0.2 without changing anything else and it broke.

jacotec avatar Oct 05 '22 11:10 jacotec

Sorry @jacotec, the workaround was meant as a note for us developers, not as a workaround for the users. Sorry for the confusion.

In my case it's enough to either choose "Nextcloud Talk" on the CallKit screen: image

Or selecting the green bar at the top. In both cases talk successfully opens and shows the call. Is that not the case for you?

SystemKeeper avatar Oct 05 '22 11:10 SystemKeeper

@SystemKeeper Only in some cases the CallKit screen opens. In most cases it just drops to Springboard after FaceID. When the Phone is already unlocked, it really opens the Talk app but does not join the call.

If the CallKit screen shows up, pressing "Nextcloud Talk" does the job. But as the screen is mostly missing, that's not a Workaround I can push to my users.

jacotec avatar Oct 05 '22 11:10 jacotec

It does not seem to be a general problem with CallKit. My PBX app (Auerswald Softphone, based on Zoiper), which is also using CallKit, still works without issues for incoming calls.

So it looks like something app-related.

jacotec avatar Oct 05 '22 12:10 jacotec

Does this app do video calls as well or just voice calls? That seems to make a difference

SystemKeeper avatar Oct 05 '22 12:10 SystemKeeper

The Softphone app does only audio.

jacotec avatar Oct 05 '22 12:10 jacotec

Same issue in 15.0.0 beta 3

jacotec avatar Oct 10 '22 07:10 jacotec

Same issue in 15.0.0 beta 3

There haven't been any changes in recent betas regarding this problem. I've implemented in #913 - if review is positive this might be included in the next beta.

SystemKeeper avatar Oct 10 '22 14:10 SystemKeeper

IMHO that should be backported to 14 as well ... depending on the planned release date for 15.0.0

jacotec avatar Oct 10 '22 15:10 jacotec

Only in some cases the CallKit screen opens. In most cases it just drops to Springboard after FaceID. When the Phone is already unlocked, it really opens the Talk app but does not join the call.

I can't reproduce this scenario where the CallKit screen is not shown after picking up the call. In all my tests, the CallKit screen is shown after picking up the call, and you can jump from there to the Nextcloud Talk app by cliking on the "Nextcloud Talk" button. Since this change/bug (not jumping directly to the app after unlocking the phone) was introduced on iOS 16, I would prefer to wait for a fix from Apple, rather than workaround this.

Not joining the call seems to be a different issue not related with the iOS 16 change.

Ivansss avatar Oct 10 '22 16:10 Ivansss

@Ivansss Not sure if I like the idea of waiting for Apple fixing this in weeks or months while all IOS users can't use talk on their phones properly.

I'd not decide like this with many k of users if a harmless workaround is available (which too can be reverted at some time if Apple really fixes this).

jacotec avatar Oct 10 '22 17:10 jacotec

Not sure if I like the idea of waiting for Apple fixing this in weeks or months while all IOS users can't use talk on their phones properly.

The only problem we are experiencing at the moment is: After picking up a videocall and unlocking the phone (when it is requested by the OS) the app doesn't jump automatically to the Nextcloud Talk app as it did in previous iOS versions (<16). It just shows the CallKit screen and you can jump manually from there to the app by clicking on the "Nextcloud Talk" button.

We don't know the reason why Apple did this change, but since they might fix it at some point and we don't find this a critical issue for the users (even though is a bit annoying having to manually tap on the "Nextcloud Talk" button), we prefer to wait for a fix from Apple rather than trying to workaround this problem.

I'd not decide like this with many k of users if a harmless workaround is available (which too can be reverted at some time if Apple really fixes this).

The problem is that we didn't find a harmless workaround yet :( #913 fixes the problem of not jumping to the app but it also introduces some issues in other scenarios as explained in https://github.com/nextcloud/talk-ios/pull/913#pullrequestreview-1136296863

Ivansss avatar Oct 11 '22 08:10 Ivansss

If there would always be the CallKit screen that would be something which I could explain to the users. The issue is: In >70% of all cases it's not there. When answering the call from the lock screen IOS jumps into the springboard after FaceID and the call can't be answered.

jacotec avatar Oct 11 '22 08:10 jacotec

Hey all i also noticed that sometimes when i answer the call the end users video comes up but im missing all menu buttons on the bottom? Here what is looks like

2023-01-20 12_09_56-IMG_1674237119686 jpg

AndyXheli avatar Jan 20 '23 18:01 AndyXheli

Hey all i also noticed that sometimes when i answer the call the end users video comes up but im missing all menu buttons on the bottom? Here what is looks like

Well, duplicate of https://github.com/nextcloud/talk-ios/issues/1035 this then 😅

SystemKeeper avatar Jan 20 '23 18:01 SystemKeeper

Ops! 😅 do you want me to move this comment over to the other one or hide it ?

AndyXheli avatar Jan 20 '23 18:01 AndyXheli

Ops! 😅 do you want me to move this comment over to the other one or hide it ?

Move it over and hide it here would be nice, thanks 👍

SystemKeeper avatar Jan 20 '23 18:01 SystemKeeper

As discussed in #913 there's nothing we can do about it right now. So I'm closing this issue.

SystemKeeper avatar Mar 15 '23 10:03 SystemKeeper