VideoSDK Web - Reconnection attempt after connection is lost throws a cryptic error in the VideoSDK library

Hi all,

We are currently working on implementing the reconnection functionality in our application that integrates the Zoom VideoSDK library.

We’re experiencing an issue that when the connection is lost and it attempts to reconnect, the VideoSDK library throws this error:

Uncaught TypeError: Cannot read properties of undefined (reading 'audio')

In the file @zoom/videosdk/dist/index.umd.js

The full error thrown:

index.umd.js:1 Uncaught TypeError: Cannot read properties of undefined (reading 'audio')
    at eval (index.umd.js:1:478423)
    at eval (index.umd.js:1:23469)
    at a._next (index.umd.js:1:8905)
    at t.next (index.umd.js:1:5748)
    at eval (index.umd.js:1:26969)
    at a._next (index.umd.js:1:8905)
    at t.next (index.umd.js:1:5748)
    at eval (index.umd.js:1:26969)
    at a._next (index.umd.js:1:8905)
    at t.next (index.umd.js:1:5748)
    at eval (index.umd.js:1:26969)
    at a._next (index.umd.js:1:8905)
    at t.next (index.umd.js:1:5748)
    at eval (index.umd.js:1:20778)
    at t.eval (index.umd.js:1:20581)
    at t._execute (index.umd.js:1:13876)
    at t.execute (index.umd.js:1:16463)
    at t.flush (index.umd.js:1:15623)
    at t.schedule (index.umd.js:1:16303)
    at e.schedule (index.umd.js:1:15298)
    at Ee (index.umd.js:1:20552)
    at eval (index.umd.js:1:20752)
    at a._next (index.umd.js:1:8905)
    at t.next (index.umd.js:1:5748)
    at eval (index.umd.js:1:24049)
    at a._next (index.umd.js:1:8905)
    at t.next (index.umd.js:1:5748)
    at eval (index.umd.js:1:24049)
    at a._next (index.umd.js:1:8905)
    at t.next (index.umd.js:1:5748)
    at t._next (index.umd.js:1:6103)
    at t.next (index.umd.js:1:5748)
    at eval (index.umd.js:1:24049)
    at a._next (index.umd.js:1:8905)
    at t.next (index.umd.js:1:5748)
    at t._next (index.umd.js:1:6103)
    at t.next (index.umd.js:1:5748)
    at eval (index.umd.js:1:29034)
    at a._next (index.umd.js:1:8905)
    at t.next (index.umd.js:1:5748)
    at eval (index.umd.js:1:23469)
    at a._next (index.umd.js:1:8905)
    at t.next (index.umd.js:1:5748)
    at eval (index.umd.js:1:23469)
    at a._next (index.umd.js:1:8905)
    at t.next (index.umd.js:1:5748)
    at r (index.umd.js:1:26158)
    at eval (index.umd.js:1:113129)
    at Array.forEach (<anonymous>)
    at Proxy.onMediaSDKCallback (index.umd.js:1:113129)

Looking at the code, appears to be failing because t is undefined:

        epics14: (e, t) => sr(e, ra.NotifyUIFailover).pipe(rt(( () => !t.value.meeting.isMeetingReset && t.value.meeting.meetingStatus === es.Joined)), Pe((e => {
            const {payload: {data: t}} = e;
            lp(Ad, {
                reason: Qn.Failover
            });
            let o = os.NotifyUiFailover;
            -> it fails here due to t being undefined
 return void 0 !== t.audio && (ls.isAndroidOrIOSBrowser || ls.isHarmonyOS || t.audio !== od.FallbackToWasm || ns.set(Ss.VideoSDKWebRTCAudioFallbackWasm, 1, rs.SessionStorage)),
            void 0 !== t.video && (o = os.NotifyUIWMSCFailover,
            t.video === od.FallbackToWasm && ns.set(Ss.VideoSDKWebRTCVideoFallbackWasm, 1, rs.SessionStorage)),
            an(o)
        }

I’ve got absolutely no idea what this means or how to debug due it to the fact the VideoSDK library is obsfucated and minified which makes debugging incredibly hard on our side.

What could be causing this error?

We are unsure if it’s an implementation issue on our side or it’s a bug in the VideoSDK

Tech stack:

  • Next.Js
  • MUI
  • VideoSDK Web (version 2.2.0)

Browsers the issue has occurred on:

  • Chrome
  • Safari

Please let me know if you would like more information.

I have looked for other forum posts but cannot find anything that is related to the above issue w’ere experiencing.

Thank you in advance for your help.

Hey @Jamie2

Thanks for your feedback.

This error does not affect functionality, but we will fix it in the next version.

Thanks
Vic

Yes, it does affect functionality as it throws an error and it doesn’t manage to reconnect correctly.

What is causing it? how can I catch the error? We can’t currently reconnect a call

What is the solution to not encounter this issue?

@vic.yang why have you closed the issue?

Hey @Jamie2

What is causing it? how can I catch the error?

The disconnection from the WebRTC server’s signaling channel caused this error. It was likely due to network issues.

Currently, there’s no way to catch this error. We will fix it in the next release.

I reviewed it again and found it might affect the reconnection. But in most cases like this, the disconnection of other channels would also trigger a Reconnecting event.

Thanks
Vic

1 Like