Teams-for-linux: Move to electron 6.x

Created on 25 Jun 2019  Â·  10Comments  Â·  Source: IsmaelMartinez/teams-for-linux

Is your feature request related to a problem? Please describe.
Moving to version 5.x might solve some issues related to the desktop share.
Also, MS video calls for chrome will only work from chrome 73 (so electron 6.x) so this is a required move in order to keep up to date with their changes.

Describe the solution you'd like
teams-for-linux to run with electron 5.x

Describe alternatives you've considered
-

Additional context
This is been develop under the branch called feature/electron-5-migration. At the moment the following problems have appeared:

  • Screenshare is not working.
  • Spellchecker is not working.
blocked enhancement help wanted

Most helpful comment

Ok... somehow that is not working today... I will see if I can implement it another way.

All 10 comments

The desktopCapture issue I think is related to this:
https://github.com/electron/electron/issues/16513

So desktop capture doesn’t intercept the event from angular to fake the plugin.

https://github.com/IsmaelMartinez/teams-for-linux/blob/develop/app/browser/desktopShare/chromeApi.js

That is a change in the 5.x branch but I am not sure if there is a workaround.

Ok so ti looks like:

  • screen sharing will need to be re-implemented but need a bit of angular knowledge/magic.
  • spellchecker might also need to be adapted to electron 5, as now is all about callbacks.

Ok, it does look like the fix for #196 did allow us to move to electron 6.

Branch is feature-156-move-electron-6 . Both should be working but I will leave it for now.

Ok... somehow that is not working today... I will see if I can implement it another way.

Ok, I need to park this at the moment as:

  • it doesn't seem to be a much benefit on going to electron 6/7 as it doesn't add more functionality (even if I will like to play with encryption of messages/calls/video...)
  • I got no much time for this and got a few other things open that I need to shift my focus on.

The current state of affairs is:

  • Spellchecker is working
  • screensharing is not working.

Screensharing fails to open the screen selection, and spits all of this:

image

For what I can see, is not calling the chromeApi "extension" hook in here:
https://github.com/IsmaelMartinez/teams-for-linux/blob/develop/app/browser/desktopShare/chromeApi.js

I tried reverting the user agent to version 71, increasing it, changing the callingSupportService to not say isDesktop, and a quite a lot of more stuff that I just can't remember.

Maybe worth looking at this https://github.com/getstation/electron-chrome-extension/commit/2f6683c5365d17b5bbfdcd71e07c0ac1bdf25e65#diff-0921c41515d9e365d09873bf5848514b

That is the commit changes from the electron-chrome-extension migration to electron 5. It is a plugin to add chrome extensions... maybe we now need to register the extension somehow but there is where I am at the moment.

Again, I will park it for now so anyone feel free to take it. The only part missing is to hook those two parts together. It might require quite a few hours of research. :/

Can you use https://electronjs.org/docs/api/desktop-capturer instead of electron-chrome-extension ?

The issue is that MS doesn't support desktop sharing for a browser.

They did release a extension (that we copy pasted) so that then we can hook
into the electron desktop capture.

The thing failing is the hook.

When we click on the image to open the different screens it just throws
"permission denied".

Electron normally allows any permission request (and did a bit of a dig
around that area and is not electron denying the permission).

This issue is one of those that is probably in front of my nose but o can't
see it.

The following are things that I have also not tried/found.

Maybe we just need to use a user agent that has electron and then we can
just do like the desktop version (it will help to know what version they
use as I suspect is version 1.x and lots of things have changed since
then). Unfortunately is a bit of a pest as you need to nuke your config
folder every time you change the user agent.

Maybe we need to set again the user agent after a few seconds. We use to
have to switch the user agent after 4 seconds to enable the video sharing.
The problem also is to know what user agent to change it to. MS Internet
explorer? Chrome windows? Safari?

... And the list goes on...

On Wed, 14 Aug 2019, 22:57 Leonidas Spyropoulos, notifications@github.com
wrote:

Can you use https://electronjs.org/docs/api/desktop-capturer instead of
electron-chrome-extension ?

—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/IsmaelMartinez/teams-for-linux/issues/156?email_source=notifications&email_token=AADJHED6KJAOH5XXHDLNQUDQER5VXA5CNFSM4H3LWL72YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD4KHL5Y#issuecomment-521434615,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AADJHEEQ3VWRRDI3Q3MTBRLQER5VXANCNFSM4H3LWL7Q
.

The issue is that MS doesn't support desktop sharing for a browser.

Interestingly it depends in which organisation you are...

I work with 2 separate organisations having 2 different accounts. With one screenshare does not work in the browser with the other it does work...

Not sure but I think they just have some kind of feature flags still disabled...

Closing this as Microsoft is building a client. Moving to electron 6 was more a been ready for future development but, as soon as Microsoft releases teh client, this one will be (hopefully) obsolete

Was this page helpful?
0 / 5 - 0 ratings

Related issues

BOFH2k picture BOFH2k  Â·  4Comments

lkrms picture lkrms  Â·  4Comments

Kalyan-M picture Kalyan-M  Â·  8Comments

elhennig picture elhennig  Â·  7Comments

Bican007 picture Bican007  Â·  8Comments