674fe9d1e2
useCameraDevices fetches once on mount. First-run flow grants the camera permission after the viewfinder mounted, so the device list stays empty until remount/restart and the UI shows 'Camera not available on this device'. Poll Camera.getAvailableCameraDevices() for up to 6s after permission is granted and prefer the found device.