Please init meeting first!, errorcode: 3008 when upgrading from v1.7.7 to v1.8.5

I have fixed the problem. I have identified that, with the newest library, zoom will not give any freedom to restrict the meeting view into a react component. I have changed my code design. I could not use the hack anymore, rather I’m forced to live with the decision that zoom made to inject the <div id="zmmtg-root"/> into my SPA and do whatever they want.

I added these below lines at the top of my custom React component.

import {ZoomMtg} from "@zoomus/websdk"
import "@zoomus/websdk/dist/css/bootstrap.css"
import "@zoomus/websdk/dist/css/react-select.css"

ZoomMtg.setZoomJSLib("https://source.zoom.us/1.8.5/lib", "/av")

And in my initialization of zoom object looks as follows:

ZoomMtg.preLoadWasm()
ZoomMtg.prepareJssdk()

ZoomMtg.init({
  leaveUrl: 'https://www.abc.com/' + this.state.userRedirectPath,
  isSupportAV: true,
  isSupportChat: true,
  disableInvite: true,
  disableRecord: true,
  disableJoinAudio: true,
  success: function () {
    ZoomMtg.join(
      {
        meetingNumber: parseInt(meetingSession.zoomMeetingId, 10),
        userName: email,
        signature: signature,
        apiKey: apiKey,
        passWord: meetingSession.zoomMeetingPassword,
        success: function (res) {
          console.log('join meeting success')
          document.getElementById('zmmtg-root').style.display = "block"
        },
        error: function (res) {
          console.log(res)
        }
      }
    )
  },
  error: function (res) {
    console.log(res)
  }
})

I removed all jQuery dependencies from my entire front end app. That’s basically it. Now I’m on v1.8.5 which works as usual.