window.getSelection() is null React Error with SDK 1.9.0 when Waiting Room is on

Description
If waiting room is turned on with SDK 1.9.0, I am receiving an error in the console stating window.getSelection() is null. This only happens if the waiting room is on while the attendee is trying to join. If they are manually placed into the meeting room when the meeting is already in progress, this doesn’t happen.

Error

TypeError: window.getSelection() is null
    removeUserSelectStyles https://source.zoom.us/zoom-meeting-1.9.0.min.js:2
    value https://source.zoom.us/zoom-meeting-1.9.0.min.js:2
    React 10
    notify https://source.zoom.us/zoom-meeting-1.9.0.min.js:2
    notifyNestedSubs https://source.zoom.us/zoom-meeting-1.9.0.min.js:2
    notifySubscribers https://source.zoom.us/zoom-meeting-1.9.0.min.js:2
    handleChangeWrapper https://source.zoom.us/zoom-meeting-1.9.0.min.js:2
    Redux 3
    xe https://source.zoom.us/zoom-meeting-1.9.0.min.js:2
    n Redux
    handleOnMessage https://source.zoom.us/zoom-meeting-1.9.0.min.js:2
    handleOnMessage https://source.zoom.us/zoom-meeting-1.9.0.min.js:2
    onmessage https://source.zoom.us/zoom-meeting-1.9.0.min.js:2
    a https://source.zoom.us/zoom-meeting-1.9.0.min.js:2
    React 7
    notify https://source.zoom.us/zoom-meeting-1.9.0.min.js:2
    notifyNestedSubs https://source.zoom.us/zoom-meeting-1.9.0.min.js:2
    notifySubscribers https://source.zoom.us/zoom-meeting-1.9.0.min.js:2
    handleChangeWrapper https://source.zoom.us/zoom-meeting-1.9.0.min.js:2
    Redux 3
    vn https://source.zoom.us/zoom-meeting-1.9.0.min.js:2
    promise callback*vn/</< https://source.zoom.us/zoom-meeting-1.9.0.min.js:2
    vn https://source.zoom.us/zoom-meeting-1.9.0.min.js:2
    Redux 2
    value https://source.zoom.us/zoom-meeting-1.9.0.min.js:2
    x https://source.zoom.us/zoom-meeting-1.9.0.min.js:2
    D https://source.zoom.us/zoom-meeting-1.9.0.min.js:2
    y https://source.zoom.us/zoom-meeting-1.9.0.min.js:2
    promise callback*y https://source.zoom.us/zoom-meeting-1.9.0.min.js:2
    z https://source.zoom.us/zoom-meeting-1.9.0.min.js:2
    t https://source.zoom.us/zoom-meeting-1.9.0.min.js:2
    t https://source.zoom.us/zoom-meeting-1.9.0.min.js:2
    setInterval handler*join https://source.zoom.us/zoom-meeting-1.9.0.min.js:2
    success https://virtual.angel.events/648-221-650/zoom-meeting:108
    M https://source.zoom.us/zoom-meeting-1.9.0.min.js:2
    value https://source.zoom.us/zoom-meeting-1.9.0.min.js:2
    x https://source.zoom.us/zoom-meeting-1.9.0.min.js:2
    init https://source.zoom.us/zoom-meeting-1.9.0.min.js:2
    success https://virtual.angel.events/648-221-650/zoom-meeting:95
    jQuery 6
    joinSession https://virtual.angel.events/648-221-650/zoom-meeting:80
    <anonymous> https://virtual.angel.events/648-221-650/zoom-meeting:156
    setTimeout handler* https://virtual.angel.events/648-221-650/zoom-meeting:155
    react-dom.min.js:117:150

Which version?
1.9.0

Init Config

debug: false,
leaveUrl: 'http://localhost:80',
showMeetingHeader: false,
isSupportAV: true,
isSupportQA: true,
isShowJoiningErrorDialog: false,
showPureSharingContent: false,
sharingMode: 'fit'

Join Config

debug: false,
signature: signature,
apiKey: config.apiKey,
meetingNumber: config.meetingNumber,
userName: config.userName,
userEmail: config.userEmail, 
passWord: config.passWord

Screenshots
Video of issue: https://streamable.com/xdl2g5

Device (please complete the following information):

  • Device: MacBook Pro
  • OS: MacOS
  • Version: 11.0
  • Browser: Firefox 85.0

After some experimentation, this only happens if the SDK is embedded in an iFrame. It’s not supported officially by Zoom, so I’ll see if there’s a workaround…

1 Like

Thanks for sharing your findings @alexmayo ! :slight_smile:

-Tommy

No worries.

Just curious! Is there a reason that Zoom doesn’t officially support using iframes with the WebSDK? We’ve been using it for a while now and 99.9% of the features work exactly as expected, there are just a few edge cases like my issue above.

Cheers,
Al

Hey @alexmayo ,

The Web SDK was not designed to work within an iFrame so there could be some issues. We are working to make the Web SDK more flexible to give the developer the ability to configure / customize it further, instead of having to use an iFrame. Stay tuned:

Thanks,
Tommy