Leave and re-join broken ZoomMtgEmbedded and no leave event hook?

It appears the leave meeting breaks, and the web sdk client no longer inits properly afterwards? Or do you have a working example of leaving a meeting, destroying the zoomClient for ZoomMtgEmbedded and then re-creating it and joining the user again? Once user leaves, it appears to be broken.

Also, there is no working leave meeting event hook for ZoomMtgEmbedded / component to use to detect and execute custom code when a user leaves a webinar?

Hi, @inject.,

Thank you for posting in the Zoom Developer Forum. Can you share which version of the SDK you are using along with a detailed description of the pain point you are facing to init the meeting afterward? Also, what is the exact error you are seeing?

It may help if we can do an interactive session? We have a paid license, and overall using the SDK on our website presents this issue and several others. I assumed it was ready for production, unless the issues are us and our init/setup. But using it live with people holding the zoom session, people attending the zoom session, we’ve had nothing but trouble.

We’ve had to temporarily disable the SDK and integration on our website, and instead just use Launch Zoom button with link, to open in zoom client.

Since we are a paid customer, can we setup a support session or pay for additional support and go over the site, integration, a sample, and review all the issues we have (more then one) since presenters aren’t able to easily share their screen, viewers can’t easily view screen when joining webinar, init/re-init is broken when going back and forth, leaving webinar appears to not function correctly, and etc.

We can setup a sample webinar on our site, provide the link, and organize a time to demo it and all the problems?

Hello!
I am having the same error, I add all the information I could get so far.

SDK: Web Client SDK 2.8.0

Scenario: Angular app with a page that has a button, this button allows the user to start a Zoom meeting. The user must be able to leave the meeting and rejoin.

Problem: When starting a meeting, then leaving it and trying to rejoin, it gives the following error: “Cannot assign to read only property ‘activeApps’ of object ‘[object Object]’”. The problem seems to be that when leaving the meeting the client object is not destroyed and when trying to join again it goes through the init method and breaks when setting the customize property because it is frozen. I couldn’t find a way to reuse the already created client or to identify if it was already initialized or not.

As a workaround we are using the client view in a new tab instead of trying to reuse the component view on the same page.

@inject,

Sorry to hear that you had to take an alternative route and disable the SDK. We are happy to help clarify any questions you may have about integrating the SDK. Please submit a support ticket here and share the ticket number with us. I will keep an eye out for it!

You should also know that we offer premier Developer Support, which are support plans that provide access to prioritized developer-specific resources. To learn more, please see the link our support page below:

Premier Developer Support

Submit a Premier Developer Support Ticket

Should you have any questions, please let me know.

@DiegoE ,

Thank you for providing a detailed description of the behavior seeing — I am happy to help. I’ve seen this behavior reporter before but have not been able to reproduce it on my end. Could verify if you are using component view? Are you able to share the example repo so I can reproduce it on my end? Alternatively, can you share a video reproducing the issue with the browser console open?

@DiegoE and @inject ,

Brought this issue up to our engineering team and they are going to investigate this. In order to investigate this issue further, would you be able to :

  1. Create a sample repo on GitHub (or wherever)

  2. Demonstrate the problem and nothing but the problem. Be sure to whittle it down to the bare minimum of code that reliably demonstrates the issue. Get rid of any dependencies that aren’t directly related to the problem.

  3. Include instructions in the repo, along with a description of the expected and actual behaviour. Obviously the issue should include information about the bug as well, but it’s really helpful if README.md includes that information, plus a link back to the issue. If there are any instructions beyond npm install && npm run build, they should go here.

Thanks in advance for reporting this issue and I look forward to helping get this resolved.

It’s so frustrating, because you also have two types of SDK’s and they don’t share same documentation / functionality. For example, I am looking at how to handle audio and load audio on startup, code crashes saying function not available so embedded client is different from other client…

We want to use this but we had to drop it, it just seems very poorly documented / designed / supported so far is my experience. And documentation sends you back and forth to multiple links but libraries don’t match up like I stated above…

We will pay for premium support but I hope its actually support so far it’s all DIY / figure it out yourself and spend countless hours only to have to remove the solution entirely because it doesn’t work…

