aws / amazon-chime-sdk-js

A JavaScript client library for integrating multi-party communications powered by the Amazon Chime service.
Apache License 2.0
709 stars 477 forks source link

CheckAudioConnectivity doesn't seem to work in iOS 17, returns AudioNotReceived #2783

Closed ctgovea closed 7 months ago

ctgovea commented 11 months ago

What happened and what did you expect to happen?

MeetingReadinessChecker.checkAudioConnectivity() doesn't seem to be working in iOS 17. It returns AudioNotReceived.

To reproduce the issue I used the meetingReadinessChecker demo from /demos/browser/app on an iPhone running on iOS 17. On the other hand, the same test works as expected in iOS 16.

Have you reviewed our existing documentation?

Reproduction steps

  1. npm run start --app=meetingReadinessChecker
  2. ngrok http 8080
  3. Open the ngrok url in a device running on iOS 17. (Tested on an iPhone 12 Pro with iOS 17.0.3)
  4. Allow mic and video in the browser
  5. Run the readiness tests

Expected result Audio Connectivity: Succeeded

Actual result Audio Connectivity: AudioNotReceived

image

Same test on iOS 16 works just fine

image

Amazon Chime SDK for JavaScript version

3.19.0

What browsers are you seeing the problem on?

Safari

Browser version

17.0.3

Meeting and Attendee ID Information.

No response

Browser console logs

[Info] 2023-10-20T21:30:34.156Z [INFO] SDK - The signaling connection was closed with code 1006 and reason:  (3cc6-2806-2f0-5061-f9e9-d01a-1f57-f9e8-c1f2.ngrok-free.app, line 2)
[Info] 2023-10-20T21:30:34.156Z [INFO] SDK - handling status: SignalChannelClosedUnexpectedly (3cc6-2806-2f0-5061-f9e9-d01a-1f57-f9e8-c1f2.ngrok-free.app, line 2)
[Warning] 2023-10-20T21:30:34.157Z [WARN] SDK - no transition found from Disconnecting with Fail (3cc6-2806-2f0-5061-f9e9-d01a-1f57-f9e8-c1f2.ngrok-free.app, line 2)
[Error] 2023-10-20T21:30:34.158Z [ERROR] SDK - The audio video controller failed with status code SignalChannelClosedUnexpectedly
    log (3cc6-2806-2f0-5061-f9e9-d01a-1f57-f9e8-c1f2.ngrok-free.app:2:201931)
    error (3cc6-2806-2f0-5061-f9e9-d01a-1f57-f9e8-c1f2.ngrok-free.app:2:201550)
    error (3cc6-2806-2f0-5061-f9e9-d01a-1f57-f9e8-c1f2.ngrok-free.app:2:202906)
    error (3cc6-2806-2f0-5061-f9e9-d01a-1f57-f9e8-c1f2.ngrok-free.app:2:1113596)
    handleMeetingSessionStatus (3cc6-2806-2f0-5061-f9e9-d01a-1f57-f9e8-c1f2.ngrok-free.app:2:42923)
    handleSignalingClientEvent (3cc6-2806-2f0-5061-f9e9-d01a-1f57-f9e8-c1f2.ngrok-free.app:2:583295)
    sendEvent (3cc6-2806-2f0-5061-f9e9-d01a-1f57-f9e8-c1f2.ngrok-free.app:2:356498)
    (anonymous function) (3cc6-2806-2f0-5061-f9e9-d01a-1f57-f9e8-c1f2.ngrok-free.app:2:348865)
    r (3cc6-2806-2f0-5061-f9e9-d01a-1f57-f9e8-c1f2.ngrok-free.app:2:353208)
