teams-for-linux
teams-for-linux copied to clipboard
Whata about teams 2.0 and beyond
Hello !
This is more sort of a question rather than a query for action or something. Its purpose is to understand what will be the teams-for-linux status now that teams 2.0 is out. Teams 2.0 is not electron based, and although they stopped supporting the electron Team for gnu+linux some time ago, the windows/mac desktop app was still electron.
The thing is that teams 2.0 is now based on webView 2.0 instead of electron, and react instead of angular. The big part of it is not developing for electron:
- Teams 2.0 Moves Away from Electron to Embrace Edge WebView2
- Stop saying Microsoft Teams is being rewritten from Electron to React
- Electron to WebView2 – What does it really mean for the Teams desktop client, and for a Client SDK?
Now, there's hope to eventually, with really low priority webview2 gets support for gnu+linux, and there's a linux support issue about it. Mac already gained support, and actually the windows report at the beginning shows that the recently release teams 2.0 includes Mac clients, and there's also a mac support issue on which it's mentioned the support for Mac is there. All this just to say, as usual for MS stuff, gnu+linux is not part of their priorities.
Coming back to teams-for-linux, as it's based on electron, what's the status and plan? Will teams-for-linux support only pre 2.0 teams technology, components and/or webapp? I guess at some point being based on old versions on teams stuff might become difficult, given compatibility issues and the like, but can't really tell.
So just wondering what'll happen with teams-for-linux. Not sure if we'll be able to use web browser (we should), but so far, at least for me, on Firefox, Librewolf and ungoogled chromium, there's no way to connect to meetings, whether something just fails (Firefox/Librewolf), or I get into an infinite loop without connecting (ungoogled chromium). So I really enjoy teams-for-linux being available...
Greetings !
Correct me if I'm wrong, but this app basically wraps the web version. So as long as the web version keeps working in Chrome, it should keep working in this app.
Like @LinAGKar said, it would work as long as the web version stays in angular. But as soon as they release the react version to web, this would possibly break. We all anticipate the problem. So keeping our fingers crossed. Be a part of this chat group in matrix https://matrix.to/#/#teams-for-linux_community:gitter.im as soon as you find issues, kindly report. We'll try to make it up and running.
I have actually gotten the "new Teams" toggle (which I assume switches to the React version) in this app since yesterday, and I haven't noticed any issues so far. But I'll be on the lookout.
Well, if you look at the teams 2.0 changes, they are doing both:
- Moving from electron to webview2
- Moving from angular to react
And I guess the web version will still work, but I can't really tell. All those changes on teams 2.0 for sure affect the web app, not just the desktop app, but I wasn't able to foresee if that would affect 3rd party electron based apps. Perhaps not.
If you feel like the question doesn't make sense, and eventually a new issue can be filed if something goes wrong, please feel free to close this issue.
Thanks !
I've looked into the situation regarding WebView2 vs Electron. I wonder how can teams 2.0 replace this app really? Teams isn't foss, you can't just package and drop it into your favorite distro. Even if you ignore that factor usually with Electron apps you can use your own Electron with some effort, you can't do that with WebView2 it's closed source..
I'm sorry, but WebView2 is basically Edgium instead of Chromium. I don't understand how or why would a move between frameworks and rendering engines make it any less possible to have Teams 2.0 on Linux. You just repackage it again, and given WebView2 is Chromium, unless there's some extensions for which we require workarounds, it should work. In the end, there's Edge on Linux as well...
Like @LinAGKar said, it would work as long as the web version stays in
angular. But as soon as they release thereactversion to web, this would possibly break.
Why would it break? If it can run in a browser then it can run in Electron can't it?
I'm not saying it won't function. Of course it will, but we had written some code that uses angular modules. Ex: Notification count. Like small things that used to work might stop all of a sudden.
I'm not saying it won't function. Of course it will, but we had written some code that uses
angularmodules.Ex: Notification count. Like small things that used to work might stop all of a sudden.
Ah OK. Thanks for the explanation.
Jorge Pérez Lara @.***> writes:
I'm sorry, but WebView2 is basically Edgium instead of Chromium. I don't understand how or why would a move between frameworks and rendering engines make it any less possible to have Teams 2.0 on Linux. You just repackage it again, and given WebView2 is Chromium, unless there's some extensions for which we require workarounds, it should work. In the end, there's Edge on Linux as well...
WebView2 is closed source you don't know what extension are there, besides WebView2 doesn't work like the Java Runtime in the way Electron does as the app can use WebView2 in a way that first calls C++ code and then JavaScript and not just pure JavaScript that can have native NodeJS modules.
Jorge Pérez Lara @.***> writes: I'm sorry, but WebView2 is basically Edgium instead of Chromium. I don't understand how or why would a move between frameworks and rendering engines make it any less possible to have Teams 2.0 on Linux. You just repackage it again, and given WebView2 is Chromium, unless there's some extensions for which we require workarounds, it should work. In the end, there's Edge on Linux as well... WebView2 is closed source you don't know what extension are there, besides WebView2 doesn't work like the Java Runtime in the way Electron does as the app can use WebView2 in a way that first calls C++ code and then JavaScript and not just pure JavaScript that can have native NodeJS modules.
I agree we don't know what's exactly in WebView2, but I honestly would be very surprised if there's any kind of native code running in there apart from a pure Electron in-house alternative that could easily be replaced. I don't even think they're using any kind of especial, native code for calls at all...
I might be wrong, though.
https://www.electronjs.org/blog/webview2
To be honest, the move from angular to react is the only main issue we got, and as @jijojosephk points out, is not a huge amount of logic we got on that are. I don't expect big issues happening from the electron to webview2 move, as we wrap around the browser version. If they remove the web version then we are screwed, but I doubt that will happen any time soon (if ever)
It wouldn't surprise me if they make the web version Edge only at some point in the future.
That'd be solved with some kind of user-agent faking...
@IsmaelMartinez gracias por tu trabajo, Ismael! If I can be of any help repackaging Teams 2.0, I'm not super proficient, but we can get in touch and I will do my best.
That'd be solved with some kind of user-agent faking...
Not if they start using some undocumented parts of Edge
That'd be solved with some kind of user-agent faking...
Not if they start using some undocumented parts of Edge
Is there any indication of that? Because I seriously doubt it. It'd be a burden for the development team, plus I don't think there's anything in particular that would require such a thing.
If they do, they would make Salesforce(Slack) extremely happy. And I suspect Google and Apple lawyers will have a word or two to say
On Sat, 18 Nov 2023, 09:42 Jorge Pérez Lara, @.***> wrote:
That'd be solved with some kind of user-agent faking...
Not if they start using some undocumented parts of Edge
Is there any indication of that? Because I seriously doubt it. It'd be a burden for the development team, plus I don't think there's anything in particular that would require such a thing.
— Reply to this email directly, view it on GitHub https://github.com/IsmaelMartinez/teams-for-linux/issues/1006#issuecomment-1817459836, or unsubscribe https://github.com/notifications/unsubscribe-auth/AADJHEGUBSVY27GT6CB3JWLYFB7JPAVCNFSM6AAAAAA6Z6HSJCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMJXGQ2TSOBTGY . You are receiving this because you were mentioned.Message ID: @.***>
@IsmaelMartinez gracias por tu trabajo, Ismael!
I just came to say the same thing. Teams-for-Linux is massively important for the Linux community. Even for those of us that hate Teams and Microsoft in general, many many pragmatic people have to use Teams whether they like it or not. I suspect that this project is what makes it possible for a lot of us to continue using Linux on our workstations. Thanks a ton Ismael.
Not me, the community. As an example, @jijojosephk deserves lots of that credit.
It only works because the contributions many make.
From bug fixes, improving documentation, reporting problems and everything else.
We extremely appreciated every and any help.
I have actually gotten the "new Teams" toggle (which I assume switches to the React version) in this app since yesterday, and I haven't noticed any issues so far. But I'll be on the lookout.
How did you get it? I'm not able to get the 2.0 version yet.
Does it work for you properly still?
I'm using teams 2.0 daily in teams for linux, it works for me. Actually I don't think that a switch to webview2 is mandatory. And as soon as it is ported to linux, Microsoft might be working on a linux port too (low prio of course ;) ). For the time beeing I would hold on to the current course and see what the future holds (until it breaks :) )
I'm using teams 2.0 daily in teams for linux, it works for me. Actually I don't think that a switch to webview2 is mandatory. And as soon as it is ported to linux, Microsoft might be working on a linux port too (low prio of course ;) ). For the time beeing I would hold on to the current course and see what the future holds (until it breaks :) )
That's fantastic news then. Glad it's working properly. I guess someday I'll get the same toggle.
Here https://learn.microsoft.com/en-us/microsoftteams/new-teams-web it says
| Date | Availability |
|---|---|
| 1st Quarter, 2024 |
|
As well as
The new Teams web client offers near feature parity with the new Desktop client thanks to a new, cross-client infrastructure.
But unfortunatly it also says
The following notable features aren't available on new Teams or classic Teams clients:
- Simultaneous availability and notifications across multiple accounts and tenants
- Popout windows for chat and channel content
- Avatars and video background effects, except for background blur
I'm using teams 2.0 daily in teams for linux, it works for me. Actually I don't think that a switch to webview2 is mandatory. And as soon as it is ported to linux, Microsoft might be working on a linux port too (low prio of course ;) ). For the time beeing I would hold on to the current course and see what the future holds (until it breaks :) )
That's fantastic news then. Glad it's working properly. I guess someday I'll get the same toggle.
the toggle disappeared for me somehow. I hacked my way around:
- right click on the task icon from the desktop
- select debug -> dev tools open
- goto the console
- enter
document.location.href = 'https://teams.microsoft.com/v2/' - the page reloads in v2 (if company policy allows it)
I'm using teams 2.0 daily in teams for linux, it works for me. Actually I don't think that a switch to webview2 is mandatory. And as soon as it is ported to linux, Microsoft might be working on a linux port too (low prio of course ;) ). For the time beeing I would hold on to the current course and see what the future holds (until it breaks :) )
That's fantastic news then. Glad it's working properly. I guess someday I'll get the same toggle.
the toggle disappeared for me somehow. I hacked my way around:
* right click on the task icon from the desktop * select debug -> dev tools open * goto the console * enter `document.location.href = 'https://teams.microsoft.com/v2/'` * the page reloads in v2 (if company policy allows it)
For me it was needed to also "opt-in" for Teams2.
This can be done by window.localStorage.setItem("tmp.isOptedIntoT2Web", true) in the console.
My guess is that this "Try Teams2" toggle button also simply was setting this value in the localStorage.
Same here, although to make it work I had to first set localStorage in the console, and then go to the v2 URL.
Otherwise it just reloaded back to the v1.
So far seems to work fine, except that the icon in the tray now permanently shows one unread notification.
Same here, although to make it work I had to first set
localStoragein the console, and then go to the v2 URL. Otherwise it just reloaded back to the v1.So far seems to work fine, except that the icon in the tray now permanently shows one unread notification.
Sorry, I missed to mention this detail - you are totally right.
Note: also a restart of Teams keeps the localStorage - so it has to be done only once.
My tray icon doesn't show unread notifications..
A small additional hint: I use the new Teams flawlessly as a Chromium Webapp on Linux. I just have to fake the UserAgent to Windows in order for the toggle to show up. Funny (or sad?) but true.
I'm using teams 2.0 daily in teams for linux, it works for me. Actually I don't think that a switch to webview2 is mandatory. And as soon as it is ported to linux, Microsoft might be working on a linux port too (low prio of course ;) ). For the time beeing I would hold on to the current course and see what the future holds (until it breaks :) )
That's fantastic news then. Glad it's working properly. I guess someday I'll get the same toggle.
the toggle disappeared for me somehow. I hacked my way around:
* right click on the task icon from the desktop * select debug -> dev tools open * goto the console * enter `document.location.href = 'https://teams.microsoft.com/v2/'` * the page reloads in v2 (if company policy allows it)For me it was needed to also "opt-in" for Teams2. This can be done by
window.localStorage.setItem("tmp.isOptedIntoT2Web", true)in the console. My guess is that this "Try Teams2" toggle button also simply was setting this value in thelocalStorage.
This could be a toggle/option for teams for linux, to use the newer teams