Description
We have a Zoom integration in our React App using an iFrame, getting scripts from CDN, and using Client view.
Everything works fine on Desktop browsers and Android, but on iOS Safari Video is not working (camera cannot be activated, and permission is never prompted).
Which Web Meeting SDK version?
2.12.2
Smartphone (please complete the following information):
Device: iPhone 6s
OS: iOS 14.4.1
Additional context
We get the following errors in console:
Unhandled Promise Rejection: AbortError: The operation was aborted. (native code)
Unhandled Promise Rejection: TypeError: self.crypto.randomUUID is not a function. (In ‘self.crypto.randomUUID()’, ‘self.crypto.randomUUID’ is undefined) (from zoom-meeting-2.12.2.min.js)
Error when trying to check for local RTC peer connection: TypeError: n.addStream is not a function. (In ‘n.addStream(h)’, ‘n.addStream’ is undefined) (from /lib/av/1502_js_media.min.js)
Error when trying to determine support for VP9 codec: TypeError: Type error (from /lib/av/1502_js_media.min.js)
It’s still not working, we now have a permission prompt for using microphone and camera but then, nothing is displayed.
It seems that the camera preview and join button are in the DOM but not visible on screen due to the size of the div #content_container wich size is 1100px.
We do not have this behavior anywhere else (Windows/Android/Mac), only on iPhone.
We also have those errors in console:
Unhandled Promise Rejection: NotAllowedError: The request is not allowed by the user agent or the platform in the current context, possibly because the user denied permission. (native code)
On Desktop I have a link to join from browser, but not on iOS… And when I click on Start Meeting it says “Safari cannot open the page because the address is invalid.” (actual sentence is in french “Safari ne peut pas ouvrir la page car l’adresse n’est pas valide.”).
But I don’t think that is the actual issue.
As I said, I think it’s an UX one, here is the DOM part that seems odd:
We can see that the div #content_container has a width of 1100px, which make the preview video and join button appear on the right of the screen, thus not visible to the user.
I don’t understand why the SDK compute this size so wide. I have this behavior only on iOS…
On other Windows or Android devices, there is the same style but content_container div size is well computed.
I have no idea why it’s not the same behavior on iOS…