Video SDK Failing with console error "should be string" on version 1.11.10 preventing audio from starting

Support Ticket
I filed a support ticket but it was closed without resolution. They mentioned I needed to come here and create a topic. Support ticket ID is: TS1319314

Video SDK Type and Version
Web 1.11.10

Description
Audio is failing on 1.11.10, we were able to reproduce this in the UI Toolkit
We reproduced this bug in the zoom UI Toolkit with session ID a9343427f1dda610629ce0c794d7003d

Error?
“should be string” is showing up the console, on UI Toolkit

“should be string” is showing up the console in our telemetry

Troubleshooting Routes
We reproduced the error in the UI Toolkit and within our own web app.

How To Reproduce

  1. In chrome 126 (not sure if version matters), open the zoom video sdk ui toolkit (I can’t post links)
  2. Use session id a9343427f1dda610629ce0c794d7003d
  3. Have another person join the call with the session ID
  4. See console error “should be string” and audio fail to start.

List of IDs that had this bug
m75sViEMTkqzBF9CLNLzzw==

HxLsGjE0SNqQEP6o8wvNNA==

PknHP25AShC8av/MfvUDMQ==

t71U5/npSH+2PNaYruplaw==

Js/VP1LHSxiYZOAQXtxD1A==

8zn5egYhTR25RjwkjjJNwg==

YGCKSImjQf+w5ZGKdAjndA==

XQ23R1cbSx6T+lLOrtxK2w==

Hey @coryn

Thanks for your feedback.

m75sViEMTkqzBF9CLNLzzw==
HxLsGjE0SNqQEP6o8wvNNA==
PknHP25AShC8av/MfvUDMQ==
t71U5/npSH+2PNaYruplaw==
Js/VP1LHSxiYZOAQXtxD1A==
8zn5egYhTR25RjwkjjJNwg==
YGCKSImjQf+w5ZGKdAjndA==
XQ23R1cbSx6T+lLOrtxK2w==

We analyzed these sessions and found that the reason for the audio failure is the lack of microphone permission.

Thanks
Vic

Thanks Vic, this is correct the microphone could not be accessed, but the error is what is not correct. I attached to the support ticket, but I have screenshots of permissions being accepted for the microphone, then getting the error “should be string” in the console, followed by a permissions denied console error. The permissions were not denied by the user. The user (my colleague) and I experienced this in the UI Toolkit as she was repeatedly accepting permissions for the UI Toolkit. The end result is that audio fails to start, but we believe this is due to a bug that we are actively seeing in our implementation with many users, and that we are seeing in the UI Toolkit with your implementation.

I spent time looking into this today, we were reliably able to reproduce the issue when denying audio permissions. The “should be string” error should still be fixed since that led us down a bit of a rabbit hole and is an unhandled error from the zoom sdk.

We are stumped as to why we were seeing this last week in spite of allowing permissions/having users who had previously allowed permissions. Our assumption at this point is something with the browser not prompting the user for some reason? Thanks for looking at this Vic, we will revisit this once we do some more work on our end.

Hey @coryn

Thank you for sharing this information with us. We have checked the code and didn’t find any error messages related to ‘should be string.’

Could you share a screenshot of the error when it occurs? This will help us identify the issue more quickly.

Thanks
Vic

I can’t post screenshots here, but the error is coming from js_media.min.js

specifically → videosdk/1.11.10/lib/js_media.min.js

You can find it in there by grepping, it’s not pretty since it is minified.

It’s coming from the function isHeadSet and it’s the function that gets called in the ternary in the return.

        va.prototype.isHeadSet = function() {
            var e = !(arguments.length > 0 && void 0 !== arguments[0]) || arguments[0]
              , t = null;
            return t = e ? this.micLabel : this.speakerLabel,
            fa(t) // <- This fa(t) is what is throwing the error, the value of t is not a string.
        }

Hey @coryn

Thanks for pointing out the error.

After reviewing the code again, the error message is just for debugging purposes, we will improve the message in the next release.

Thanks
Vic