Closed The-Compiler closed 3 years ago
I can confirm this for Ubuntu 20.04. Still works in Chrome.
Same here in Archlinux, version 1.0.6, from the AUR.
Everything works on (ungoogled-)chromium.
Tried the pipewire
and user-agent
workarounds from #406 without success.
Hi all, I suspect MS has deprecated the browser support for that version. Unfortunately, that means solving the problem requires quite a lot of work.
Happy to review PRs and/or have a chat with anyone willing to fix this. I currently have a MacBook Pro (work...) so canna really do the full work, but I offer my support and/or guidance.
maybe try with other user agents. replacing the "yournewuseragent" for something other than "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3202.75 Safari/537.36" and starting the app like this :
teams-for-linux --chromeUserAgent "yournewuseragent"
If you find a userAgent that works the fix is fairly simple.
It works with user agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3831.6 Safari/537.36
Is there a reason why it was downgraded in commit 7d799b61ff103e0c6e8e04424a4d256756435fe5? Screen sharing is quite nice to have
The explanation is in the PR https://github.com/IsmaelMartinez/teams-for-linux/pull/409 Basically, screensharing stopped working then. That might have changed (would not be the 1st time they do that).
can you confirm screensharing does work when executing:
teams-for-linux --chromeUserAgent "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3831.6 Safari/537.36"
If that is the case, that commit/pr is a good example of what needs to be done. I will be happy to release a Pre-release with it and see if anyone complains (and then release it). Thanks for checking!
I tested without success under Ubuntu 20.10 with version 1.0.6 with this cmd line :
teams-for-linux --chromeUserAgent "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3831.6 Safari/537.36"
@Surowa how did you make it work ?
I tested without more success on Archlinux.
I also contacted Microsoft about official App that is not working neither and the answer was basically that only Ubuntu 18.04/20.04, Fedora 30 and CentOS 8 was supported.
I don't know if it is related. Maybe a different graphic package?
To elaborate in the reasoning of the moving to version 71.
In this limits page: https://docs.microsoft.com/en-us/microsoftteams/limits-specifications-teams#browsers
Did indicated screensharing not available for browsers prior v72
We then moved back as the implementation change from ms teams means they didn't try to use the browser extension that we are using to "plug-in" the screensharing.
Arguveably, someone could implement the screensharing in a better way using a newer version of electron, but that would be quite a bit of work. Happy to help but I can't lead the development (apologies, no time in my hand). But I am happy to share my knowledge and provide support if people gets stuck. Thanks in advance!
Hi all, looks like @jijojosephk found a workaround for the screensharing issue.
https://github.com/IsmaelMartinez/teams-for-linux/issues/406#issuecomment-863046671
I got no time, apologies, but happy to review and approve/merge PRs
@IsmaelMartinez PR is generated. Could you try? I've upgraded all modules to latest version. Fixed some migration related issues and our screen sharing issue.
Hi all. @jijojosephk , I have tried your version on Archlinux with nodejs-lts-fermium, and i get the following error in terminal:
Tried with electron 12.0.9, 6.1.12 and 7.3.3. I have built the app using yarnpkg.
Edit: On one hand, screen sharing does not work on my machine, nor sharing selector window. On an other hand, something is happening now in the terminal, it was not the case before. Seems the problem is being narrowed down?
Tested your branch @jijojosephk, and it runs fine on Ubuntu 20.04 (compiled on a docker container).
I tested sharing of my screen without issue. I can select the monitor to share (multi screen). Unfortunately it is no longer possible to select a single window.
Thanks for the work !
@DrasLorus Isn't the application opening at all? My development environment is Ubuntu 20.04. LTS, Node 14.17.1, NPM 7.17.0, Electron 13.1.2
Tested your branch @jijojosephk, and it runs fine on Ubuntu 20.04 (compiled on a docker container).
I tested sharing of my screen without issue. I can select the monitor to share (multi screen). Unfortunately it is no longer possible to select a single window.
Thanks for the work !
Thank you. Currently, it considers only screen. I can include windows as well. I would generate another PR after that. Glad that my work helped somebody. Good day!
I can include windows as well. I would generate another PR after that. Glad that my work helped somebody. Good day!
I'll wait for your next PR, thanks ! Displaying a single windows is an easy way to manage your privacy during a presentation.
@jijojosephk it is! Everything else works fine with the yarnpkg && electron .
build. I tried with npm install && electron .
and get that:
Maybe I build it wrong... Again, electron 12.0.9 but NPM 7.17.0 and Node 14.16.0 (at least on the machine, i don't fully understand NPM/yarn local installations, absolute noob here ).
EDIT: Modifications on the screenshot
@DrasLorus the documentation says to use yarn start
to run or yarn install && yarn run dist:linux
to create package.
I personally used yarn install && yarn run dist:linux
and then run the bin from the tgz version.
I can include windows as well. I would generate another PR after that. Glad that my work helped somebody. Good day!
I'll wait for your next PR, thanks ! Displaying a single windows is an easy way to manage your privacy during a presentation.
I've pushed the changes. Could you try?
@jijojosephk it is! Everything else works fine with the
yarnpkg && electron .
build. I tried withnpm install && electron .
and get that:Maybe I build it wrong... Again, electron 12.0.9 but NPM 7.17.0 and Node 14.16.0 (at least on the machine, i don't fully understand NPM/yarn local installations, absolute noob here ).
EDIT: Modifications on the screenshot
These messages are logged even for me., spellchecker module has some issues. Not compatible with latest electron. But suppressed with turning off a flag. You may see that in the commit. It should be OK if application is working and not getting crashed. When teams is opened in chrome browser, you would see a lot of errors in console window as well.
I've pushed the changes. Could you try?
Single window sharing works perfectly :+1:
There are two minor points :
Thanks for the work !
Edit: typo
I've pushed the changes. Could you try?
Single window sharing works perfectly
There are two minor points :
- When the windows list open, Teams is reduced and need to be focused manually to select the window.
- The shared screen preview windows no longer exists.
Thanks for the work !
Could you share some screenshots if possible?
@DrasLorus the documentation says to use
yarn start
to run oryarn install && yarn run dist:linux
to create package.I personally used
yarn install && yarn run dist:linux
and then run the bin from the tgz version.
Aaaand it works. Thanks a lot.
Does it work with latest versions of nodejs?
@frealgagu It's tested on Node 14 and npm 7 running under Ubuntu 20.04
I've pushed the changes. Could you try?
Single window sharing works perfectly
There are two minor points :
- When the windows list open, Teams is reduced and need to be focused manually to select the window.
- The shared screen preview window no longer exists.
Thanks for the work !
Edit: typo
Same as @skyghis , working in ArchLinux, thanks a lot @jijojosephk
I've pushed the changes. Could you try?
Single window sharing works perfectly There are two minor points :
- When the windows list open, Teams is reduced and need to be focused manually to select the window.
- The shared screen preview window no longer exists.
Thanks for the work ! Edit: typo
Same as @skyghis , working in ArchLinux, thanks a lot @jijojosephk
I changed the screen sharing view from BrowserWindow to BrowserView. Got less time on UI fine tuning. Could you give a try? I'll push another PR.
@skyghis @The-Compiler @frealgagu @IsmaelMartinez Could you try the latest changes?
@jijojosephk Nice, I've tested it and now it allow me to choose between the whole screen or to select some window. Previews are also shown. Thanks for your efforts.
Thanks, @jijojosephk. Tested and approved, window sharing work perfectly.
Thanks for your efforts.
I will check this at some point next week (out on holidays at the moment). Does the speellchecker is still working? I had to change quite a few things on it when moving up the node version. Those changes are in a branch (move-electron-6 or something like that). Ta
On Tue, 22 Jun 2021, 08:55 SkyghiS, @.***> wrote:
Thanks, @jijojosephk https://github.com/jijojosephk. Tested and approved, window sharing work perfectly.
Thanks for your efforts.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/IsmaelMartinez/teams-for-linux/issues/432#issuecomment-865687101, or unsubscribe https://github.com/notifications/unsubscribe-auth/AADJHEDAD5WXYQ6NDRDKR6LTUA6WPANCNFSM45RYYULQ .
I've pushed the changes. Could you try?
Single window sharing works perfectly
There are two minor points :
- When the windows list open, Teams is reduced and need to be focused manually to select the window.
- The shared screen preview window no longer exists.
Thanks for the work !
Edit: typo
Losing focus of the application seems be related to navigator.mediaDevices.getUserMedia. I opened an issue here
I'll be testing it, probably today or tomorrow. If someone needs a PKGBUILD for Archlinux building @jijojosephk's branch:
(as usual, build with makepkg -si
)
Well, the good news: Screen sharing works, in theory. The bad news: It's of such bad quality that it's unusable for some reason...
edit: Also, CPU usage is at 150-200% even after stopping screen sharing again...
Well, the good news: Screen sharing works, in theory. The bad news: It's of such bad quality that it's unusable for some reason...
edit: Also, CPU usage is at 150-200% even after stopping screen sharing again...
I think the quality problem you're talking about is most likely the 720p default resolution for the streaming. I'll change it to 1080p and you should see some improvements. I'm assuming the increased CPU utilisation is due to the improperly destroyed stream previews. The more windows present in the preview the more CPU utilisation it would be. Also the preview resolution should be reduced to smaller values. I'll try to make these changes and push. Thanks for your inputs.
That all sounds very likely, as this is on a 4K screen (and I was sharing the entire screen). Thanks!
That all sounds very likely, as this is on a 4K screen (and I was sharing the entire screen). Thanks!
Could you check the latest changes?
Summary of changes:
I also tested @jijojosephk branch on pop!_os 20.10, screen sharing works. I can share the whole screen or single window (something that official linux client still cannot do). I noticed that if i want to share single window i need to have it open on current workspace, not sure if there is a possibility to see windows from all the workspaces. And also application is losing focus as soon as i click on share, thats slightly annoying but not the deal breaker
I also tested @jijojosephk branch on pop!_os 20.10, screen sharing works. I can share the whole screen or single window (something that official linux client still cannot do). I noticed that if i want to share single window i need to have it open on current workspace, not sure if there is a possibility to see windows from all the workspaces. And also application is losing focus as soon as i click on share, thats slightly annoying but not the deal breaker
Thanks @danilkhromov, this had not been tested on multi workspace setup. Thanks for pointing that out. It's most probably something to do with desktopCapturer
module in electron. It's mentioned here. Also the losing focus problem is part of the navigator.mediaDevices.getUserMedia
call and I've raised it as an issue in Electron repo here. Hoping the next release would bring the fix. Fingers crossed!
@IsmaelMartinez @DrasLorus @skyghis @frealgagu @The-Compiler @danilkhromov I've pushed another set of changes which now allows to choose a screen sharing quality. This would list all the qualities from 720p to 4K upon detecting the primary display dimensions. Teams might not support 4K, and even if it does, if the recipients can't support such quality, it's of no use. I'm unable to test 2K and 4K because my machine would not support. People who have higher graphics options could give a try. It might fail. But try it and let me know.
Good day!
@IsmaelMartinez @DrasLorus @skyghis @frealgagu @The-Compiler @danilkhromov I've pushed another set of changes which now allows to choose a screen sharing quality. This would list all the qualities from 720p to 4K upon detecting the primary display dimensions. Teams might not support 4K, and even if it does, if the recipients can't support such quality, it's of no use. I'm unable to test 2K and 4K because my machine would not support. People who have higher graphics options could give a try. It might fail. But try it and let me know.
Good day!
Thanks for your work man! Im gonna test this changes on monday, but in my case im not sure that im able to provide any valuable feedback since i only use 1080p screens atm. Also im thinking that 2k 4k outputs might an overkill since people should have good internet connection and thats not always the case, but maybe someone gonna find it useful.
Also im wondering is there a possibility that some of the future updates of ms teams for browser can break screen sharing again?
I suspect it would be less of an issue as, I believe, we don't use anymore the plugging hack. Meaning, we are closer to the browser implementation. But MS did surprise us in the past so it might surprise us in the future.
I'm using 4k, will check this next monday.
I had a wee bit of a fight with gitactions but got a pre-release ready for people to try: https://github.com/IsmaelMartinez/teams-for-linux/releases/tag/v1.0.8
If people can try those builds and see if it works as expected, then I will make it a proper release.
For snap, it is in the edge channel.
Increasing the version of electron-builder also brought a few more packages for platforms.
@IsmaelMartinez @DrasLorus @skyghis @frealgagu @The-Compiler @danilkhromov I've pushed another set of changes which now allows to choose a screen sharing quality. This would list all the qualities from 720p to 4K upon detecting the primary display dimensions. Teams might not support 4K, and even if it does, if the recipients can't support such quality, it's of no use. I'm unable to test 2K and 4K because my machine would not support. People who have higher graphics options could give a try. It might fail. But try it and let me know. Good day!
Thanks for your work man! Im gonna test this changes on monday, but in my case im not sure that im able to provide any valuable feedback since i only use 1080p screens atm. Also im thinking that 2k 4k outputs might an overkill since people should have good internet connection and thats not always the case, but maybe someone gonna find it useful.
Also im wondering is there a possibility that some of the future updates of ms teams for browser can break screen sharing again?
Just one thing, it will not show you 2K or 4K if the primary display does not support it. In your case, you would only see HD & FHD. Additional 2 will be shown to users who are having higher resolution displays.
Will Request Control/Give Control work as well now?
Will Request Control/Give Control work as well now?
Currently it's not working that way. I'll investigate how that works in Chrome browser. If it's working there, then there's some hope for investigation and possibly finding the solution.
@IsmaelMartinez @jijojosephk tested the pre-release version today, didnt notice any issues so far
Will Request Control/Give Control work as well now?
Currently it's not working that way. I'll investigate how that works in Chrome browser. If it's working there, then there's some hope for investigation and possibly finding the solution.
@joakim-tjernlund on Google Chrome it does not show anything like that. Just a small floating component which let's you know that you're sharing screen.
@jijojosephk , OK that was not totally unexpected. I know MS teams is sensitive to removing/adding audio(headsets). Is this better here? Can you plugin USB HS(or bluetooth) after Teams has started ?
Describe the bug It looks like screen sharing stopped working recently. It worked fine last week, this week it stopped working. Perhaps something changed on the Teams website in an incompatible way?
To Reproduce Try sharing the screen in a meeting. After clicking "Desktop/Window", nothing happens.
Desktop (please complete the following information):
teams-for-linux
in the Archlinux AURAdditional context Developer console:
Full log: