teams-for-linux
teams-for-linux copied to clipboard
Multi-tenant feature
Discussed in https://github.com/IsmaelMartinez/teams-for-linux/discussions/436
Originally posted by jijojosephk June 25, 2021 I've personally suffered from missing this feature on official teams client. What are the problems?
- It only works with one organisation
- Well you can log out and login but there's a terrible bug. After log out when you try to login with another domain, it just does not work. This bug exists for a long time. Anyway..
- I work with 3 different Teams Organisations everyday. Absolutely not possible with the official client.
- I'm still unsure on why can't they do it.
What I've tried is to have multiple snaps with different names when installing. One instance itself works slowly. I imagine how it would be when there are 3.
Then, I started my own personal experiment and created a multi tenant electron wrapper. Currently I enjoy using it. I had no intentions to make it public rather I consider it as a work around for the troubles I had faced.
What are your suggestions about this feature? Is it worth?
Depends on: #441
If one is logged-in [1] with a AzureAD account (typically a user of the own M365 tenant), and uses the primary email address of that account to register as guest in other tenants, then switching works fine in the official Teams client. Only if one has to log-in [2] with real/different users (of each tenant's AzureAD), then one currently has to log out from tenant A to be able to login to tenant B – while the official client remembers all users used and as such eases the re-login a bit. It's a pain if MFA is enabled in all tenants, though. I don't understand the goal of this issue: Is it about [1] or [2]? I think that the way intended / assumed by Microsoft is that one only works in one tenant as user and as guest in all other tenants. While I also suffer from that inability to easily switch between multiple real users, I don't think this is something the client can solve – either Microsoft allows for it or not. Or am I mistaken here?
It's possible but yet to prioritise the work. The source code has to go through many lines of changes and to avoid any breaking changes it's not there yet. Probably 2.x range of versions can accommodate this feature. I think about it everyday but not finding time to implement.
Closing this as people has managed to get the multitenant working by running multiple instances.
Sad that this feature is closed. It would be such an advantage over the official teams client... It would make work so much better
@kitingChris don't get disappointed. @IsmaelMartinez just closed to focus on what's more important now. I'll come back to it. Totally busy with my personal work now. Maybe spin off another branch for experimental features?
Was tidying up issues. We had over 50 open ones but there was no much noise in this one. Happy to reopen whoever people are using this client to have multiple accounts open (with different icons and titles). Not perfect but does work.
No worry I know the struggle. And it's probably not the easiest feature to implement since it requires to separate sessions in one client. The dream would be to have tenants in tabs or an easy switch. Currently I use the teams client for my companies tenant and a browser tab for the customers Tennants. Bit still a pain to manage multiple instances...
@jijojosephk ScyllaDigital (My Company) would be happy to take this work on as we deal with lots of clients throughout the day and its a horrible experience.
We will fork this and contribute it back when we have something stable
@TheOpenDevProject thanks for the openness! I have no problem, but I'll let @IsmaelMartinez the owner the repo speak if he has something to say. Kindly contribute back, it was a long struggling journey fighting the odds having zero support from MS. I had started it but could not continue due to lack of time. https://github.com/IsmaelMartinez/teams-for-linux/discussions/436#discussioncomment-925963. It would be great if this feature gets implemented.
Thanks a million! Do let me know if you want some insights and/or early planning/ feedback. It can be a bit of a mammoth task tbh, reason why we have move it to the side. It might be possible to implement it in an easier way to what I have been playing with.
Ideally we use BrowserViews inside one single BrowserWindow (to avoid memory going up to the roof), and have some sort of tabs.
Again thanks again and feel free to ask any questions.
Can't wait this feature being implemented natively. Until that has anyone tried to run another instance in Docker container? I managed to do it previously with the official client, but can't build a new Docker image now as it was removed from the MS deb repos.
You have the option to run two instances of the application, each with its own unique configuration.
Here's how to do it:
- Create two separate
config.jsonfiles with distinct names. - In each of these
config.jsonfiles, configure the following settings:appTitle(if you want to give each instance a different title)partition(this is an Electron internal setting used to separate data areas; more information is available here)appIcon(if you want to use different icons for each Teams instance)
- To launch each instance with the appropriate configuration, use the following command:
teams-for-linux --config ~/.config/teams-for-linux/config.json
Make sure to replace ~/.config/teams-for-linux/config.json with the actual file path of the configuration you want to use for each instance.
More details of other config options in https://github.com/IsmaelMartinez/teams-for-linux/tree/develop/app/config.
This way, you can run multiple instances of the application with distinct settings.
Hi @IsmaelMartinez,
I am on Debian and tried your approach but, whatever config file I use (each one with a different partition), I keep getting the same session on the same tenant. What am I missing? Thank you for your support.
@DomGiant after a few trial and error here is a solution that works multi-accounts:
mkdir /home/user/.teams-data
teams-for-linux --appTitle "Teams - Account1" --customUserDir="/home/user/.teams-data/account1
teams-for-linux --appTitle "Teams - Account2" --customUserDir="/home/user/.teams-data/account2
For convenience I created /home/user/Desktop/teams1.desktop:
[Desktop Entry]
Name=Teams Account1
Exec=teams-for-linux --appTitle "Teams - Account1" --customUserDir="/home/user/.teams-data/account1
Terminal=false
PrefersNonDefaultGPU=false
Icon=teams-for-linux
Type=Application