zxing-js / library

Multi-format 1D/2D barcode image processing library, usable in JavaScript ecosystem.
https://zxing-js.github.io/library/
Apache License 2.0
2.47k stars 546 forks source link

mendix TS MultiFormatScanner widget error #377

Open robgBY opened 3 years ago

robgBY commented 3 years ago

Hope this is the right place to post this! This modules saves my life as there is nothing else out there to get barcode scanning into a Mendix responsive app!

Describe the bug When using the example from the TS MultiFormatScanner widget in Mendix, the module "works" in that it produces a barcode string, but just before the autoput, it also shows an error message popup: "An error occurred while executing the Nanoflow: Cannot convert undefined or null to object".

To Reproduce Steps to reproduce the behavior: Use Mendix 8.15

  1. Create an empty app
  2. install the TS MultiFormatScanner widget
  3. Use the enclosed example barcode page
  4. Observe the error

Expected behavior It is expected not to see the error popup. Even with the error popup, the scanned barcode string is returned correctly. Obviously, the error popup is annoying as it needs to be clicked manually to make it disappear.

Screenshots If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

Smartphone (please complete the following information):

Additional context This happens with or even without an action (event) on barcode scan is implemented. have also implemented the feature with own page and microflows: same reult. Even is I don't use the sample nanoflow, the error persists.

odahcam commented 3 years ago

Do you have a stack trace or something that you can share?

robgBY commented 3 years ago

hi @odahcam , as I am working in Mendix, I wouldn't know where to get a stack trace. Can you direct me?

odahcam commented 3 years ago

Actually I can't 😆. I never heard of this tool before. It would be impractible for me to try to create and reproduce your error so I need you to help me help you, hehe, and that means providing some actual data or info for me to start digging into.

robgBY commented 3 years ago

@odahcam got it. It seems someone used your code and implemented it in Mendix. (Mendix is a low-code platform) Their documentation points to your repo 😄 There is a reason I'm using low code 😉 I'll try to get some error logging for you. However, I think it might be an integration thing, rather than something in your code. When i think about it: the barcode module normally return an object of a self defined type. Within this object there is a string that holds the barcode result. My guess is that your module sometimes returns something else, that cannot be stored in an "object" or in a "string", so it produces this error. As I don't know how yor code is implemented in Mendix, I guess I have to find the person who did it...

odahcam commented 3 years ago

Unfortunatelly, when the code doesn't find anything it throws an NotFoundException.

robgBY commented 3 years ago

@odahcam Would it be an idea to have this exception as an optional "setting"?

odahcam commented 3 years ago

Would be a good idea. Sorry for that, that Exception throwing came from the Java version and just doesn't fits well in a JavaScript world. Also, are you using PDF417 reader? If so, this could be related to #318.

robgBY commented 3 years ago

@odahcam I don't think it is the PDF417, but I honestly don't know. As it is a "widget", the code is hidden. If it helps, the widget description is her: https://appstore.home.mendix.com/link/app/116254/

odahcam commented 3 years ago

This is so crazy how this project got big, hehe. Maybe the best option is to contact the "widget" developers and link them this issue so we can try to help them solve this.