Files
Admin b32df04ab9 [fix](client): scan QR codes with MLKit's barcode output, not the iOS-only object output
Tapping "Scan a QR code" crashed the app on Android:

    com.facebook.react.common.JavascriptException: Error:
    CameraFactory.createObjectOutput(...): java.lang.Error:
    CameraObjectOutput is not available on Android!

`useObjectOutput` is Apple Vision only — the comment claiming v5 ships a
cross-platform code scanner in core was wrong, and the native factory throws as
soon as the screen mounts. The Barcode Scanner output is the cross-platform one
(MLKit on Android, Vision on iOS); it is attached to the same `<Camera>` via
`outputs`, scans `qr-code` only, and keeps the hand-paste fallback. The scan
callback now takes the barcode values directly instead of the object-output
shape.
2026-10-19 15:18:31 +01:00

67 lines
2.1 KiB
JSON

{
"name": "com.dcntrlized.alarm",
"version": "0.0.1",
"private": true,
"scripts": {
"android": "bash scripts/android.sh",
"ios": "react-native run-ios",
"lint": "eslint .",
"start": "react-native start --port 8089",
"test": "jest"
},
"dependencies": {
"@react-native-async-storage/async-storage": "^3.1.1",
"@react-native-clipboard/clipboard": "1.16.3",
"@react-native-masked-view/masked-view": "0.3.2",
"@react-native/new-app-screen": "0.86.2",
"@react-navigation/native": "^7",
"@react-navigation/native-stack": "^7",
"clsx": "^2.1.1",
"heroui-native": "^1.0.8",
"lucide-react-native": "^1.31.0",
"qrcode": "1.5.4",
"react": "19.2.3",
"react-native": "0.86.2",
"react-native-gesture-handler": "~2.32.0",
"react-native-haptic-feedback": "2.3.3",
"react-native-nitro-image": "^0.15.2",
"react-native-nitro-modules": "^0.37.1",
"react-native-reanimated": "4.5.0",
"react-native-safe-area-context": "~5.8.0",
"react-native-screens": "4.25.2",
"react-native-svg": "15.15.5",
"react-native-vision-camera": "5.2.3",
"react-native-vision-camera-barcode-scanner": "5.2.3",
"react-native-worklets": "0.10.0",
"tailwind-merge": "^3.6.0",
"tailwind-variants": "^3.3.1",
"tailwindcss": "^4.3.3",
"uniwind": "^1.10.1"
},
"devDependencies": {
"@babel/core": "^7.25.2",
"@babel/preset-env": "^7.25.3",
"@babel/runtime": "^7.25.0",
"@react-native-community/cli": "20.1.0",
"@react-native-community/cli-platform-android": "20.1.0",
"@react-native-community/cli-platform-ios": "20.1.0",
"@react-native/babel-preset": "0.86.2",
"@react-native/eslint-config": "0.86.2",
"@react-native/jest-preset": "0.86.2",
"@react-native/metro-config": "0.86.2",
"@react-native/typescript-config": "0.86.2",
"@types/jest": "^29.5.13",
"@types/react": "^19.2.0",
"@types/react-test-renderer": "^19.1.0",
"eslint": "^8.19.0",
"jest": "^29.6.3",
"prettier": "2.8.8",
"react-test-renderer": "19.2.3",
"typescript": "^5.8.3"
},
"engines": {
"node": ">= 22.11.0"
},
"packageManager": "[email protected]"
}