This is a very brief post as I wasted literally hours of this (mostly running in circles) which turned out to be simply trivial. I hope that maybe it might help some lost soul someday.

The problem

You are using self-hosted jitsi and Chrome 116+ refuses to ask the user for camera/microphone permissions.

The reason

Jitsi up-to-moment-of-writing this uses deprecated iframe permissions. That will be painful if you’re embedding jitsi under a different subdomain for example. If you look into it’s source you will find:

this._frame.allow="camera; microphone; display-capture; autoplay; clipboard-write; hid; screen-wake-lock"

The solution

I don’t have a good one, you can copy-paste the whole external_api.js under a <script> tag and just modify the offensive line accordingly. Something like this should do it:

this._frame.allow="camera *; microphone *; display-capture *; autoplay *; clipboard-write *; hid *; screen-wake-lock *"

You might want to tweak * to something more specific.