Camera fails when Chrome’s “Block third-party cookies” is enabled.
I have allow third party cookies on a website to make a video recording on that particular website.
I can allow 3rd party cookies for screenity.io but not for every website where I record.
What's the fix?
Thanks for flagging this. I’ve been digging into it and found the root cause.
When Chrome’s “Block third-party cookies” setting is enabled, it treats iframes as separate origins, even if they come from the same chrome-extension:// source. Screenity uses one iframe to request camera and microphone permissions and list available devices, and another iframe for displaying the actual camera stream. The selected device ID from the permissions iframe is passed to the camera iframe, but because of the origin isolation, that iframe sees a different set of device IDs. As a result, trying to get a stream using the original ID fails.
I’m exploring a workaround, possibly by matching devices based on their label, which appears to stay consistent across frames. Another option is to merge the permissions and camera logic into a single iframe, but that’s a bit tricky. Right now, the camera iframe is tied to the draggable camera bubble UI (with its controls and resizable frame), and that only appears if the user enables the camera. For users who just want to record audio, I still need to request permissions and list devices, so decoupling that logic cleanly is a bit of a challenge.
For now, unfortunately, there’s no user-side workaround aside from allowing third-party cookies for the site where you’re recording. I’ll keep investigating a more robust fix.