teams-for-linux icon indicating copy to clipboard operation
teams-for-linux copied to clipboard

Whata about teams 2.0 and beyond

Open je-vv opened this issue 1 year ago • 56 comments

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:

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 !

je-vv avatar Nov 01 '23 22:11 je-vv

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.

LinAGKar avatar Nov 02 '23 10:11 LinAGKar

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.

jijojosephk avatar Nov 02 '23 11:11 jijojosephk

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.

LinAGKar avatar Nov 02 '23 11:11 LinAGKar

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 !

je-vv avatar Nov 02 '23 17:11 je-vv

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..

Thaodan avatar Nov 03 '23 15:11 Thaodan

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...

jorgeperezlara avatar Nov 07 '23 07:11 jorgeperezlara

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.

Why would it break? If it can run in a browser then it can run in Electron can't it?

cs96and avatar Nov 07 '23 09:11 cs96and

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.

jijojosephk avatar Nov 07 '23 10:11 jijojosephk

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.

Ah OK. Thanks for the explanation.

cs96and avatar Nov 07 '23 10:11 cs96and

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.

Thaodan avatar Nov 07 '23 15:11 Thaodan

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.

jorgeperezlara avatar Nov 09 '23 10:11 jorgeperezlara

https://www.electronjs.org/blog/webview2

jijojosephk avatar Nov 09 '23 10:11 jijojosephk

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)

IsmaelMartinez avatar Nov 13 '23 21:11 IsmaelMartinez

It wouldn't surprise me if they make the web version Edge only at some point in the future.

cs96and avatar Nov 14 '23 14:11 cs96and

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.

jorgeperezlara avatar Nov 15 '23 08:11 jorgeperezlara

That'd be solved with some kind of user-agent faking...

Not if they start using some undocumented parts of Edge

cs96and avatar Nov 15 '23 11:11 cs96and

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.

jorgeperezlara avatar Nov 18 '23 09:11 jorgeperezlara

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 avatar Nov 18 '23 10:11 IsmaelMartinez

@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.

geckolinux avatar Nov 18 '23 17:11 geckolinux

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.

IsmaelMartinez avatar Nov 18 '23 22:11 IsmaelMartinez

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?

jorgeperezlara avatar Nov 23 '23 08:11 jorgeperezlara

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 :) )

nerumo avatar Nov 28 '23 08:11 nerumo

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.

jorgeperezlara avatar Dec 05 '23 17:12 jorgeperezlara

Here https://learn.microsoft.com/en-us/microsoftteams/new-teams-web it says

Date Availability
1st Quarter, 2024
  • New Teams for Web for Firefox and Safari.
  • Progressive Web App (PWA) support on Linux

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

divico avatar Dec 19 '23 07:12 divico

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)

nerumo avatar Jan 08 '24 13:01 nerumo

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.

woernsn avatar Jan 17 '24 10:01 woernsn

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.

zainin avatar Jan 17 '24 12:01 zainin

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.

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..

woernsn avatar Jan 17 '24 12:01 woernsn

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.

image

qdrop17 avatar Jan 22 '24 07:01 qdrop17

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.

This could be a toggle/option for teams for linux, to use the newer teams

D-MLink avatar Jan 22 '24 13:01 D-MLink