The previous approach used setTimeout to re-trigger the file input after each capture, which iOS Safari blocks because it loses the user gesture context. Now uses getUserMedia for a fullscreen camera viewfinder that stays open between shots. Shutter button captures frames from the video stream, saves to IndexedDB, and the camera remains open until the user taps close. Includes flash feedback, session counter, and camera flip. Falls back to single-shot file input if getUserMedia is unavailable. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
15 KiB
15 KiB