Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

QR Scan will not work with some logos inside of a Frame QR #470

Open
An-anonymous-coder opened this issue Sep 7, 2024 · 9 comments
Open

Comments

@An-anonymous-coder
Copy link

An-anonymous-coder commented Sep 7, 2024

I noticed that GrapheneOS handles stylized QR codes very well, but some logos (such as the Target logo) break the QR code reader. Here is a demonstration of the same QR code with and without a logo:
with_logo
without_logo

The second one scans just fine, whereas the first one will refuse to scan.

This bug is present in version 74.

P.S. This is fixable, as the iOS camera is able to scan both. Good luck!

@MHShetty
Copy link
Member

MHShetty commented Sep 12, 2024

The library we are using to support various barcode formats isn't accepting issues for certain type of barcode formats not getting scanned unfortunately. Switching to another library could be done, but it could lead to more issues such as missing formats from what we currently offer and other edge cases not being covered that the library we use covers

@An-anonymous-coder
Copy link
Author

The library we are using to support various barcode formats isn't accepting issues for certain type of barcode formats not getting scanned unfortunately. Switching to another library could be done, but it could lead to more issues such as missing formats from what we currently offer and other edge cases not being covered that the library we use covers

Maybe have a transition where formats supported by the new library are implemented and formats not supported fallback to the old library? This could also be a setting such as "Use legacy scanner"

@MHShetty
Copy link
Member

We currently already scan for normal and inverted bar codes, so scanning for two libraries in the same way would drop the speed of the scanner further. Having two separate scanner would complicate the code and UI, keeping it simple would be better. Do you have any specific barcode scanning libraries in mind?

@An-anonymous-coder
Copy link
Author

Do you have any specific barcode scanning libraries in mind?

No, unfortunately.

@MHShetty
Copy link
Member

I'm currently aware of zxing (the one we're currently using) and ZBar. Will need to look into this to figure out if it's worth migrating to another barcode scan library. We're currently working on migrating different parts of our camera app to Jetpack Compose, so we might only be able to look into this once that gets completed.

Will notify you via this thread for further updates, thanks for your valuable time and help!

@An-anonymous-coder
Copy link
Author

An-anonymous-coder commented Sep 12, 2024

I'm currently aware of zxing (the one we're currently using) and ZBar. Will need to look into this to figure out if it's worth migrating to another barcode scan library. We're currently working on migrating different parts of our camera app to Jetpack Compose, so we might only be able to look into this once that gets completed.

Will notify you via this thread for further updates, thanks for your valuable time and help!

Just found this which scanned the QR code listed here, which is weird since it's the same library (ZXing)

@MHShetty
Copy link
Member

Just found this which scanned the QR code listed here, which is weird since it's the same library (ZXing)

It seems to be using a CPP port of the zxing library internally

@An-anonymous-coder
Copy link
Author

It seems to be using a CPP port of the zxing library internally

Could the GrapheneOS camera do the same?

@MHShetty
Copy link
Member

Could the GrapheneOS camera do the same?

Yes, but it would need testing and debugging in case of issues that arise to ensure nothing else breaks in the process and re-implementing a lot of things, just to support a specific edge case (i.e. scanning qr codes with circle target, whereas fancy QRs are mostly still supported by the app).

Compared to the efforts that would be needed v/s what we would be providing to the users, resolving this issue might not be the top priority at the moment, but will be looked into once other issue/ongoing work with higher priority get addressed.

We'll surely notify you whenever we get back to working on this issue or have something to discuss or share.

Thanks a lot for your valuable time and feedback!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants