Electron + WebSDK Screensharing not working (@zoomus/websdk v1.7.10)

Description
We are attempting to use the zoom websdk in an electron app. Specifically we are attempting to open a new BrowserWindow in electron with the url pointing to our zoom websdk app. Right now in browser the audio, video, and screensharing functionalities are working as expected. In our electron app, we have had to request permissions for access to camera and microphone on ios but now audio and video are working properly. Screensharing still does not work even though we have also updated System Preferences for our electron app to make sure that we also have access to Screen Recording.

Error
Unfortunately no error is thrown (even with dev tools set to pause on caught and uncaught exceptions) which means I am not able to get an error message for this issue

Which version?
1.7.10

To Reproduce(If applicable)
Steps to reproduce the behavior:

  1. Go to https://us02web.zoom.us/s/meetingNumber
  2. Click on Join meeting as an attendee
  3. Click on launch meeting
  4. Click on join from browser
  5. Enter name and join the meeting

Expected: in both browser and electron browserWindow we are able to start screen sharing
Actual: in electron screensharing does not work

Hey @emaciel,

Have you considered using the Electron SDK?

Thanks,
Tommy

Hey @tommy,

Yes we considered using the electron sdk but our main application is both a web app and an electron app so using the web sdk for zoom would allow us to have the same functionality in our electron app as in our web app without doing some custom bundling of the zoom sdk. Zoom is currently an integration that many clients may never even enable.

Are there known issues with share screen not working on the electron browserWindow? Seems like since it is using chromium it shouldn’t really be a problem but we still have not been able to find a workaround for it.

Hey @emaciel,

Gotcha. Can you share a github repo with the issue so we can debug locally?

Thanks,
Tommy

Hey @tommy

Here is a github repo with the reproduction:

I’ve included the electron-quick-start.dmg at the top level of the github repo in case you wish to be able to see the issue once the desktop app is signed and built using electron-builder.

I’ve added steps to reproduce in the README but i’ll include them here as well:

  1. Create a new electron-builder.env file including the necessary APPLE_API_KEY and APPLE_API_ISSUER environment variables

  2. Run npm run build

  3. Install the newly created electron-quick-start.dmg application and see that although video and audio work, screenshare does not. No error message is logged but clicking the screenshare button in the zoom websdk seems to do nothing.

I’d be happy to hop on a call to go over the issue in more detail. I am currently using the electron quick start as a base and just opening a browserWindow to https://us02web.zoom.us/wc/join/{meetingId} which seems to be using the zoom web sdk.

Hey @emaciel,

Thanks for sharing this. The Zoom Web Client is actually different then the Zoom Web SDK.

Neither of which can be embedded in an iFrame.

Please use the Zoom Web SDK. :slight_smile:

-Tommy

Hey @tommy I’ve pushed up an updated version that routes to zoom.hive.com and have also added a sample of our usage of the zoom websdk in the ZoomRoot directory.

The issue is the same there, you will notice that the browserWindow is now opening zoom.hive.com and that if you open this exact same link in the browser you will have no trouble sharing your screen. When you run the reproduction you will see that it is using the zoom web sdk and that when running inside an electron browserWindow screen sharing does not work and unfortunately there are no errors or messages to help me do any further debugging.

Hey @emaciel,

I have just private messaged you so we can debug the issue easier.

Thanks,
Tommy

hi, is there any update on this issue?

and OOT, is there any issue if you bundle zoom WEBSDK in front-end side of electron app?, thanks!

Hey @zenhuwmank,

We have identified the issue and are working on a fix.

Thanks,
Tommy

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.

Hey @emaciel , @zenhuwmank ,

I have an update for you. :slight_smile:

Electron’s desktopCapturer API doesn’t provide a chromium style desktop picker dialog, so we would need to implement one.

We are evaluating where and when we can fit this into our roadmap.

Thanks,
Tommy

Hey @emaciel , @zenhuwmank ,

As of Meeting SDK, 2.9.5, Client View now supports screensharing within electron:

-Tommy

Hi Tommy,

How this shareSource can be implemented? Any example from the documentation where it’s explained, i want to share screen in electron app using web sdk