All checks were successful
Demo images / Build & push demo images (push) Successful in 2m55s
Two gaps kept the wallet QR scanner camera-less outside a desktop browser: - Companion app: the WebView's default WebChromeClient silently denies getUserMedia. Both WebViews (main + in-app overlay) now implement onPermissionRequest — granting video capture only, requesting the app-level CAMERA permission on first use (manifest already declares it). - Plain-http origins (mobile web/PWA on a LAN node): browsers hide navigator.mediaDevices entirely, no permission can bring it back. New "Take photo of QR" fallback uses <input capture=environment> — the native camera needs no secure context — and decodes the shot locally with qr-scanner's scanImage. Live preview still used when available. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>