Failed to join meeting or get audio when Waiting Room is enabled

While using the Zoom Meeting SDK for web we are running into an issue when our users are using a waiting room for their meeting.

The issue is shown slightly differently if I use the Client View vs. using the Component View.

If I use the Client View, the application will get stuck into the join meeting as shown in this screenshot:

If I use the Component View, the application will successfully join the meeting but I will never ever get audio.

How to reproduce the issue

This is a timing issue as you have to admit the user into the meeting before the WebSDK is actually in the “lobby”.

Simply clicking on this button:

before the user sees either the “The host will let you in soon” for the Component View or the entire lobby for the Client View.

This is not easy to reproduce when you are using a very powerful computer with production bundles, but I managed to reproduce it with the GitHub - zoom/meetingsdk-web-sample: Zoom Meeting SDK web sample on a Mac Book Pro from last year with an M1 Pro Max CPU.
To make it very easy to reproduce, I suggest to test on a lower power device such as a Chromebook and a DEV bundle. that way you have can have 2 to 3 seconds to click the admit button before it is too late.

Browser Console Error
There are no specific error messages that seems to stand out. Some error messages are indeed present but they are also when I click the admit button after everything is setup and everything works.

Which Web Meeting SDK version?

Meeting SDK Code Snippets
I used the sample I linked above.

Troubleshooting Routes
I tried all kind of things, but I haven’t found ways to fix it. It seems that the js_media initialization is not finished while I am already “allowed” in the meeting which leads to the issue but since we are using a bundled version, it is very difficult to say.

Device (please complete the following information):

I reproduced it on a MacOS M1 Pro Max, an Ubuntu 22.04 with a threadripper CPU and other lighter computers. All using Google Chrome.

1 Like

Hey @Pierre_Fourgeaud this is definitely an issue we’ve seen many times. We use the Web SDK extensively to power our meeting bots, and we debugged and resolved this issue about a year ago.

You’re absolutely correct that the error occurs because of a race condition in the Web SDK. Unfortunately there’s no way to fix it easily using the Web SDK API – to get a reliable fix for this, you’d need to patch some Web SDK internals to detect when this race condition is occurring and automatically retry the relevant functions.

If you’re using the meeting SDK for a meeting bot, another option is It’s a simple 3rd party API that lets you use meeting bots to get the raw audio/video from meetings + output video/audio without you needing to spend months to build, scale and maintain these bots.

Let me know if you have any questions!

1 Like

Hey @amanda-recallai , thanks for your reply and confirming our findings so far!

Unfortunately we are not building a bot but this is for end-user purposes. I am wondering if you could share some pointer as how you fixed that issue on your side.

So far I found that it seems related to the timing of the JsMediaSDK initialization but wasn’t yet able to figure out where exactly that fails.
As you know, the bundle is minified and with all the fun redux code and babel transpiling, it makes it just more complicated.

My naive thinking is that maybe by simply trying to fully reinit the mediaSDK when fully in the call could solve the issue but I haven’t been successful at that yet.

Hi, Thank you for your reply and trying to help.

I guess there might have been a misunderstanding as I clearly mention that I am using the Web SDK… Nevertheless some of the thing you mention can solve the issue (such as back and forth the waiting room but since my users are not always host/co-host they just simply can’t do that themselves…).

@chunsiong.zoom When can we expect fix for this bug?
Are there any workarounds?

Thank you for figuring out how to reproduce this issue.

I tried re-initialization of SDK but it didn’t work, A full page reload works.
As the user has already been accepted into the meeting, User just has to click the joining button (which can also be automated for this particular case) when page is reloaded.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.