jitsi / jitsi-meet

Jitsi Meet - Secure, Simple and Scalable Video Conferences that you use as a standalone app or embed in your web application.
https://jitsi.org/meet
Apache License 2.0
21.89k stars 6.54k forks source link

Chrome: Permission prompts missing in web if desktop deeplinking is enabled, but not used #14737

Open csett86 opened 2 weeks ago

csett86 commented 2 weeks ago

Description:

On Chrome 124, if the desktop deeplinking is enabled and the person nontheless joins via Web, no camera or microphone prompts appear and the person is stuck for one minute at the "Select allow when your browser asks for permissions", but the browser never asks. After one minute the GUM times out and one is on the prejoin screen, but unable to activate microphone or camera, also there no permission prompts appear.

On Firefox 125 it works as expected, permission prompts appear.

Steps to reproduce:

  1. Join a conference with desktop deeplinking enabled, eg https://alpha.jitsi.net/WoodenInfosAnnoyWildly?lang=en#config.deeplinking.desktop.enabled=true
  2. Reject the app launch (if the app is installed)
  3. Click on "Launch in web"
  4. Observe being stuck at "Select allow when your browser asks for permissions"
  5. Wait 60 seconds
  6. Get to prejoin screen, camera and microphone not working, not being able to enable them

Expected behavior:

Permission prompts should appear from Chrome at step 4

Actual behavior:

Validated that permissions for alpha.jitsi.net are set to prompting:

Bildschirmfoto 2024-05-12 um 22 18 51

No permission prompts at step 4.

Bildschirmfoto 2024-05-12 um 22 13 49

No permission prompts at step 6.

Bildschirmfoto 2024-05-12 um 22 17 18

Server information:

Client information:

Additional information:

Browser logs from Chrome, the error at the end is after step 5, so after the 60 seconds timeout: https://gist.github.com/csett86/f3ac30a06c2d584165e079d41db160a4

Works in Chrome 124 without deeplinking, eg with https://alpha.jitsi.net/WoodenInfosAnnoyWildly?lang=en#config.deeplinking.desktop.enabled=false

Browser logs without deeplinking, for comparison: https://gist.github.com/csett86/0ffc57f126e0c833faab65fa99cbc181

Works fine with and without deeplinking in Firefox 125, macOS

saghul commented 2 weeks ago

Does this happen on meet.jit.si or just on alpha?

csett86 commented 2 weeks ago

It happens as well on current stable, if desktop deeplinking is enabled on the specific config.js

On meet.jit.si I cannot trigger it yet, as desktop deeplinking is not configured and the config override whitelisting for that is not yet deployed.

saghul commented 2 weeks ago

Hum, I am unable to reproduce on Chrome Beta: Version 125.0.6422.41 (Official Build) beta (arm64)

csett86 commented 2 weeks ago

I can also reproduce it with Chrome Beta: Version 125.0.6422.41 (Offizieller Build) beta (x86_64)

Error log looks very similar: https://gist.github.com/csett86/98960cc376f7149bd43b630ac6f554cb

Note: Its not reproducible if you already have permanently granted alpha.jitsi.net camera and microphone permissions, as then no permission prompt is required. To be sure, reset the permissions for alpha.jitsi.net or try in Incognito Mode in Chrome.

saghul commented 2 weeks ago

Ah, I missed the last part. I'll test again.