Dynamsoft / capture-vision-react-native-samples

Dynamsoft Capture Vision React-Native SDK Samples
https://www.dynamsoft.com/capture-vision/docs/introduction/
Other
15 stars 7 forks source link

DCVCameraView will get stuck after multiple times of render #43

Closed ysuobunnings closed 2 months ago

ysuobunnings commented 3 months ago

Hi Dynamsoft Team,

 We are currently experiencing App stuck while using "dynamsoft-capture-vision-react-native": "^1.1.11", upgrade to 1.1.12 will not resolve the issue.

Environment for our App:

React-native: 0.73.6 or 0.72.9(another project that also have same issue) Node: 18.19.1

Issue description:

  Our project is react-native based and uses DCVCameraView in our component. The stuck issue will appear when you have rendered the DCVCameraView around 15 Times. If you repeat the process of opening the scanner then scanning a barcode, navigating to another screen, returning to the home page, and restarting the scanner component which contains the DCVCameraView component, you may see stuck by chance. Sometimes happens when you open on your second try, and sometimes after 20 times attempts.   To lock the cause of the stuck, we tried to trim the hooks that caused re-rendering but still happened. I checked DCVBarcodeReader initialise process, and everything follows the instructions and DCVBarcodeReader.initLicense has only been called for 1 time. To get rid of all the other possible reasons that cause the stuck, we set a button in our scanner screen and only render a pure DCVCameraView with a simple style. we wait for all hooks and re-render to be finished and also for the reader to be initialised and only then click the button and render DCVCameraView, App will still get stuck. so we think it’s time to raise an issue and see if the Dynamsoft team can help us dig and investigate the root cause of it.   Here is the recording, looks like it get stuck when the camera is about to turn on.

another project also has the same issue, the scanner page will get stuck after multiple times of render. @ysuobunnings @siyang-bunnings

feel free to reach me if it's better to resolve the question through email

Dynamsoft-Henry commented 3 months ago

Hi @ysuobunnings We might need some further information to solve this issue: 1) Is the issue on Android or iOS or both? 2) If you received any error message, please send us. 3) Can you provide us with your sample code or a simplified project to reproduce the issue? Or at least send us a screen record to help us to reproduce the stuck.

ysuobunnings commented 3 months ago

Hi @ysuobunnings We might need some further information to solve this issue:

  1. Is the issue on Android or iOS or both?
  2. If you received any error message, please send us.
  3. Can you provide us with your sample code or a simplified project to reproduce the issue? Or at least send us a screen record to help us to reproduce the stuck.

Thanks for your reply Henry, I've sent an email to the support team, have received the response from Claire and James, and provided more details in our conversation, please feel free to reach them for more details

Dynamsoft-Henry commented 2 months ago

Hi @ysuobunnings v1.1.13 was released. We fixed the bug in the new version. Please use the v1.1.13.

ysuobunnings commented 2 months ago

Hi @ysuobunnings v1.1.13 was released. We fixed the bug in the new version. Please use the v1.1.13.

Hi Henry, thanks for providing the new version, but when we try to test it, we have build issue for android in both local and pipeline. here are the error message: `Task :dynamsoft-capture-vision-react-native:compileDebugJavaWithJavac /bitrise/src/node_modules/dynamsoft-capture-vision-react-native/android/src/main/java/com/dynamsoft/reactlibrary/RNDCECameraView.java:82: error: cannot find symbol View btnTorch = findViewById(R.id.btn_torch); ^ symbol: variable id location: class R Note: Some input files use or override a deprecated API. Note: Recompile with -Xlint:deprecation for details. 1 error

Task :dynamsoft-capture-vision-react-native:compileDebugJavaWithJavac FAILED Task :datadog_mobile-react-native:compileDebugKotlin w: file:///bitrise/src/node_modules/@datadog/mobile-react-native/android/src/main/kotlin/com/datadog/reactnative/DdRumImplementation.kt:259:13 Name shadowed: value w: file:///bitrise/src/node_modules/@datadog/mobile-react-native/android/src/main/kotlin/com/datadog/reactnative/DdSdkImplementation.kt:168:13 Annotations on block-level expressions are being parsed differently depending on presence of a new line after them. Use new line if whole block-level expression must be annotated or wrap annotated expression in parentheses w: file:///bitrise/src/node_modules/@datadog/mobile-react-native/android/src/main/kotlin/com/datadog/reactnative/DdSdkImplementation.kt:168:59 'versionCode: Int' is deprecated. Deprecated in Java w: file:///bitrise/src/node_modules/@datadog/mobile-react-native/android/src/main/kotlin/com/datadog/reactnative/DdSdkImplementation.kt:438:13 Name shadowed: uploadFrequency w: file:///bitrise/src/node_modules/@datadog/mobile-react-native/android/src/main/kotlin/com/datadog/reactnative/DdSdkReactNativePackage.kt:38:17 'constructor ReactModuleInfo(String!, String!, Boolean, Boolean, Boolean, Boolean, Boolean)' is deprecated. Deprecated in Java FAILURE: Build failed with an exception.

  • What went wrong: Execution failed for task ':dynamsoft-capture-vision-react-native:compileDebugJavaWithJavac'.`

did you team test the new version for android, or maybe the new version is not work for RN 0.73?

ysuobunnings commented 2 months ago

here is the error from my local: `/node_modules/dynamsoft-capture-vision-react-native/android/src/main/java/com/dynamsoft/reactlibrary/RNDCECameraView.java:82: error: cannot find symbol View btnTorch = findViewById(R.id.btn_torch); ^ symbol: variable id location: class R Note: Some input files use or override a deprecated API. Note: Recompile with -Xlint:deprecation for details. 1 error

FAILURE: Build failed with an exception.`

Dynamsoft-Henry commented 2 months ago

We are looking at it right now. Will let you know when it is resolved.

Dynamsoft-Henry commented 2 months ago

Hi @ysuobunnings A new version 1.1.14 is released to resolve the above issue.

ysuobunnings commented 2 months ago

Hi @ysuobunnings A new version 1.1.14 is released to resolve the above issue.

Thanks mate, let me try it

ysuobunnings commented 2 months ago

@Dynamsoft-Henry tested from our side, works well for both iOS and android 👍 let's close the issue as complete