{"type": "OPERATION_TIMEOUT"} error on startAudio in iOS Safari


Description
I am experiencing an issue with the Zoom Video Web SDK sample app code on iOS Safari. When attempting to start audio using the startAudio function with no any parameters, the operation gets stuck and eventually throws an error with the message: {"type": "OPERATION_TIMEOUT"}. This issue occurs intermittently and affects the ability to start audio reliably.

Browser Console Error
{“type”: “OPERATION_TIMEOUT”}

Which Web Video SDK version?
1.11.6

Video SDK Code Snippets

const onMicrophoneClick = useCallback(async () => {
    if (isStartedAudio) {
      if (isMuted) {
        await mediaStream?.unmuteAudio();
      } else {
        await mediaStream?.muteAudio();
      }
    } else {
      try {
        await mediaStream?.startAudio();
      } catch (e: any) {
        if (e.type === 'INSUFFICIENT_PRIVILEGES' && e.reason === 'USER_FORBIDDEN_MICROPHONE') {
          setIsMicrophoneForbidden(true);
        }
       message.error(e?.reason || JSON.stringify(e));
      }
    }
  }, [mediaStream, isStartedAudio, isMuted]);

To Reproduce(If applicable)
Steps to reproduce the behavior:

  1. Run GitHub - zoom/videosdk-web-sample: Zoom Video SDK web sample
  2. Join from iOS Safari
  3. Press start mic button
  4. Nothing will happen long time then error throws {“type”: “OPERATION_TIMEOUT”}

Device (please complete the following information):

  • Device: iPhone SE
  • OS: iOS 16.5
  • Browser: Safari
  • Browser Version 16.5

Additional context
Issue may reproduce after internet disconnet and then reconnect

Hey @arfa.ahmed

Thanks for your feedback.

Could you share the problematic Session IDs with us for troubleshooting purposes?

Thanks
Vic

After upgrading to version 1.11.10, this issue no longer happens. Thanks.

Hi @vic.yang
Now I still have this problem. Please help me check it

  • Zoom: v1.11.10
  • Safari: Version 17.2.1

Hey @michel.dang

Could you share the problematic Session IDs with us for troubleshooting purposes?

Thanks
Vic

SessionID: tLLNcLg1SJyVKrh0YbyQDQ==
Issue occur first time when call. After that I call it start normally.
It also happens every time refresh website.

Thanks

Hey @michel.dang

I want to confirm if you automatically call stream.startAudio right after joining the session.

If so, this is the browser privacy restriction that requires user interaction with the page before capturing and playing sound.

We also provide an auto-play-audio-failed event to notify you of this case.

Thanks
Vic

Hey @vic.yang
Yeah, I have to click button to start call. So i interacted with the page.
And It happens only Safari. Chrome, Firefox work normally.
Please give advises