Skip to content

🐛 Navigating away on React Native 0.78+, XCode 26, and React Native Vision Camera v4.7.1 freezes the app #3636

@daniel112

Description

@daniel112

What's happening?

I've noticed an odd bug where when I build the app with:

  • Xcode 26
  • React Native 0.78+
  • React Navigation 7.x+
  • React Native Vision Camera v4.7.1
  • CodeScanner property passed in
  • Isolated on a straightforward app

Running on a real device, when navigating away, the app freezes for 5+ seconds, either on navigation or after navigating away.

Some notable things:

  • CodeScanner property being passed in, this is reproducible 10/10 times, and freezes 5+ seconds
  • CodeScanner property NOT passed in, this is reproducible 5/10 times, but the freezing is < 2 seconds
  • When the Vision Camera is not rendered, the freeze does not occur

Video Demo

Can you reproduce this issue in the VisionCamera Example app?

UPDATE: I have tested with react navigation 6, and it is still freezing. so it may be related to the react-native version + Xcode 26

No, because the example app is using react native 75 and react navigation 6

Reproduceable Code

https://github.com/daniel112/react-native-vision-freeze-demo

Relevant log output

there are no obvious signs or useful output logs on XCode, but

10:08:59.988: [info] 📸 VisionCamera.configureOutputOrientation(_:): Updating Outputs rotation: portrait...
10:08:59.988: [info] 📸 VisionCamera.configureOutputs(configuration:): Successfully configured all outputs!
10:08:59.988: [info] 📸 VisionCamera.setTargetOutputOrientation(_:): Setting target output orientation from device to device...
10:09:00.382: [info] 📸 VisionCamera.init(frame:session:): Preview Layer started previewing.
10:09:00.383: [info] 📸 VisionCamera.configure(_:): Beginning AudioSession configuration...
10:09:00.383: [info] 📸 VisionCamera.configureAudioSession(configuration:): Configuring Audio Session...
10:09:00.384: [info] 📸 VisionCamera.configure(_:): Committed AudioSession configuration!
10:09:00.384: [info] 📸 VisionCamera.configure(_:): Beginning Location Output configuration...
10:09:00.385: [info] 📸 VisionCamera.configure(_:): Finished Location Output configuration!

Camera Device

{
  "maxZoom": 123.75,
  "minExposure": -8,
  "supportsRawCapture": false,
  "name": "Back Dual Wide Camera",
  "position": "back",
  "isMultiCam": true,
  "supportsFocus": true,
  "minZoom": 1,
  "hasTorch": true,
  "sensorOrientation": "portrait",
  "hasFlash": true,
  "supportsLowLightBoost": false,
  "id": "com.apple.avfoundation.avcapturedevice.built-in_video:6",
  "neutralZoom": 2,
  "minFocusDistance": 2,
  "maxExposure": 8,
  "physicalDevices": [
    "ultra-wide-angle-camera",
    "wide-angle-camera"
  ],
  "hardwareLevel": "full",
  "formats": []
}

Device

iPhone 16 (26.0)

VisionCamera Version

4.7.2

Can you reproduce this issue in the VisionCamera Example app?

No, I cannot reproduce the issue in the Example app

Additional information

Metadata

Metadata

Assignees

No one assigned

    Labels

    🐛 bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions