Zoom SDK 2.9.7 component view possible bug

Hi all,
we are integrating the websdk package into our Angular 15 app
Below the Meeting SDK type and version we’re working:
Meeting SDK 2.9.7 component view

We have a problem when the meeting starts after the user tries to join.

The user clicks join and receives the message ‘Meeting has not started’

image

Then the user close the window by clicking on the red button.

When meeting starts , user clicks on Join Meeting again (without refresh the page).
It seems that the join was successful, but no windows open.
The meetingSDKElement view is empty.

There are no errors in console and in the zoom client we can see user as attendee of meeting.

We have downloaded the meetingsdk-angular-sample and we were able to reproduce the problem

Steps to reproduce the behavior including:

  1. Join meeting by sample web app when meeting has not started yet
  2. Leave meeting by clicking the red button
  3. Start the meeting from zoom client
  4. Click on join meeting again (without refresh the page)

The result is an empty meetingSDKElement view, even if join was successful and you can see user as attendee in zoom client.

Anyone with the same problem?

@it17,
Thank you for posting on the Zoom Developer Forum and sorry for the missed response. I see you are using the Meeting SDK 2.9.7 component view and have a problem when the meeting starts after the user tries to join. I’ve seen reports of similar behavior in the past where clicking on join the meeting again without refreshing the page causes unintended behavior. We recently introduced an API to destroy the Component View client to allow re-creation from scratch. Here is the link to the changelog and the Component View documentation for your reference:

DestroyClient Changelog

destroyClient

When attempting to rejoin meeting without refreshing the page, can you try the following approach:

  1. Upon leaving, destroy the client.
  2. When returning back to the angular page/component, create the client and initialize again.

Please let us know if this helps.

Hi @donte.zoom and thanks for your reply. Unfortunately this function doesn’t seem to be presente at the links you posted. A full search on google and GitHub has just showed this reference


in meetingsdk-web/embedded.d.ts at master · zoom/meetingsdk-web · GitHub.
Could please point us to some link where we can find some little documentation, or just drop two lines of code, to understand how in the context of the angular component, we can destroy the client?
Thanks in advance

Welcome, @alfonso.moscato1,

You can find the link to our documentation on destroyClient method here :

Screenshot of destroyClient for reference :

Screenshot of Changelog for reference:

Let us know if this helps.

Hi Dante,
thank you for reply.
just to avoid any iincomprehension, I would like to remember that we are in a SPA Angular app. This means we never leave the page. We try to join the meeting, we receive an error. So, we remain inside the same component, and code doesn’t get reinitialized.
We thought about checking if the meeting is started before joining it, but in our context which is interactive, webhook doesn’t fit.

So in order to avoid unexpected behavior, every time client join fails,
we destroy client, we recreate and initialize it again:

code executed every time a client.Join fails:

ZoomMtgEmbedded.destroyClient();
this.client = ZoomMtgEmbedded.createClient();
this.client
	.init({
		debug: true,
		zoomAppRoot: this.meetingSDKElement,
		language: 'it-IT',
		customize: {
			meetingInfo: ['topic', 'host', 'mn', 'invite', 'participant'],
			video: {
				isResizable: this.resize,
				popper: { disableDraggable: !this.draggable },
				viewSizes: {
					default: {
						width: this.videoWidth,
						height: this.videoHeight
					}
				}
			}
		}
	})
	.then(() => this.logService.info('Client init success'))
	.catch((err) => this.logService.info('Error INIT: ', err));

but we encounter following error:

as if we were calling init multiple times.
Moreover, this error throws even if we have a catch in our init code.

Actually we are doing so, but we understood that destroyclient has to called exactly for this purpose, so that we can Initialize the client again.

What are we doing wrong?

Thanks in advance.

@it17,

Thank you for sharing these additional details. I believe this is related to a known issue that our Engineering team is working to address [Z-475406]. Please make sure to subscribe to our blog, change log, and developer guides topics for the latest news, updates, and fixes. You can also find Announcements here :

https://marketplace.zoom.us/docs/guides/stay-up-to-date/announcements

Let me know if you have any additional questions.

Thank you for reply,
is there a workaround, or are we stuck with component view until the bug is solved?

@it17 ,

For now, when attempting to rejoin a meeting, you can refresh the page. The fix is slated for the next release.

Update. Version 2.10.1 has solved the bug.
Thanks for helping us.

1 Like

Dear @alfonso.moscato1

How you can solve it?
I still have this problem even after updating to 2.10.1

Thank you in advance.

Best regards,
John.

@thinh.pv.

Are you able to share a screenshot of the browser console when you see this behavior ?

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