I use Jitsi meet in iframe to create a video chat with a custom page layout. It requests browser permissions for using microphone and camera on the first use, just like any other application with video chatting. There is problem with Safari though: for the video to start working, it requests user permissions every time user refreshes the page, which results in a very bad user experience. I tried to clarify if there is some kind of workaround on a Jitsi community forums, but it seems like there is no known way to overcome this, as this is a by-design Safari behavior:
It’s not really an issue per se, it’s just the way Safari operates with set preferences. If you don’t want to have to explicitly authorize use of mic and cam in Safari, you can change that option in your Safari Preferences.
I hope there might be a clever approach how to resolve this programmatically by storing the user preference somehow so users will have to confirm the permission only once. Any ideas?
It seems there's no way to programatically set a flag/property/attribute to allow a website to access to mic & cam in Safari.
According to this answer the user on iOS 13 now has the ability to set it for a particular webpage via the accesibility menu (aA button) and for desktop, this option must be defined in the Safari preferences.