" are comments from us and won't be
visible in your bug report, so please don't put any text in them.
-->
Bug description:
When trying to join a new meeting in Google Meet, I get an error saying that the video cannot be started due to an error.
Steps to reproduce:
Expected behavior
A meeting room should be joined.
Screenshots

Environment:
Server: Ferdi
Debug information:
https://debug.getferdi.com/65461606-d5eb-4223-bb3d-2832377498f9
Issue-Label Bot is automatically applying the label bug to this issue, with a confidence of 0.79. Please mark this comment with :thumbsup: or :thumbsdown: to give our bot feedback!
Links: app homepage, dashboard and code for this bot.
@yann-soubeyrand - A fix has been put up in the recipes for this issue. Until then open your Google Meet recipe's index.js and replace it with the following piece of code and restart Ferdi
var os = require("os");
module.exports = (Franz) =>
class Gmail extends Franz {
modifyRequestHeaders() {
return [
{
headers: {
"user-agent": window.navigator.userAgent.replace(/(Ferdi|Electron)\/\S+ \([^)]+\)/g, "").trim(),
},
requestFilters: {
urls: ["*://*/*"],
},
},
];
}
};
Hi @mahadevans87, thanks for your answer. However it doesn't work for me, but adding .replace(/Ubuntu/, "Fedora") before .trim() (I'm on Fedora) does the trick.
@mahadevans87 Btw, what is the difference between using modifyRequestHeaders this way vs overrideUserAgent?
@kris7t overrideUserAgent is called on a webview when the window initially loads up. But modifyRequestHeaders will send the user-agent to each and every request that we specify in the requestFilters
@mahadevans87 the following is working for me (not sure which is better between overrideUserAgent and modifyRequestHeaders but based on what you said, I guess the former doesn't imply modifying each request and is thus better)
var os = require('os')
module.exports = Franz =>
class Gmail extends Franz {
overrideUserAgent() {
return window.navigator.userAgent.replace(/(Ferdi|Electron)\/\S+ \([^)]+\)/g, "").replace(/Ubuntu/, "Fedora").trim();
}
};
Also on Ubuntu 20.04 LTS is not working with the same behavior.
Ferdi version: 5.5.0
Hi there. I have the same here and the recipe solution didn't work. I'm running the appimage release of Ferdi 5.5.0 on Arch Linux.
Hi there. I have the same here and the recipe solution didn't work. I'm running the appimage release of Ferdi 5.5.0 on Arch Linux.
alert(window.navigator.userAgent) before return in overrideUserAgent methode.return window.navigator.userAgent.replace(/(Ferdi|Electron)\/\S+ \([^)]+\)/g, "").replace(/Ubuntu/, <your Os here>).trim();Work for me, i'm on Manjaro (Arch Linux base)
@philwronski Thank you, but I couldn't make it work yet. My index.js is a little different than the examples here so I couldn't figure out if I was putting those exactly where they should be. I tried replacing the content with your accretions over what's been posted by @yann-soubeyrand and @mahadevans87 but didn't work neither. Here's how my index.js looks like originally:
var os = require('os')
module.exports = Franz =>
class Gmail extends Franz {
overrideUserAgent() {
if (os.platform() == 'linux')
return "Mozilla/5.0 (X11; Linux x86_64; rv:72.0) Gecko/20100101 Firefox/72.0"
else
return "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:72.0) Gecko/20100101 Firefox/72.0";
}
};
Anyway, thanks for helping!
@philwronski Thank you, but I couldn't make it work yet. My index.js is a little different than the examples here so I couldn't figure out if I was putting those exactly where they should be. I tried replacing the content with your accretions over what's been posted by @yann-soubeyrand and @mahadevans87 but didn't work neither. Here's how my index.js looks like originally:
var os = require('os') module.exports = Franz => class Gmail extends Franz { overrideUserAgent() { if (os.platform() == 'linux') return "Mozilla/5.0 (X11; Linux x86_64; rv:72.0) Gecko/20100101 Firefox/72.0" else return "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:72.0) Gecko/20100101 Firefox/72.0"; } };Anyway, thanks for helping!
replace return in if.
I'm having the same issue on macOS 10.15.5. How do I edit a recipe?
The error I see on console is: DisconnectedError, EndCause = 16
this is the entire trace:
stack: "Error: DisconnectedError, EndCause = 16↵ at new _.sZc (https://meet.google.com/_/scs/mss-static/_/js/k=boq-rtc.MeetingsUi.es.QzYE1C--K_E.es5.O/ck=boq-rtc.MeetingsUi.DapwPWmnF1o.L.F4.O/am=AggNAAUGCACCyQgIAEBASEAAAAAAkAD5_wUEAAAAGgYcA0gLIEA3AOAJCACBgQ/d=1/exm=_b,_tp,wmwg8b/excm=_b,_tp,calldesktoppageview/ed=1/wt=2/ct=zgms/rs=AL5CKSHshLbQeZawQsXGEv74pMR05hiR-g/m=XAzchc,ws9Tlc,IZT63,e5qFLc,GkRiKb,UUJqVe,xUdipf,blwjVc,fKUV3e,aurFic,COQbmf,U0aPgd,ZwDk9d,V3dDOb,XU5LFb,hl,rrm,c6KVyc,jKHFJb,WO9ee,T6U9J,lHoXXe,SFhYHb,FMq9Lb,Cw0Hjd,AePfdf,DCwKHe,RqS4qe,rsr,t8N1l,ehbmDc,nUMwj,cLFsDc,XxnxR,nALW6c,syIdOe,k2r0oe,Tj958c,rNa50e,O6y8ed,NpD4ec,PrPYRd,O4tzsb,iWP1Yb,dodICd,NwH0H,OmgaI,HLo3Ef,x60fie,xiqEse,MsyKad,ma,RoOsrd,azqyEc,W4cEdc,XVMNvd,L1AAkb,xQtZb,rE6Mgd,lwddkf,Fl2dbf,fFdwef,AJ9SK,fHcPI,rn9YO,Y0bgVb,s39S4,gychg,w9hDv,RMhBfe,tgTcU,lAg79c,TH1Apc,Ryzncf,SdcwHb,aW3pY,rHjpXd,PQaYAf,EFQ78c,obLw,DM8swd,pw70Gc,Ulmmrd,ZfAoz,Ivl8bd,PGW6ue,CBlRxf,MdUzUe,I6YDgd,N5Lqpc,fgj8Rb,lPKSwe,QIhFr,JNoxi,texUgd,y4Nztd,xGC4Gb,pB6Zqd,llTWPd,FYCkde,yDVVkb,SF3gsd,JyyTHf,cilABe,dWHZee,qexExd,DNsE7e,r3O6kf,swpmp,wGFfpe,gVaDd,QBFzrf,CvtcN,tlbU5,QQnX0,zXsoW,sPwFo,iTsyac,hc6Ubd,Tnlgmf,Z7OaKe,NNJERe,KG2eXe,SpsfSb,cWjcJb,tfTN8c,o02Jie,bcHMGf,Hn5sxd,qsafrb,VwDzFe,zbML3c,UcHKNb,HDvRde,Uas9Hd,BVgquf,a9EW5e,A7fCU,pGAJif,UgAtXe,pjICDe:6342:31)↵ at _.nR._.h.jha (https://meet.google.com/_/scs/mss-static/_/js/k=boq-rtc.MeetingsUi.es.QzYE1C--K_E.es5.O/ck=boq-rtc.MeetingsUi.DapwPWmnF1o.L.F4.O/am=AggNAAUGCACCyQgIAEBASEAAAAAAkAD5_wUEAAAAGgYcA0gLIEA3AOAJCACBgQ/d=1/exm=_b,_tp,wmwg8b/excm=_b,_tp,calldesktoppageview/ed=1/wt=2/ct=zgms/rs=AL5CKSHshLbQeZawQsXGEv74pMR05hiR-g/m=XAzchc,ws9Tlc,IZT63,e5qFLc,GkRiKb,UUJqVe,xUdipf,blwjVc,fKUV3e,aurFic,COQbmf,U0aPgd,ZwDk9d,V3dDOb,XU5LFb,hl,rrm,c6KVyc,jKHFJb,WO9ee,T6U9J,lHoXXe,SFhYHb,FMq9Lb,Cw0Hjd,AePfdf,DCwKHe,RqS4qe,rsr,t8N1l,ehbmDc,nUMwj,cLFsDc,XxnxR,nALW6c,syIdOe,k2r0oe,Tj958c,rNa50e,O6y8ed,NpD4ec,PrPYRd,O4tzsb,iWP1Yb,dodICd,NwH0H,OmgaI,HLo3Ef,x60fie,xiqEse,MsyKad,ma,RoOsrd,azqyEc,W4cEdc,XVMNvd,L1AAkb,xQtZb,rE6Mgd,lwddkf,Fl2dbf,fFdwef,AJ9SK,fHcPI,rn9YO,Y0bgVb,s39S4,gychg,w9hDv,RMhBfe,tgTcU,lAg79c,TH1Apc,Ryzncf,SdcwHb,aW3pY,rHjpXd,PQaYAf,EFQ78c,obLw,DM8swd,pw70Gc,Ulmmrd,ZfAoz,Ivl8bd,PGW6ue,CBlRxf,MdUzUe,I6YDgd,N5Lqpc,fgj8Rb,lPKSwe,QIhFr,JNoxi,texUgd,y4Nztd,xGC4Gb,pB6Zqd,llTWPd,FYCkde,yDVVkb,SF3gsd,JyyTHf,cilABe,dWHZee,qexExd,DNsE7e,r3O6kf,swpmp,wGFfpe,gVaDd,QBFzrf,CvtcN,tlbU5,QQnX0,zXsoW,sPwFo,iTsyac,hc6Ubd,Tnlgmf,Z7OaKe,NNJERe,KG2eXe,SpsfSb,cWjcJb,tfTN8c,o02Jie,bcHMGf,Hn5sxd,qsafrb,VwDzFe,zbML3c,UcHKNb,HDvRde,Uas9Hd,BVgquf,a9EW5e,A7fCU,pGAJif,UgAtXe,pjICDe:6332:269)↵ at https://meet.google.com/_/scs/mss-static/_/js/k=boq-rtc.MeetingsUi.es.QzYE1C--K_E.es5.O/ck=boq-rtc.MeetingsUi.DapwPWmnF1o.L.F4.O/am=AggNAAUGCACCyQgIAEBASEAAAAAAkAD5_wUEAAAAGgYcA0gLIEA3AOAJCACBgQ/d=1/exm=_b,_tp,wmwg8b/excm=_b,_tp,calldesktoppageview/ed=1/wt=2/ct=zgms/rs=AL5CKSHshLbQeZawQsXGEv74pMR05hiR-g/m=XAzchc,ws9Tlc,IZT63,e5qFLc,GkRiKb,UUJqVe,xUdipf,blwjVc,fKUV3e,aurFic,COQbmf,U0aPgd,ZwDk9d,V3dDOb,XU5LFb,hl,rrm,c6KVyc,jKHFJb,WO9ee,T6U9J,lHoXXe,SFhYHb,FMq9Lb,Cw0Hjd,AePfdf,DCwKHe,RqS4qe,rsr,t8N1l,ehbmDc,nUMwj,cLFsDc,XxnxR,nALW6c,syIdOe,k2r0oe,Tj958c,rNa50e,O6y8ed,NpD4ec,PrPYRd,O4tzsb,iWP1Yb,dodICd,NwH0H,OmgaI,HLo3Ef,x60fie,xiqEse,MsyKad,ma,RoOsrd,azqyEc,W4cEdc,XVMNvd,L1AAkb,xQtZb,rE6Mgd,lwddkf,Fl2dbf,fFdwef,AJ9SK,fHcPI,rn9YO,Y0bgVb,s39S4,gychg,w9hDv,RMhBfe,tgTcU,lAg79c,TH1Apc,Ryzncf,SdcwHb,aW3pY,rHjpXd,PQaYAf,EFQ78c,obLw,DM8swd,pw70Gc,Ulmmrd,ZfAoz,Ivl8bd,PGW6ue,CBlRxf,MdUzUe,I6YDgd,N5Lqpc,fgj8Rb,lPKSwe,QIhFr,JNoxi,texUgd,y4Nztd,xGC4Gb,pB6Zqd,llTWPd,FYCkde,yDVVkb,SF3gsd,JyyTHf,cilABe,dWHZee,qexExd,DNsE7e,r3O6kf,swpmp,wGFfpe,gVaDd,QBFzrf,CvtcN,tlbU5,QQnX0,zXsoW,sPwFo,iTsyac,hc6Ubd,Tnlgmf,Z7OaKe,NNJERe,KG2eXe,SpsfSb,cWjcJb,tfTN8c,o02Jie,bcHMGf,Hn5sxd,qsafrb,VwDzFe,zbML3c,UcHKNb,HDvRde,Uas9Hd,BVgquf,a9EW5e,A7fCU,pGAJif,UgAtXe,pjICDe:6408:140↵ at e.Ca (/_/scs/mss-static/_/js/k=boq-rtc.MeetingsUi.es.QzYE1C--K_E.es5.O/am=AggNAAUGCACCyQgIAEBASEAAAAAAkAD5_wUEAAAAGgYcA0gLIEA3AOAJCACBgQ/d=1/excm=_b,_tp,calldesktoppageview/ed=1/dg=0/wt=2/ct=zgms/rs=AL5CKSGKXBlQ13LV0jKNM7VomBUJFu5G4Q/m=_b,_tp:236:470)↵ at xfa (/_/scs/mss-static/_/js/k=boq-rtc.MeetingsUi.es.QzYE1C--K_E.es5.O/am=AggNAAUGCACCyQgIAEBASEAAAAAAkAD5_wUEAAAAGgYcA0gLIEA3AOAJCACBgQ/d=1/excm=_b,_tp,calldesktoppageview/ed=1/dg=0/wt=2/ct=zgms/rs=AL5CKSGKXBlQ13LV0jKNM7VomBUJFu5G4Q/m=_b,_tp:239:326)↵ at tfa (/_/scs/mss-static/_/js/k=boq-rtc.MeetingsUi.es.QzYE1C--K_E.es5.O/am=AggNAAUGCACCyQgIAEBASEAAAAAAkAD5_wUEAAAAGgYcA0gLIEA3AOAJCACBgQ/d=1/excm=_b,_tp,calldesktoppageview/ed=1/dg=0/wt=2/ct=zgms/rs=AL5CKSGKXBlQ13LV0jKNM7VomBUJFu5G4Q/m=_b,_tp:239:199)↵ at _.yf.Eka (/_/scs/mss-static/_/js/k=boq-rtc.MeetingsUi.es.QzYE1C--K_E.es5.O/am=AggNAAUGCACCyQgIAEBASEAAAAAAkAD5_wUEAAAAGgYcA0gLIEA3AOAJCACBgQ/d=1/excm=_b,_tp,calldesktoppageview/ed=1/dg=0/wt=2/ct=zgms/rs=AL5CKSGKXBlQ13LV0jKNM7VomBUJFu5G4Q/m=_b,_tp:239:64)↵ at ifa (/_/scs/mss-static/_/js/k=boq-rtc.MeetingsUi.es.QzYE1C--K_E.es5.O/am=AggNAAUGCACCyQgIAEBASEAAAAAAkAD5_wUEAAAAGgYcA0gLIEA3AOAJCACBgQ/d=1/excm=_b,_tp,calldesktoppageview/ed=1/dg=0/wt=2/ct=zgms/rs=AL5CKSGKXBlQ13LV0jKNM7VomBUJFu5G4Q/m=_b,_tp:231:308)"
Thank you, @philwronski it finally worked for me!
@akira28
How do I edit a recipe?
At Ferdi, go to "available services" and them to the "custom services" tab. There will be a field with the recipes directory, where you'll find the googlemeet folder and the index.js file inside it. This is the one you'll edit.
You may want to copy that folder inside the dev folder, so your modified Google Meet will be treated as a custom service (separate from the "original").
This issue has been automatically marked as stale because it has not had recent activity. Please check if this issue is still relevant and please close it if it's not. This will make sure that our open issues are actually of use and reduce the list of obsolete issues. Thank you for your contributions.
Still happening
This is what I did for MacOS to make it work on 5.6.0-beta2
var os = require('os')
module.exports = Franz =>
class Gmail extends Franz {
overrideUserAgent() {
return "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36";
}
};
Most helpful comment
@mahadevans87 the following is working for me (not sure which is better between overrideUserAgent and modifyRequestHeaders but based on what you said, I guess the former doesn't imply modifying each request and is thus better)