jitsi-meet icon indicating copy to clipboard operation
jitsi-meet copied to clipboard

No camera/microphone in google-chrome when authentication enabled without guest domain

Open stephane-chazelas opened this issue 1 year ago • 44 comments

Description:

When configuring authentication in my instance, in my case LDAP using the "cyrus" module as per https://jitsi.github.io/handbook/docs/devops-guide/ldap-authentication/, without a guest subdomain enabled, in google-chrome, upon starting or joining a meeting (upon which authentication is prompted as expected and works OK), camera and microphone icons remain "greyed out" with a spinning wheel spinning indefinitely.

Screenshot from 2023-09-09 10-50-10

Hovering over them gives "connecting your camera" / "connecting your microphone". The camera LED on the laptop turns on so it's not about accessing the camera. Camera works fine in the settings.

It works fine in Firefox. It also works fine if I disable authentication or enable a guest subdomain (as per https://jitsi.github.io/handbook/docs/devops-guide/secure-domain/), though neither is an option for me as users should not be able to join a meeting without authenticating in my case.

Steps to reproduce:

  1. configure LDAP authentication as per https://jitsi.github.io/handbook/docs/devops-guide/ldap-authentication/
  2. Start a meeting in google-chrome

Expected behavior:

Same as in Firefox with microphone and camera working as expected during meetings.

Actual behavior:

Camera and microphone icons remain "greyed out" with a spinning wheel spinning indefinitely.

Server information:

  • Jitsi Meet version: 2.0.8922
  • Operating System: Ubuntu 20.04
$ aptitude -q search -F '%v %p' '~S~i (~m jitsi | prosody)'
1.0-1048-1     jicofo
1.0.1          jitsi-archive-keyring
2.0.8922-1     jitsi-meet
1.0.7499-1     jitsi-meet-prosody
1.0.7499-1     jitsi-meet-web
1.0.7499-1     jitsi-meet-web-config
2.3-41-ga8d8a7 jitsi-videobridge2
0.12.4-1~focal prosody
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 20.04.6 LTS
Release:        20.04
Codename:       focal


### Client information:

- Browser / app version: google-chrome-stable 116.0.5845.179-1
- Operating System: Ubuntu 20.04

stephane-chazelas avatar Sep 09 '23 10:09 stephane-chazelas

Can you please share your browser console logs?

saghul avatar Sep 09 '23 11:09 saghul

Thanks Saúl. Here are console logs. That's from the start of a new incognito window, going to https://video-bridge.example.com, starting a new meeting room and authenticating.

video-bridge.example.com-1694261144536.log

stephane-chazelas avatar Sep 09 '23 12:09 stephane-chazelas

For comparison, here are console logs from the same browser when the guest domain is enabled:

video-bridge.example.com-guest-domain-1694266183825.log

And a console log for a working firefox when guest domain is not enabled:

console-export-2023-9-9_14-35-12.txt

stephane-chazelas avatar Sep 09 '23 13:09 stephane-chazelas

When you are disabling guest domain you remove it from prosody config and from config.js and restart prosody?

damencho avatar Sep 09 '23 13:09 damencho

When you are disabling guest domain you remove it from prosody config and from config.js and restart prosody?

Initially, the guest domain was not configured in prosody and google-chrome wasn't working. I then tried configuring the guest domain to see if that helped and that did. The console logs above are with only guestauthdomain removed from config.js.

Here is another console log from a failing chrome with the guest subdomain fully disabled by disabling in prosody, config.js and removing the authentication section in jicofo.conf (and reboot the server).

video-bridge.example.com-guest-fully-disabled-1694269183286.log

AFAICT, except for timestamps, some unique ids and the name of the meeting room, that's the same as in the first log I sent above.

stephane-chazelas avatar Sep 09 '23 14:09 stephane-chazelas

I see a similar problem. Unfortunately I have no firefox available to test with. Problem occur with Chrome and Edge.

Running on Ubuntu 22.04 LTS. No guest domain active, authentication done via saslauthd and cyrus. Camera is working in the camera settings but mic and cam buttons are grey and spinning saying "connecting your microphone/camera"

ii  jicofo                                 1.0-1048-1                              all          JItsi Meet COnference FOcus
ii  jitsi-meet-prosody                     1.0.7499-1                              all          Prosody configuration for Jitsi Meet
ii  jitsi-meet-web                         1.0.7499-1                              all          WebRTC JavaScript video conferences
ii  jitsi-meet-web-config                  1.0.7499-1                              all          Configuration for web serving of Jitsi Meet
ii  jitsi-videobridge2                     2.3-41-ga8d8a786-1                      all          WebRTC compatible Selective Forwarding Unit (SFU)
ii  prosody                                0.12.4-1~jammy1                         amd64        Lightweight Jabber/XMPP server

If I downgrade jitsi-meet-web to 1.0.7322-1 and keep all others as above, it starts to work as it should again by just reconnecting to the meeting in the browser. Nothing need to be restarted on the server end.

# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 22.04.3 LTS
Release:        22.04
Codename:       jammy

eggepegge avatar Sep 12 '23 14:09 eggepegge

Upgraded our Jiti server today and ran across the same issue. Greyed out icons with a spinning wheel with Google Chrome and Chromium. Works fine in Firefox.

I have authentication enabled and no guest domain.

Jitsi Meet version: 2.0.8922-2 Operating System: Debian 10

VennStone avatar Sep 14 '23 05:09 VennStone

after upgrading our Jitsi server we ran into the same problem as well.

~$ lsb_release -a
Distributor ID:	Ubuntu
Description:	Ubuntu 22.04.3 LTS
Release:	22.04
Codename:	jammy
~$ dpkg -l | grep jitsi
ii  jitsi-meet                      2.0.8922-1                              all          WebRTC JavaScript video conferences
ii  jitsi-meet-prosody              1.0.7499-1                              all          Prosody configuration for Jitsi Meet
ii  jitsi-meet-turnserver           1.0.7499-1                              all          Configures coturn to be used with Jitsi Meet
ii  jitsi-meet-web                  1.0.7499-1                              all          WebRTC JavaScript video conferences
ii  jitsi-meet-web-config           1.0.7499-1                              all          Configuration for web serving of Jitsi Meet
ii  jitsi-videobridge2              2.3-41-ga8d8a786-1                      all          WebRTC compatible Selective Forwarding Unit (SFU)

d-shiri avatar Sep 14 '23 08:09 d-shiri

Upgraded our Jiti server today and ran across the same issue. Greyed out icons with a spinning wheel with Google Chrome and Chromium. Works fine in Firefox.

I have authentication enabled and no guest domain.

Jitsi Meet version: 2.0.8922-2 Operating System: Debian 10

What type of auth did you enable?

saghul avatar Sep 14 '23 08:09 saghul

Upgraded our Jiti server today and ran across the same issue. Greyed out icons with a spinning wheel with Google Chrome and Chromium. Works fine in Firefox. I have authentication enabled and no guest domain. Jitsi Meet version: 2.0.8922-2 Operating System: Debian 10

What type of auth did you enable?

this is what I found in /etc/prosody/conf.avail/meet.mysite.app.cfg.lua if you mean sth else, please let me know how to collect that info.

VirtualHost "auth.meet.mysite.app"
    ssl = {
        key = "/etc/prosody/certs/auth.meet.mysite.app.key";
        certificate = "/etc/prosody/certs/auth.meet.mysite.app.crt";
    }
    modules_enabled = {
        "limits_exception";
    }
    authentication = "internal_hashed"
------------------------------------------------
in another part of the file was
VirtualHost "meet.mysite.app"
    authentication = "internal_plain" --"jitsi-anonymous" -- do not delete me


d-shiri avatar Sep 14 '23 10:09 d-shiri

Can you please share the entire Prosody, Jicofo and config.js? I suspect some kind of config issue. I just tried the latest stable Docker setup and it works just like before, when no guests are allowed.

saghul avatar Sep 14 '23 12:09 saghul

Can you please share the entire Prosody, Jicofo and config.js? I suspect some kind of config issue. I just tried the latest stable Docker setup and it works just like before, when no guests are allowed.

Here we go. I very well may have something misconfigured and the latest update exposed it.

meet.website.bob.cfg.lua.txt meet.website.bob-config.js.txt sip-communicator.properties.txt

VennStone avatar Sep 14 '23 19:09 VennStone

Can you please share the entire Prosody, Jicofo and config.js? I suspect some kind of config issue. I just tried the latest stable Docker setup and it works just like before, when no guests are allowed.

Here we go. I very well may have something misconfigured and the latest update exposed it.

meet.website.bob.cfg.lua.txt meet.website.bob-config.js.txt sip-communicator.properties.txt

A couple of issues I noticed:

  • You still have the guest virtual host defined in Prosody
  • authdomain is commented out in config.js
  • jicofo is ok

saghul avatar Sep 14 '23 21:09 saghul

Can you please share the entire Prosody, Jicofo and config.js? I suspect some kind of config issue. I just tried the latest stable Docker setup and it works just like before, when no guests are allowed.

Here we go. I very well may have something misconfigured and the latest update exposed it. meet.website.bob.cfg.lua.txt meet.website.bob-config.js.txt sip-communicator.properties.txt

A couple of issues I noticed:

  • You still have the guest virtual host defined in Prosody
  • authdomain is commented out in config.js
  • jicofo is ok

Corrected issues with the virtual host and authdomain. No joy. Camera and microphone icons remain "greyed out" on Chrome.

Still works in Firefox.

VennStone avatar Sep 15 '23 03:09 VennStone

Then it must be unrelated to auth.

Can you pl share the browser console logs when you open the prejoin page?

saghul avatar Sep 15 '23 06:09 saghul

For me, it does not work on Firefox as well.

d-shiri avatar Sep 15 '23 09:09 d-shiri

Can any of you share your deployment URL so we can test it out?

saghul avatar Sep 15 '23 09:09 saghul

sure, this is the url, although password protected: https://meet.drposture.app/ and here are the config files. jicofo.conf.txt meet.drposture.app-config.js.txt

d-shiri avatar Sep 15 '23 10:09 d-shiri

Jicofo is lacking the auth config. At any rate I am unable to properly test it because the credentials screen happens before prejoin.

saghul avatar Sep 15 '23 11:09 saghul

Jicofo is lacking the auth config. At any rate I am unable to properly test it because the credentials screen happens before prejoin.

please check your email, I sent you test credentials.

d-shiri avatar Sep 15 '23 11:09 d-shiri

We have a similar problem: auth is required on our instance and since we upgrade to 2.0.8922-1, the microphone icon is greyed out with a loader on Chromium. (We use internal_plain auth in Prosody.)

prudloff-insite avatar Sep 18 '23 16:09 prudloff-insite

For the record, issue is still there after upgrade to 2.0.8960.

Note that in my case (OP here), that was a fresh reinstall on Ubuntu 20.04 following the instructions in the handbook as upgrades were failing (the old 2.0.6826 still works fine with both firefox and chrome).

Since the only person who reported it working was using the docker deployment, it may be worth checking whether the configurations there differs from the ones given in the handbook. I suppose another difference could be the version of prosody used.

stephane-chazelas avatar Sep 20 '23 05:09 stephane-chazelas

In my case, it all starts to work again when I roll back only jitsi-meet-web to 1.0.7322-1 while the other packages still are on the updated release. Only thing needed is to reload the webpage. Nothing need to be restarted on the server. I have now frozen that package, and the update on the PROD environment went just fine, updating all other jitsi-related packages but this one to the latest stable.

hi jitsi-meet-web 1.0.7322-1

The package contain html files and javascripts. My guess is that some change has been done to a javascript here causing issues with Chrome. I haven't looked into it yet but will try to find some time for it soon.

eggepegge avatar Sep 20 '23 11:09 eggepegge

Jicofo is lacking the auth config. At any rate I am unable to properly test it because the credentials screen happens before prejoin.

please check your email, I sent you test credentials.

Thanks I could test it now!

I think I know where the problem originates: it doesn't seem to be related to auth but to the prejoin screen. It's disabled in your instance, but if I force it with a URL parameter, things work as expected. You can do that as a workaround, while we look for the problem.

saghul avatar Sep 22 '23 09:09 saghul

Hum, however, I couldn't reproduce it on meet.jit.si :-/

Are any of you running any Prosody plugins not in the base install?

saghul avatar Sep 22 '23 09:09 saghul

I confirm setting prejoinConfig.enabled to true fixes the problem for us.

prudloff-insite avatar Sep 22 '23 10:09 prudloff-insite

We have a similar problem: auth is required on our instance and since we upgrade to 2.0.8922-1, the microphone icon is greyed out with a loader on Chromium. (We use internal_plain auth in Prosody.)

Same problem here ! It worked like a charm since 2 years, without any configuration modification, and since last upgrade, something is broken. When I connect in a meeting, audio/video are greyed ("connecting to.."), and if I try to configure my audio/video in parameters, I can see them. Debian 10.5 1.0-1050-1 jicofo 1.0.6644-1 jitsi-meet-prosody 1.0.7531-1 jitsi-meet-turnserver 1.0.7531-1 jitsi-meet-web 1.0.7531-1 jitsi-meet-web-config 2.3-44-g8983b1 jitsi-videobridge2 0.11.2-1+deb10 prosody

Thanks for your help !

julian70400 avatar Sep 22 '23 17:09 julian70400

Do you have the prejoin page enabled?

saghul avatar Sep 22 '23 17:09 saghul

Yes, and now, I rollback the only test I did (modifying /etc/prosody/conf.avail/videoconference.mydomain.cfg.lua and rollback with the old file, sure of this) but no more user are reconnized.. I do not understand.. I tryed to create a new user, when I try to connect to it, I am directly disconnected.

julian70400 avatar Sep 22 '23 17:09 julian70400

Not sure what you mean about the prosody config here.

saghul avatar Sep 22 '23 18:09 saghul