New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

riot-web [electron] Jitsi screensharing doesn't work #4880

Open
t3chguy opened this Issue Aug 25, 2017 · 23 comments

Comments

Projects
None yet
7 participants
@t3chguy
Copy link
Collaborator

t3chguy commented Aug 25, 2017

given option to share everything or an application window, the latter sees no application windows and hitting share on either does nothing, video stream remains from webcam

@t3chguy

This comment has been minimized.

Copy link
Collaborator Author

t3chguy commented Aug 25, 2017

@lampholder

This comment has been minimized.

Copy link
Member

lampholder commented Aug 25, 2017

Not strictly speaking voip but it's the tag that's most likely to see this issue picked up by the right people.

@t3chguy

This comment has been minimized.

Copy link
Collaborator Author

t3chguy commented Oct 21, 2017

Seems to still not be working even though PR matrix-org/matrix-react-sdk#1355 has landed :(
image

@t3chguy

This comment has been minimized.

Copy link
Collaborator Author

t3chguy commented Oct 21, 2017

image

@xmeng1

This comment has been minimized.

Copy link

xmeng1 commented Jan 25, 2018

+1

@t3chguy

This comment has been minimized.

Copy link
Collaborator Author

t3chguy commented Jan 29, 2018

Now that I have an NVL hat and can see both sides of the issue I'll take a look at it

@t3chguy

This comment has been minimized.

Copy link
Collaborator Author

t3chguy commented Jan 29, 2018

This seems to have even further regressed as this never fires: matrix-org/matrix-react-sdk@5357454#diff-0e2cb0e79e0d376b964d6d11e52c4c45R150

@MurzNN

This comment has been minimized.

Copy link
Contributor

MurzNN commented May 10, 2018

Seems that this is Chrome engine issue, because Jitsi Screen Sharing works well in Riot-web on Firefox, but in Chrome browser - needs separate extension.

@t3chguy

This comment has been minimized.

Copy link
Collaborator Author

t3chguy commented May 10, 2018

That's not correct. It's a nested iframe issue as I have pointed out above. For electron the extension would not work as electron exposes screen sharing devices via a native api and not gUM, and you can run screensharing in chrome without extensions if you start it with a command line argument

@BloodyIron

This comment has been minimized.

Copy link

BloodyIron commented May 12, 2018

I'm trying to do desktop sharing, via jitsi channel widget, with the desktop riot client, and it never ends up presenting options to share. When I try to share whole screen, or per app, just spins circles. :(

@MurzNN

This comment has been minimized.

Copy link
Contributor

MurzNN commented Aug 10, 2018

Can this https://chrome.google.com/webstore/detail/riotim-screen-sharing/ehgcnaneidbjcmblghjepmamomchgahd extension been integrated in Electron app for solve this issue?

@t3chguy

This comment has been minimized.

Copy link
Collaborator Author

t3chguy commented Aug 10, 2018

Nope. Electron has special screen sharing apis which that extension does not support.

@MurzNN

This comment has been minimized.

Copy link
Contributor

MurzNN commented Aug 20, 2018

Developers of Jitsi recommend use https://github.com/jitsi/jitsi-meet-electron-utils for solve this permission problem, did you try this way?

@t3chguy

This comment has been minimized.

Copy link
Collaborator Author

t3chguy commented Aug 20, 2018

@MurzNN Yup that is already fitted but it doesn't work due to it being an iframe inside an iframe and it not getting passed through because of this.

@BloodyIron

This comment has been minimized.

Copy link

BloodyIron commented Aug 21, 2018

I really wish we could get this solved. Using riot for screen sharing would be seriously useful! :D

@MurzNN

This comment has been minimized.

Copy link
Contributor

MurzNN commented Oct 17, 2018

Seems permission problem can be fixed using new getDisplayMedia() API in Chromium v70 https://groups.google.com/forum/#!msg/discuss-webrtc/Uf0SrR4uxzk/uO8sLrWuEAAJ

@MurzNN

This comment has been minimized.

Copy link
Contributor

MurzNN commented Nov 23, 2018

Jisti Meet implement new Chrome API via this commit jitsi/jitsi-meet#2233 (comment) so we can update Jitsi lib + Chromium in Riot electron build, and recheck permission problem.

@dbkr

This comment has been minimized.

Copy link
Member

dbkr commented Dec 18, 2018

Just been looking at this after encountering the feature and how it's buggy as above. Agreed the way to go here is to let it use getDisplayMedia() once Electron is using a new enough chromium.

dbkr added a commit that referenced this issue Dec 18, 2018

Run the Desktop app in a sandbox
 * Turn off node integration in the electron renderer process
 * Enable the chromium sandbox to put the renderer into its own process
 * Expose just the ipc module with a preload script
 * Introduce a little IPC call wrapper so we can call into the
   renderer process and await on the result.
 * Use this in a bunch of places we previously used direct calls
   to electron modules.
 * Convert other uses of node, eg. use of process to derive the
   platform (just look at the user agent)
 * Strip out the desktopCapturer integration which doesn't appear
   to have ever worked (probably best to just wait until
   getDisplayMedia() is available in chrome at this point:
   #4880).
@ara4n

This comment has been minimized.

Copy link
Member

ara4n commented Feb 10, 2019

@dbkr: do we magically get this for free after all the recent electron upgrades then?

@dbkr

This comment has been minimized.

Copy link
Member

dbkr commented Feb 11, 2019

Chrome 70 is the magic milestone with getDisplayMedia. Electron 4.0 is chromium 69 - almost!

@MurzNN

This comment has been minimized.

Copy link
Contributor

MurzNN commented Feb 11, 2019

Seems update to Chrome 70 will not be done quickly - only in Electron 5.0 electron/electron#15059 :(
Also maybe we need Chrome 72, as described in https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getDisplayMedia:

Chrome 70 — 72
Notes: Available as a member of Navigator instead of MediaDevices in Chrome 70 and 71.

@MurzNN

This comment has been minimized.

Copy link
Contributor

MurzNN commented Feb 11, 2019

Together with screensharing, maybe we also can got Remote control feature to Riot, available in Jitsi Meet, too? jitsi/jitsi-meet#1437

@BloodyIron

This comment has been minimized.

Copy link

BloodyIron commented Feb 11, 2019

Remote control as in during a conference? That could be super handy!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment