teams-for-linux
teams-for-linux copied to clipboard
Meeting Links Not Opening
Meeting links using msteams://teams.microsoft.com are not starting a meeting inside teams-on-linux. Copying and pasting the meeting link inside teams-on-linux and then clicking on the link does work. I've gone through the issues and it seemed like this was already fixed, so I don't know if it's "just me"
Example:
/opt/teams-for-linux/teams-for-linux "msteams://teams.microsoft.com/l/meetup-join/<meeting link goes here>"}" --appLogLevels=error,info,warn,debug
DEBUG] configPath:,/home/chris/.config/teams-for-linux
[DEBUG] configFile:,[object Object]
[INFO] App already running
I'm running on Devuan Daedalus (Debian Bookworm). Running Teams-For-Linux deb package 1.4.10
If run
/opt/teams-for-linux/teams-for-linux https:/teams.microsoft.com/
I do have Microsoft's Teams client installed as well. xdg-mime settings shows teams-for-linux as being the default:
xdg-mime query default x-scheme-handler/msteams
teams-for-linux.desktop
Any suggestions would be appreciated.
I was looking for a fix too. I tried to open a Teams Meeting Link (as follows: https://teams.microsoft.com/l/message/xxxxxx). It opened in my default browser, and I found no way to open in the Teams for Linux app. Is it possible? Is there a workaround?
I'm on KDE and tried to check in the File Association settings, but could not find anything. I'm using the Flatpak.
Thanks.
I was looking for a fix too. I tried to open a Teams Meeting Link (as follows:
https://teams.microsoft.com/l/message/xxxxxx). It opened in my default browser, and I found no way to open in the Teams for Linux app. Is it possible? Is there a workaround?I'm on KDE and tried to check in the File Association settings, but could not find anything. I'm using the Flatpak.
Thanks.
I use the Redirector add on for Firefox. It redirects https links to msteams. See: https://learn.microsoft.com/en-us/answers/questions/1168169/open-microsoft-teams-link-on-linux-doesnt-work-aga
I was looking for a fix too. I tried to open a Teams Meeting Link (as follows:
https://teams.microsoft.com/l/message/xxxxxx). It opened in my default browser, and I found no way to open in the Teams for Linux app. Is it possible? Is there a workaround? I'm on KDE and tried to check in the File Association settings, but could not find anything. I'm using the Flatpak. Thanks.I use the Redirector add on for Firefox. It redirects https links to msteams. See: learn.microsoft.com/en-us/answers/questions/1168169/open-microsoft-teams-link-on-linux-doesnt-work-aga
Thanks a lot, I'll try that :smile: !
Is this supposed to happen or is a feature request needed?
MM's solution forwarded by Ryushin
# How to get Teams-for-Linux to join for the meeting invitations
1) Install Redirector extension for your browser. (e.g.
2) Setup Redirector:
Description:MS teams
Example URL:https://teams.microsoft.com/*
Include pattern:https://teams.microsoft.com/(.*)
Redirect to:msteams://teams.microsoft.com/$1
Pattern type: Wildcard Regular Expression
Pattern Description:
Example result:msteams://teams.microsoft.com/*
3) Change App handling in settings (this is firefox, but also Chrome has such setting available) about:preferences -> Applications -> msteams: Always Ask
4) Create a script (and chmod a+x it):
#!/bin/bash
URL="${1/msteams/https}"
teams-for-linux --url $URL
5) Then when you open a link to meeting, it open it on browser, and now should ask the app what is used for it - open the link with that script.
This is supposed to happen in everything I've read. Reading the old issues it seems this was fixed twice in the past.
I was looking for a fix too. I tried to open a Teams Meeting Link (as follows:
https://teams.microsoft.com/l/message/xxxxxx). It opened in my default browser, and I found no way to open in the Teams for Linux app. Is it possible? Is there a workaround? I'm on KDE and tried to check in the File Association settings, but could not find anything. I'm using the Flatpak. Thanks.I use the Redirector add on for Firefox. It redirects https links to msteams. See: https://learn.microsoft.com/en-us/answers/questions/1168169/open-microsoft-teams-link-on-linux-doesnt-work-aga
Thanks for sharing, this workaround works.
You can import this file into redirector to save 2 seconds of typing Redirector.json This script again saves you 2 seconds of typing teams-for-linux-open-url.zip
I hope to see this fixed though
I was looking for a fix too. I tried to open a Teams Meeting Link (as follows:
https://teams.microsoft.com/l/message/xxxxxx). It opened in my default browser, and I found no way to open in the Teams for Linux app. Is it possible? Is there a workaround? I'm on KDE and tried to check in the File Association settings, but could not find anything. I'm using the Flatpak. Thanks.I use the Redirector add on for Firefox. It redirects https links to msteams. See: https://learn.microsoft.com/en-us/answers/questions/1168169/open-microsoft-teams-link-on-linux-doesnt-work-aga
Thanks for sharing, this workaround works.
You can import this file into redirector to save 2 seconds of typing Redirector.json This script again saves you 2 seconds of typing teams-for-linux-open-url.zip
I hope to see this fixed though
Is this issue only affecting me then that teams-for-linux won't open msteams links but it's working for others? I am using the Debian package.
I still get the error that teams-for-linux is already running when trying to pass a msteams link:
/opt/teams-for-linux/teams-for-linux "msteams://teams.microsoft.com/l/meetup-join/19%3ameeting_MGE5ODMzMzgtZGQyYi00ZGFhLTk5OGUtYWNjOGQ1Y2FjMDhk%40thread.v2/0?context={"Tid"%3a"038b9396-0699-4a0d-b139-a19f7345f3e6"%2c"Oid"%3a"1c8786a6-1c90-4072-a79b-21a34d21556b"}" --appLogLevels=error,info,warn,debug
[DEBUG] configPath:,/home/chris/.config/teams-for-linux
[DEBUG] configFile:,[object Object]
[INFO] App already running
That is why the script replaces msteams:// with https://
#!/bin/bash
URL="${1/msteams/https}"
teams-for-linux --url $URL
That is why the script replaces msteams:// with https://
#!/bin/bash URL="${1/msteams/https}" teams-for-linux --url $URL
Okay, I downloaded the zip and I see it now. Putting it in my ~/bin and calling it from Redirector in Firefox allows it to open the meeting. It does seem to open a new window in place of the old one, not sure if it appears that way or that is be design.
But if you have to call a script to make teams-for-linux open the URL anyway, then why not just copy-paste the URL as an argument from the terminal? teams-for-linux URL
But if you have to call a script to make teams-for-linux open the URL anyway, then why not just copy-paste the URL as an argument from the terminal? teams-for-linux URL
Pasting the link in the shell works just as well.
The script is just a workaround for right now until teams-on-linux can open msteams links.
This is strange as I can see the links to meetings working just fine.
This is the area where the regex gets triggered. https://github.com/IsmaelMartinez/teams-for-linux/blob/develop/app/mainAppWindow/index.js#L225 . It will be good if people can start the app with the debug mode on and see if you get any logs that can give us a hint. Does the meeting links start with https://teams.microsoft.com/l/meetup-join/... ?
Afraid the problem still exists. The debug is the same as I posted before:
chris@muaddib:~$ /opt/teams-for-linux/teams-for-linux "msteams://teams.microsoft.com/l/meetup-join/19%3ameeting_<redacted link>%40thread.v2/0?context={"Tid"%3a"<redacted link>-b139-a19f7345f3e6"%2c"Oid"%3a"<redacted link>-21a34d21556b"}" --appLogLevels=error,info,warn,debug
[DEBUG] configPath:,/home/chris/.config/teams-for-linux
[DEBUG] configFile:,[object Object]
[INFO] App already running
This might be fixed in https://github.com/IsmaelMartinez/teams-for-linux/pull/1176 . Can one of you test it in this pre-release https://github.com/IsmaelMartinez/teams-for-linux/releases/tag/v1.4.18 ? It might not change anything but I have changed the regex around that are to be a bit "better". Ta
Logs from 1.4.18
teams-for-linux --webDebug --appLogLevels=error,info,warn,debug
[DEBUG] configPath:,/home/aroun/.config/teams-for-linux
[WARN] No config file found, using default values
[DEBUG] configFile:,[object Object]
[INFO] Running under Wayland, switching to PipeWire...
[DEBUG] Fetching custom background configuration from 'http://localhost/config.json'
[DEBUG] Custom background service url is 'http://localhost'
[DEBUG] processArgs:,/usr/lib/electron29/electron,/opt/teams-for-linux/app.asar,--webDebug,--appLogLevels=error,info,warn,debug
[DEBUG] Testing network using net.request() for https://teams.microsoft.com/
[DEBUG] Spellchecker is disabled!
[ERROR] net::ERR_CONNECTION_REFUSED
[DEBUG] Network test successful with method https
[63096:0404/200509.451019:ERROR:gl_surface_presentation_helper.cc(260)] GetVSyncParametersIfAvailable() failed for 1 times!
[63096:0404/200509.452373:ERROR:gl_surface_presentation_helper.cc(260)] GetVSyncParametersIfAvailable() failed for 2 times!
[DEBUG] GetSystemIdleState => IdleTimeout: 300s, IdleTimeoutPollInterval: 10s, ActiveCheckPollInterval: 2s, IdleTime: 0s, IdleState: 'active'
[63017:0404/200509.570531:ERROR:CONSOLE(1)] "Request Autofill.enable failed. {"code":-32601,"message":"'Autofill.enable' wasn't found"}", source: devtools://devtools/bundled/core/protocol_client/protocol_client.js (1)
[DEBUG] did-frame-finish-load,[object Object],true
[DEBUG] did-finish-load
[DEBUG] GetSystemIdleState => IdleTimeout: 300s, IdleTimeoutPollInterval: 10s, ActiveCheckPollInterval: 2s, IdleTime: 0s, IdleState: 'active'
[63096:0404/200511.703469:ERROR:gl_surface_presentation_helper.cc(260)] GetVSyncParametersIfAvailable() failed for 3 times!
[DEBUG] did-frame-finish-load,[object Object],false
[DEBUG] Badge count set to '0'
[DEBUG] did-frame-finish-load,[object Object],false
[DEBUG] did-frame-finish-load,[object Object],true
[DEBUG] did-finish-load
[DEBUG] did-frame-finish-load,[object Object],false
[DEBUG] did-frame-finish-load,[object Object],false
[63017:0404/200518.865603:ERROR:CONSOLE(1)] "Request Autofill.enable failed. {"code":-32601,"message":"'Autofill.enable' wasn't found"}", source: devtools://devtools/bundled/core/protocol_client/protocol_client.js (1)
[DEBUG] did-frame-finish-load,[object Object],false
[DEBUG] User status changed to '5'
[DEBUG] User status changed to '5'
[DEBUG] GetSystemIdleState => IdleTimeout: 300s, IdleTimeoutPollInterval: 10s, ActiveCheckPollInterval: 2s, IdleTime: 0s, IdleState: 'active'
[DEBUG] second-instance started
[DEBUG] processArgs:,/usr/lib/electron29/electron,--allow-file-access-from-files,/opt/teams-for-linux/app.asar,msteams:/l/meetup-join/19:meeting_MzJlMDFlNGMtMGM5ZS00N2YwLThjMzctNzg5OWM2MGI4MGY5@thread.v2/0?context=%7b%22Tid%22%3a%222d54890f-18e3-4c70-97cd-bc1e5f21f9cb%22%2c%22Oid%22%3a%226e4e49a0-7b93-4cd0-a628-3b9b072ba7f5%22%7d&anon=true&deeplinkId=7758ab18-c6a9-477a-9f0d-6017bf54f40f&launchAgent=join_launcher&type=meetup-join&directDl=true&msLaunch=true&enableMobilePage=true&suppressPrompt=true&fqdn=teams.microsoft.com
[DEBUG] A url argument received with msteams protocol
[DEBUG] GetSystemIdleState => IdleTimeout: 300s, IdleTimeoutPollInterval: 10s, ActiveCheckPollInterval: 2s, IdleTime: 0s, IdleState: 'active'
[DEBUG] did-frame-finish-load,[object Object],true
[DEBUG] did-finish-load
[DEBUG] GetSystemIdleState => IdleTimeout: 300s, IdleTimeoutPollInterval: 10s, ActiveCheckPollInterval: 2s, IdleTime: 0s, IdleState: 'active'
[DEBUG] did-frame-finish-load,[object Object],true
[DEBUG] did-finish-load
[DEBUG] GetSystemIdleState => IdleTimeout: 300s, IdleTimeoutPollInterval: 10s, ActiveCheckPollInterval: 2s, IdleTime: 0s, IdleState: 'active'
[DEBUG] did-frame-finish-load,[object Object],true
[DEBUG] did-finish-load
[DEBUG] GetSystemIdleState => IdleTimeout: 300s, IdleTimeoutPollInterval: 10s, ActiveCheckPollInterval: 2s, IdleTime: 0s, IdleState: 'active'
[DEBUG] did-frame-finish-load,[object Object],false
[DEBUG] Badge count set to '0'
[DEBUG] did-frame-finish-load,[object Object],false
[DEBUG] User status changed to '5'
[DEBUG] User status changed to '5'
[DEBUG] did-frame-finish-load,[object Object],true
[DEBUG] did-finish-load
[DEBUG] GetSystemIdleState => IdleTimeout: 300s, IdleTimeoutPollInterval: 10s, ActiveCheckPollInterval: 2s, IdleTime: 0s, IdleState: 'active'
[DEBUG] GetSystemIdleState => IdleTimeout: 300s, IdleTimeoutPollInterval: 10s, ActiveCheckPollInterval: 2s, IdleTime: 0s, IdleState: 'active'
[DEBUG] GetSystemIdleState => IdleTimeout: 300s, IdleTimeoutPollInterval: 10s, ActiveCheckPollInterval: 2s, IdleTime: 0s, IdleState: 'active'
In 1.4.27:
teams-for-linux https://... reloads the app content, but then ends up in the meeting join dialog. teams-for-linux msteams://... does not load, screen stays white.
[DEBUG] configPath:,/home/marco/.config/teams-for-linux
[DEBUG] configFile:,[object Object]
[INFO] Running under Wayland, switching to PipeWire...
[DEBUG] Adding electron CLI flag 'ozone-platform-hint' with value 'wayland'
[DEBUG] Adding electron CLI flag 'enable-features' with value 'WaylandWindowDecorations'
[DEBUG] Fetching custom background configuration from 'http://localhost/config.json'
[DEBUG] Custom background service url is 'http://localhost'
[DEBUG] processArgs:,/opt/teams-for-linux/teams-for-linux,msteams://teams.microsoft.com/l/meetup-join/19%3ameeting_YTBiNGFlYWItOTZmZC00YjUyLWIyMDEtZmE4NzRjNDY5NDdl%40thread.v2/0?context=%7b%22Tid%22%3a%225e2fa37d-0a53-49fb-a31a-0650e7079165%22%2c%22Oid%22%3a%22c321c62a-849b-4646-a261-04ca1d6a1058%22%7d,--appLogLevels=error,info,warn,debug
[DEBUG] A url argument received with msteams protocol
[DEBUG] Testing network using net.request() for https://teams.microsoft.com/
[DEBUG] Spellchecker is disabled!
[ERROR] Failed to fetch custom background remote configuration. net::ERR_CONNECTION_REFUSED
[163154:0418/080320.170742:ERROR:nss_util.cc(357)] After loading Root Certs, loaded==false: NSS error code: -8018
[DEBUG] Network test successful with method https
[163223:0418/080321.811724:ERROR:gl_surface_presentation_helper.cc(260)] GetVSyncParametersIfAvailable() failed for 1 times!
[DEBUG] did-frame-finish-load,[object Object],true
[DEBUG] did-finish-load
[DEBUG] GetSystemIdleState => IdleTimeout: 300s, IdleTimeoutPollInterval: 10s, ActiveCheckPollInterval: 2s, IdleTime: 0s, IdleState: 'active'
[163223:0418/080325.761693:ERROR:gl_surface_presentation_helper.cc(260)] GetVSyncParametersIfAvailable() failed for 2 times!
[DEBUG] GetSystemIdleState => IdleTimeout: 300s, IdleTimeoutPollInterval: 10s, ActiveCheckPollInterval: 2s, IdleTime: 0s, IdleState: 'active'
[DEBUG] GetSystemIdleState => IdleTimeout: 300s, IdleTimeoutPollInterval: 10s, ActiveCheckPollInterval: 2s, IdleTime: 0s, IdleState: 'active'
[DEBUG] GetSystemIdleState => IdleTimeout: 300s, IdleTimeoutPollInterval: 10s, ActiveCheckPollInterval: 2s, IdleTime: 0s, IdleState: 'active'
[DEBUG] GetSystemIdleState => IdleTimeout: 300s, IdleTimeoutPollInterval: 10s, ActiveCheckPollInterval: 2s, IdleTime: 0s, IdleState: 'active'
[163223:0418/080407.337875:ERROR:gl_surface_presentation_helper.cc(260)] GetVSyncParametersIfAvailable() failed for 3 times!
[DEBUG] GetSystemIdleState => IdleTimeout: 300s, IdleTimeoutPollInterval: 10s, ActiveCheckPollInterval: 2s, IdleTime: 0s, IdleState: 'active'
I'm sure this is probably only useful to me, but I found it will load the join meeting dialog without reloading the site if I loaded a msteams:// link with:
window.webContents.executeJavaScript(`
function navigateAngularToMeeting() {
const injector = window.angular.element(document.documentElement).injector();
const rootScope = injector.get('$rootScope');
const location = injector.get('$location');
location.url('${url.substring(9, url.length)}');
rootScope.$digest();
}; navigateAngularToMeeting();
`);
I know this will probably break once MS stops supporting the AngularJS MS Teams site. And I'm running this on a Mac, so I'm not sure if this would even be helpful for AngularJS MS Teams on Linux.
@nerumo / @Zahrun , 1.4.27 create the "white/blank screen" to a few users but that was related to us updating the electron version. Are you able to try with 1.4.35 (latest) and see if you got the same problem?
Thanks @chrisjdev for the suggestion/workaround!
I just tested with 1.4.37, it reloads the webview
Hi. I'm running Teams for Linux v1.4.37. Do I need to install the Redirector add on in Firefox?
I ask cause when I launch Teams for Linux, then navigate to the Calendar section, click Join with an ID, enter required Meeting ID and passcode and finally click Join meeting, I'm redirected away from the app and to the browser.
Teams Version
$ snap info teams-for-linux
name: teams-for-linux
summary: Teams for Linux
publisher: ismael (ismaelmartinez)
store-url: https://snapcraft.io/teams-for-linux
contact: https://github.com/IsmaelMartinez/teams-for-linux
license: unset
description: |
Unofficial Microsoft Teams client for Linux using Electron. It uses the Web App and wraps it as a
standalone application using Electron.
If you encounter any issues, please feel free to reach out to us through the GitHub repository
provided in the contact information. We will do our best to try and help you.
commands:
- teams-for-linux
snap-id: IIAJhVGfBhm393UTagoW5awtZlPDGqHd
tracking: latest/stable
refresh-date: 9 days ago, at 00:36 AEST
channels:
latest/stable: 1.4.37 2024-05-06 (584) 89MB -
latest/candidate: ↑
latest/beta: ↑
latest/edge: 1.4.39 2024-05-15 (590) 89MB -
installed: 1.4.37 (584) 89MB -
OK - this is very interesting.
If I login to Teams using my business email, it doesn't redirect after clicking the Join meeting button. However, if I login to Teams using my personal Hotmail account, it redirects...
I hope this helps you track the issue down...
EDIT: I might also add that after adding the Redirector addon to Firefox, I was prompted to select the handler. However, absolutely nothing happens after I select the script I created (${HOME}/bin/teamsfix) as suggested by @joh4nd further up as the handler.
Something else to note. Whenever I logout of my personal account and login to the business one, I always get this prompt - and there's no escaping switching as there's no cancel button:
It looks like there's a different version of something being loaded when logging in with the Hotmail account.
@ak2766 , thanks for reporting. On the 1st one if you try 'ctrl+click' it might just work, but I suspect it will not work as you probably need to authenticate in another "domain"
Regarding the redirector script, I wonder if that is because you are in teams v2. If that is the case you will probably need to add a /v2 after teams.microsoft.com but MS might have changed something else and that might not work.
For the last note, your company can decide to force you to teams-v2, while if you are in your personal account, is up to MS to do it. Hope helps!
Hi. I'm running Teams for Linux v1.4.37. Do I need to install the Redirector add on in Firefox?
I ask cause when I launch Teams for Linux, then navigate to the Calendar section, click Join with an ID, enter required Meeting ID and passcode and finally click Join meeting, I'm redirected away from the app and to the browser. Teams Version
I still use the Redirector add on to get the pop up to choose the program to open it with, then I point it to the shell script to convert msteams links back to https links that TFL can open:
at teams-for-linux-open-url.sh
#! /bin/bash
URL="${1/msteams/https}"
teams-for-linux --url $URL
TFL still can't seem to open up msteams links.
@IsmaelMartinez
@ak2766 , thanks for reporting. On the 1st one if you try 'ctrl+click' it might just work, but I suspect it will not work as you probably need to authenticate in another "domain"
Unfortunately, that did not work - it still redirected to the browser.
Regarding the redirector script, I wonder if that is because you are in teams v2. If that is the case you will probably need to add a
/v2afterteams.microsoft.combut MS might have changed something else and that might not work.
This one is rather interesting in that if I disable the redirector script, the URL in the browser looks like this:
.../v2/?meetingjoin=true#/meet/<meetingId>?p=<passcode>&anon=true&deeplinkId=40e55111-40a7-4593-ac12-898eae1670a8
However, when I enable the redirector, the URL in the browser morphs into:
.../meet/<meetingId>?p=<passcode>
EDIT:
For completeness sake, here's my redirector config:
And here's the BASH script:
#!/bin/bash
logfile="/var/tmp/teamsfix.log"
exec &>${logfile}
set -x
URL="${1/msteams/https}"
teams-for-linux --url "$URL"
I suspect it is a teams-v2. The URLs have changed to add a V2 in between the domain and parameters.
That might have resulted in the ms stuff not understanding the redirect you are passing.
If you can provide logs for each of the cases, then it might show what is wrong, but I suspect it might just be a bit of tweaking of the config. Good luck
If you can provide logs for each of the cases, then it might show what is wrong, but I suspect it might just be a bit of tweaking of the config. Good luck
Not a big issue for me now since I have a corporate account login workaround. Will post the logs within the next couple of days.
I believe I have found the issue.
After reading this issue - https://github.com/IsmaelMartinez/teams-for-linux/issues/1156 - I noticed that whenever I logged in to Teams with my Hotmail account, the URL would be set to:
document.location.href
'https://teams.live.com/_#/conversations/?ctx=chat'
After following the instructions suggested by @christosnake, the URL is now showing up as:
document.location.href
'https://teams.live.com/v2/'
And now, joining a meeting with an ID no longer redirects to Teams in the browser.
Bummer. Looks like even with the localStorage option (see below), it reverts to the Classic URL (/_#/conversations/?ctx=chat) after I logging in and out of the corporate account!
window.localStorage.setItem("tmp.isOptedIntoT2Web", true)
document.location.href = 'https://teams.microsoft.com/v2/'
Looks like I'm stuck in a no win situation, albeit there are workarounds...
I suspect you might have found a wee reason for it.
The app only check for a specific MS URL as shown in here:
https://github.com/IsmaelMartinez/teams-for-linux/blob/develop/app/mainAppWindow/index.js#L227
I suspect that if we modify that to also check for the "teams.live.com" then it might start picking them up.
FYI, you can use the optInTeamsV2 and url config options instead of needing to need to run those commands in the browser each time. The optInTeamsV2 might also need to be tweak to allow for the other url in this line:
https://github.com/IsmaelMartinez/teams-for-linux/blob/develop/app/mainAppWindow/index.js#L141
Hope helps!