josh d7da7afe5e
Build and push image / build (push) Successful in 1m20s
Fix iOS camera: direct getUserMedia in gesture handler, detect insecure context
Two root causes for "camera access denied" without a permission prompt:

1. iOS Safari blocks getUserMedia on non-localhost HTTP origins entirely —
   no prompt, silent denial. Now detects window.isSecureContext and shows
   "HTTPS required" instead of the cryptic error.

2. html5-qrcode does async DOM work (creating video elements, styling)
   between the user tap and the actual getUserMedia call, which breaks
   iOS Safari's transient user activation window. Now calls
   navigator.mediaDevices.getUserMedia() directly in the tap handler to
   trigger the permission prompt while the gesture is still active, then
   stops that stream and lets html5-qrcode reuse the granted permission.

Also improved error messages for denied permissions with guidance on
how to fix it in browser settings.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-06 11:34:09 -04:00
2026-05-03 20:19:26 -04:00
S
Description
No description provided
1.3 MiB
Languages
TypeScript 98%
CSS 1.6%
Dockerfile 0.2%
HTML 0.2%