For example, when using leave it throws exceptions so this is probably why:

zoom-meeting-embedded-2.7.0.min.js:2 Uncaught (in promise) {type: ‘IMPROPER_MEETING_STATE’, reason: ‘closed’}
n.value @ zoom-meeting-embedded-2.7.0.min.js:2
(anonymous) @ zoom-meeting-embedded-2.7.0.min.js:2
(anonymous) @ react-dom.min.js:128
unstable_runWithPriority @ react.min.js:25
Da @ react-dom.min.js:60
Ch @ react-dom.min.js:128
Dh @ react-dom.min.js:133
Aj @ react-dom.min.js:158
unstable_runWithPriority @ react.min.js:25
Da @ react-dom.min.js:60
ab @ react-dom.min.js:154
Te @ react-dom.min.js:146
(anonymous) @ react-dom.min.js:61
unstable_runWithPriority @ react.min.js:25
Da @ react-dom.min.js:60
Pg @ react-dom.min.js:61
ha @ react-dom.min.js:60
Ja @ react-dom.min.js:224
ch @ react-dom.min.js:93
(anonymous) @ zoom-meeting-embedded-2.7.0.min.js:2
(anonymous) @ zoom-meeting-embedded-2.7.0.min.js:2
(anonymous) @ zoom-meeting-embedded-2.7.0.min.js:2
t.__tryOrUnsub @ zoom-meeting-embedded-2.7.0.min.js:2
t.next @ zoom-meeting-embedded-2.7.0.min.js:2
t._next @ zoom-meeting-embedded-2.7.0.min.js:2
t.next @ zoom-meeting-embedded-2.7.0.min.js:2
t.notifyNext @ zoom-meeting-embedded-2.7.0.min.js:2
t._next @ zoom-meeting-embedded-2.7.0.min.js:2
t.next @ zoom-meeting-embedded-2.7.0.min.js:2
e.observe @ zoom-meeting-embedded-2.7.0.min.js:2
t.dispatch @ zoom-meeting-embedded-2.7.0.min.js:2
t._execute @ zoom-meeting-embedded-2.7.0.min.js:2
t.execute @ zoom-meeting-embedded-2.7.0.min.js:2
t.flush @ zoom-meeting-embedded-2.7.0.min.js:2
(anonymous) @ zoom-meeting-embedded-2.7.0.min.js:2
Promise.then (async)
(anonymous) @ zoom-meeting-embedded-2.7.0.min.js:2
t.requestAsyncId @ zoom-meeting-embedded-2.7.0.min.js:2
t.schedule @ zoom-meeting-embedded-2.7.0.min.js:2
e.schedule @ zoom-meeting-embedded-2.7.0.min.js:2
t.schedule @ zoom-meeting-embedded-2.7.0.min.js:2
t.scheduleMessage @ zoom-meeting-embedded-2.7.0.min.js:2
t._next @ zoom-meeting-embedded-2.7.0.min.js:2
t.next @ zoom-meeting-embedded-2.7.0.min.js:2
t._next @ zoom-meeting-embedded-2.7.0.min.js:2
t.next @ zoom-meeting-embedded-2.7.0.min.js:2
(anonymous) @ zoom-meeting-embedded-2.7.0.min.js:2
(anonymous) @ zoom-meeting-embedded-2.7.0.min.js:2
emit @ zoom-meeting-embedded-2.7.0.min.js:2
As @ zoom-meeting-embedded-2.7.0.min.js:2
(anonymous) @ zoom-meeting-embedded-2.7.0.min.js:2
t._tryNext @ zoom-meeting-embedded-2.7.0.min.js:2
t._next @ zoom-meeting-embedded-2.7.0.min.js:2
t.next @ zoom-meeting-embedded-2.7.0.min.js:2
t._next @ zoom-meeting-embedded-2.7.0.min.js:2
t.next @ zoom-meeting-embedded-2.7.0.min.js:2
t._next @ zoom-meeting-embedded-2.7.0.min.js:2
t.next @ zoom-meeting-embedded-2.7.0.min.js:2
e.observe @ zoom-meeting-embedded-2.7.0.min.js:2
t.dispatch @ zoom-meeting-embedded-2.7.0.min.js:2
t._execute @ zoom-meeting-embedded-2.7.0.min.js:2
t.execute @ zoom-meeting-embedded-2.7.0.min.js:2
t.flush @ zoom-meeting-embedded-2.7.0.min.js:2
t.schedule @ zoom-meeting-embedded-2.7.0.min.js:2
e.schedule @ zoom-meeting-embedded-2.7.0.min.js:2
t.schedule @ zoom-meeting-embedded-2.7.0.min.js:2
t.scheduleMessage @ zoom-meeting-embedded-2.7.0.min.js:2
t._next @ zoom-meeting-embedded-2.7.0.min.js:2
t.next @ zoom-meeting-embedded-2.7.0.min.js:2
t.next @ zoom-meeting-embedded-2.7.0.min.js:2
t.next @ zoom-meeting-embedded-2.7.0.min.js:2
(anonymous) @ zoom-meeting-embedded-2.7.0.min.js:2
leave @ zoom-meeting-embedded-2.7.0.min.js:2
(anonymous) @ zoom-meeting-embedded-2.7.0.min.js:2
ki @ react-dom.min.js:176
ji @ react-dom.min.js:13
mi @ react-dom.min.js:13
lf @ react-dom.min.js:13
wi @ react-dom.min.js:187
Kd @ react-dom.min.js:32
pc @ react-dom.min.js:32
Wf @ react-dom.min.js:34
(anonymous) @ react-dom.min.js:236
Af @ react-dom.min.js:18
Qd @ react-dom.min.js:42
sc @ react-dom.min.js:41
unstable_runWithPriority @ react.min.js:25
Da @ react-dom.min.js:60
mk.Events.current @ react-dom.min.js:236
Ei @ react-dom.min.js:41
Show 59 more frames
zoom-meeting-embedded-2.7.0.min.js:2 Uncaught (in promise) {type: ‘IMPROPER_MEETING_STATE’, reason: ‘closed’}