[Info] 2023-10-20T21:30:34.158Z [INFO] SDK - no connection requests to service (3cc6-2806-2f0-5061-f9e9-d01a-1f57-f9e8-c1f2.ngrok-free.app, line 2)
[Info] 2023-10-20T21:30:34.159Z [INFO] SDK - removing meeting observer (3cc6-2806-2f0-5061-f9e9-d01a-1f57-f9e8-c1f2.ngrok-free.app, line 2)
[Info] 2023-10-20T21:30:34.166Z [INFO] SDK - removing meeting observer (3cc6-2806-2f0-5061-f9e9-d01a-1f57-f9e8-c1f2.ngrok-free.app, line 2)
[Info] 2023-10-20T21:30:34.166Z [INFO] SDK - Stopping StatsCollector (3cc6-2806-2f0-5061-f9e9-d01a-1f57-f9e8-c1f2.ngrok-free.app, line 2)
[Info] 2023-10-20T21:30:34.166Z [INFO] SDK - removing a ping-pong observer (3cc6-2806-2f0-5061-f9e9-d01a-1f57-f9e8-c1f2.ngrok-free.app, line 2)
[Info] 2023-10-20T21:30:34.167Z [INFO] SDK - removing meeting observer (3cc6-2806-2f0-5061-f9e9-d01a-1f57-f9e8-c1f2.ngrok-free.app, line 2)
[Info] 2023-10-20T21:30:34.167Z [INFO] SDK - AudioVideoClean/c38ce2a9-f9d6-413a-b1c2-7b8ab1bf2713/186b80eb-194d-5b2c-48c1-d96ba8b445dd/Timeout15000ms/CleanStoppedSessionTask took 48 ms (3cc6-2806-2f0-5061-f9e9-d01a-1f57-f9e8-c1f2.ngrok-free.app, line 2)
[Info] 2023-10-20T21:30:34.168Z [INFO] SDK - timeout task AudioVideoClean/c38ce2a9-f9d6-413a-b1c2-7b8ab1bf2713/186b80eb-194d-5b2c-48c1-d96ba8b445dd/Timeout15000ms completed (3cc6-2806-2f0-5061-f9e9-d01a-1f57-f9e8-c1f2.ngrok-free.app, line 2)
[Info] 2023-10-20T21:30:34.168Z [INFO] SDK - AudioVideoClean/c38ce2a9-f9d6-413a-b1c2-7b8ab1bf2713/186b80eb-194d-5b2c-48c1-d96ba8b445dd/Timeout15000ms took 49 ms (3cc6-2806-2f0-5061-f9e9-d01a-1f57-f9e8-c1f2.ngrok-free.app, line 2)
[Info] 2023-10-20T21:30:34.168Z [INFO] SDK - serial group task AudioVideoClean/c38ce2a9-f9d6-413a-b1c2-7b8ab1bf2713/186b80eb-194d-5b2c-48c1-d96ba8b445dd completed subtask AudioVideoClean/c38ce2a9-f9d6-413a-b1c2-7b8ab1bf2713/186b80eb-194d-5b2c-48c1-d96ba8b445dd/Timeout15000ms (3cc6-2806-2f0-5061-f9e9-d01a-1f57-f9e8-c1f2.ngrok-free.app, line 2)
[Info] 2023-10-20T21:30:34.169Z [INFO] SDK - serial group task AudioVideoClean/c38ce2a9-f9d6-413a-b1c2-7b8ab1bf2713/186b80eb-194d-5b2c-48c1-d96ba8b445dd completed (3cc6-2806-2f0-5061-f9e9-d01a-1f57-f9e8-c1f2.ngrok-free.app, line 2)
[Info] 2023-10-20T21:30:34.169Z [INFO] SDK - AudioVideoClean/c38ce2a9-f9d6-413a-b1c2-7b8ab1bf2713/186b80eb-194d-5b2c-48c1-d96ba8b445dd took 51 ms (3cc6-2806-2f0-5061-f9e9-d01a-1f57-f9e8-c1f2.ngrok-free.app, line 2)
[Info] 2023-10-20T21:30:34.169Z [INFO] SDK - transitioning from Disconnecting to NotConnected with FinishDisconnecting (3cc6-2806-2f0-5061-f9e9-d01a-1f57-f9e8-c1f2.ngrok-free.app, line 2)
[Error] Failed to load resource: the server responded with a status of 404 () (logs, line 0)
[Error] Failed to load resource: the server responded with a status of 404 () (logs, line 0)
[Info] 2023-10-20T21:30:37.057Z [INFO] SDK - Timeout10000ms/BaseTask took 3002 ms (3cc6-2806-2f0-5061-f9e9-d01a-1f57-f9e8-c1f2.ngrok-free.app, line 2)
[Info] 2023-10-20T21:30:37.058Z [INFO] SDK - timeout task Timeout10000ms completed (3cc6-2806-2f0-5061-f9e9-d01a-1f57-f9e8-c1f2.ngrok-free.app, line 2)
[Info] 2023-10-20T21:30:37.058Z [INFO] SDK - Timeout10000ms took 3004 ms (3cc6-2806-2f0-5061-f9e9-d01a-1f57-f9e8-c1f2.ngrok-free.app, line 2)
[Info] 2023-10-20T21:30:37.059Z [INFO] SDK - removing meeting observer (3cc6-2806-2f0-5061-f9e9-d01a-1f57-f9e8-c1f2.ngrok-free.app, line 2)
[Info] 2023-10-20T21:30:37.059Z [INFO] SDK - API/DefaultAudioVideoFacade/c38ce2a9-f9d6-413a-b1c2-7b8ab1bf2713/186b80eb-194d-5b2c-48c1-d96ba8b445dd/removeObserver (3cc6-2806-2f0-5061-f9e9-d01a-1f57-f9e8-c1f2.ngrok-free.app, line 2)
[Info] 2023-10-20T21:30:37.060Z [INFO] SDK - API/DefaultAudioVideoFacade/c38ce2a9-f9d6-413a-b1c2-7b8ab1bf2713/186b80eb-194d-5b2c-48c1-d96ba8b445dd/stopAudioInput (3cc6-2806-2f0-5061-f9e9-d01a-1f57-f9e8-c1f2.ngrok-free.app, line 2)
[Info] 2023-10-20T21:30:37.062Z [INFO] SDK - Stopping devicechange listener. (3cc6-2806-2f0-5061-f9e9-d01a-1f57-f9e8-c1f2.ngrok-free.app, line 2)
[Info] audioConnectivityResp (3cc6-2806-2f0-5061-f9e9-d01a-1f57-f9e8-c1f2.ngrok-free.app, line 2)
[Info] 4 (3cc6-2806-2f0-5061-f9e9-d01a-1f57-f9e8-c1f2.ngrok-free.app, line 2)
michhyun1 commented 8 months ago

This seems to be an iOS related issue, and not the JS SDK.

Can you ugrade to 17.1.x and see if the issue persists?

michhyun1 commented 8 months ago

Actually I was able to reproduce on my iphone 14 on iOS 17.2.1.

Both Audio Connectivity and Video Connectivity is not working. Will investigate.

michhyun1 commented 8 months ago

Content share also seemed to fail

michhyun1 commented 7 months ago

Fixed: https://github.com/aws/amazon-chime-sdk-js/pull/2837