.join() Doesn't Throw Errors in Web SDK v1.12.14

Video SDK Type and Version

Zoom Video Web SDK v1.12.14


Description

In Zoom Web SDK v1.12.14, the .join() method does not throw an error when provided with an invalid topic ID. Instead, it loads indefinitely and eventually times out. This behavior breaks error handling and complicates debugging.


Error

No error is thrown in the catch block on passing an invalid topicId. Expected behavior is observed in v1.12.5, where the following error is thrown:

{ 
  "type": "JOIN_MEETING_FAILED", 
  "reason": "Verify JWT failed", 
  "errorCode": 200 
}

Troubleshooting Routes

  1. Tested with different invalid topic IDs.
  2. Verified behavior across multiple SDK versions:
    • v1.12.5: Errors are thrown as expected.
    • v1.12.14: No error is thrown; the SDK loads indefinitely.

Quick Repro Steps

  1. Use Zoom Video Web SDK v1.12.14.
  2. Generate a valid JWT signature.
  3. Call the .join() method with an invalid topic ID:
   await zmClient.join(topic + 'invalidId', signature, name, password).catch((e) => {
       console.error(e);
   });
  1. Observe that no error is thrown, and the method loads indefinitely.
  2. Downgrade to SDK v1.12.5, where the same call will throw the JOIN_MEETING_FAILED error

Hey @azimjs thanks for flagging this. I can reproduce. We’ll try to fix this in the next release.

2 Likes

Hey @azimjs

We will fix it in the next release.

As a workaround, you can listen to the connection-change event. In the mentioned case, the event will be triggered with the payload:

 {state: "Fail",reason: "Verify JWT failed", errorCode: 200 }

Thanks
Vic

1 Like