Will just try to hook into a leave event or something else and hack the code to reload the page…maybe that will work.

I don’t have time to create an example repo at the moment, however the error is pretty simple to reproduce:
1- Add the component view to a page along with the settings needed to start a meeting (in our case we use a scheduled meeting so it won’t be deleted on hang up).
2- Start the meeting from the same page and leave the meeting.
3- When trying to rejoin the meeting (without refreshing the page) the zoom component gives the error mentioned in my previous post.

Anyway, this error led us to re-evaluate the implementation we were doing and we decided to use the client view that allows us a slightly more aesthetic integration. Therefore there is no need for you to further evaluate the bug, at least not on my own. Thank you very much for the good predisposition!

1 Like

@inject ,

Sorry to hear about your experience navigating the Zoom Developer Platform. You should know we hear you and are working to make improvements to our documentation. Other developers have also expressed their frustration and we can see why. We understand how making improvements to the development flow would save a lot of time.

Can you share more details about what you are looking to implement and the specific errors you are seeing loading audio on startup? More importantly, we’d love to better understand more about why this feature is important to you. And, what is the exact problem you see when trying to implement the feature? We are happy to further assist you to accomplish your goal or suggest a workaround that might solve this issue for you.

Let us know of any other requests you might have now—we’re here to listen!

At Zoom, we care deeply about providing the best service to our customers and communities. Your feedback is the driving force to helping us achieve our mission. Please share more of your thoughts on what’s working and where you think we can improve. We are always looking for ways to improve and this is the exact feedback we need to make a meaningful impact.

I appreciate any details you provide, please do let me know if you have any questions about this. We always appreciate feedback and suggestions.

Until this issue is tracked down and figured out, I think refreshing the page seems the best way forward.
Also, I kindly ask, if can you share a screen of the local storage when this issue occurs.

@DiegoE,

I totally understand and appreciate your feedback as well. I’ll make sure that our internal team hears about your experience.

Thanks for bringing this topic to our attention. We’ll do what we can to fix it, and I’ll be sure to keep you updated. If you have any other questions or feedback, feel free to let us know here.

1 Like

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