Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issue: Call Connection Failure on Lock Screen When App is in Background or Terminated (Non-Video & Video Calls) #802

Closed
keshav-sf opened this issue Dec 2, 2024 · 1 comment
Assignees

Comments

@keshav-sf
Copy link

Description:

When the app is running in the background or terminated, and the device is locked, incoming calls (both non-video and video) experience inconsistent behavior and fail to connect properly unless specific conditions are met. These issues occur as follows:

  1. Non-Video Calls (Incoming During Lock Screen):

    • When a non-video call is incoming while the device is locked and the app is running in the background:
      • Accepting the call will bring up CallKit UI, but the call does not connect with the other user.
      • The call only connects after the user enters the device passcode and is redirected to the app.
  2. Video Calls (Incoming During Lock Screen):

    • When a video call is incoming while the device is locked and the app is running in the background:
      • Upon accepting the video call, the system prompts the user to enter the passcode.
      • If the correct passcode is entered, the app is redirected, and the call connects as expected.
      • If the user clicks Cancel on the passcode prompt, the system closes the passcode UI and displays the CallKit UI, but the call does not connect unless the user manually enters the passcode and navigates back to the app.
  3. App Terminated (Incoming Call During Lock Screen):

    • If the app is foreground and then it is terminated, an incoming call occurs while the device is locked:
      • Accepting the call immediately connects the call, even without entering a passcode or clicking cancel.
      • However, this only works for the first incoming call after app termination. For subsequent calls, the connection issue reoccurs:
        • After the first call is terminated, the second and subsequent incoming calls do not connect unless the user either enters the passcode or manually opens the app.

Steps to Reproduce:

  1. Ensure the app is terminated or running in the background.
  2. Lock the device.
  3. Trigger an incoming non-video call or video call.
  4. Accept the call:
    • For non-video calls, observe that CallKit appears, but the call does not connect until the passcode is entered.
    • For video calls, observe that entering the correct passcode redirects the user to the app, and the call connects. If the user clicks cancel on the passcode prompt, the call does not connect until the user enters the passcode manually and navigates to the app.
  5. Terminate the app (force kill or make sure it’s not running in the background).
  6. Lock the device and trigger an incoming call:
    • For the first incoming call after the app termination, observe that the call connects even without entering the passcode or clicking cancel.
    • For subsequent calls, the issue reoccurs: the call does not connect unless the passcode is entered or the app is opened manually.

Device Information:

  • Using iPhone 13 & iPhone 15.
  • iOS version (iPhone 13: 18.0.1 & iPhone 15: 17.6.1 ).

App Version:

  • Using the latest stream sample app(Dogfooding) for testing.
@Brazol Brazol self-assigned this Dec 2, 2024
@deven98
Copy link
Contributor

deven98 commented Dec 11, 2024

Hi @keshav-sf, thanks for the report!

This should be fixed by #803 and should be rolled out in the next release.
You can of course use the git dependency if you need it immediately.

Closing this for now but please comment if it does not fix your issues.
Thanks!

@deven98 deven98 closed this as completed Dec 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants