Ferdi: Google Meet not working

Created on 20 Jun 2020  Â·  16Comments  Â·  Source: getferdi/ferdi

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

  1. Add a Google Meet service.
  2. Login with your Google account.
  3. Click on the button to join a meeting, leave the room name empty and click on continue.
  4. See the error.

Expected behavior

A meeting room should be joined.

Screenshots

Capture d’écran de 2020-06-20 21-18-27

Environment:

bug

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)

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();
    }
  };

All 16 comments

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.

  1. Add an alert(window.navigator.userAgent) before return in overrideUserAgent methode.
  2. Replace ubunthu with your OS. (use return window.navigator.userAgent.replace(/(Ferdi|Electron)\/\S+ \([^)]+\)/g, "").replace(/Ubuntu/, <your Os here>).trim();
  3. Restart Ferdi

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";
    }
 };
Was this page helpful?
0 / 5 - 0 ratings

Related issues

ylluminarious picture ylluminarious  Â·  4Comments

ammarmalhas picture ammarmalhas  Â·  3Comments

pktiuk picture pktiuk  Â·  3Comments

sbienkow picture sbienkow  Â·  3Comments

sschaefa picture sschaefa  Â·  3Comments