event icon indicating copy to clipboard operation
event copied to clipboard

Replace react-native-vision-camera-kit which includes proprietary code

Open tomichec opened this issue 4 months ago • 4 comments

The library react-native-vision-camera-kit depends on google's library ML KIT which is proprietary. This causes not only security concerns, as it cannot be easily audited, but also lowers the users sovereignty.

Also it is incompatible with the used license AGPLv3 (unless additional permissions are included in accordance with term 7. of the license) as the corresponding source code of the google's ML KIT cannot be obtained.

It makes the Zeus app not fully free and open source which is in conflict with the claims on the homepage of the project.

Further, it presumably causes crashed for the users who do not link their device with a Google account: like in https://github.com/ZeusLN/zeus/issues/132 ; probably https://github.com/ZeusLN/zeus/issues/555 and also my case.

Do you have any suggestions on what could the replacement be? What are the requirements of such library? This problem is quite spread, for instance BlueWallet, or blink-mobile.

Or are there any other suitable solutions? Like the formerly suggested option of external QR code reader.

tomichec avatar Aug 22 '25 12:08 tomichec

If you find a suitable replacement, let us know. I believe we used react-native-camera previously, which wasn't very performant and is not deprecated.

External QR code reader approach is not pragmatic. Don't think there's a way for us to do that at all on iOS.

kaloudis avatar Aug 22 '25 13:08 kaloudis

The react-native-camera has the dependence on the google's ML Kit as well. The same is the case for some other react libraries like the vision-camera-code-scanner, or the react-native-vision-camera .

From JavaScript libraries: I have found Quagga2 which provides also an example on using with React, but I'm not exactly sure if that would be usable within the app.

If the hybrid approach JS/Java could also be an option then the ZXing library might be a potential candidate, as it is part of other software with QR reader published on f-droid.

tomichec avatar Aug 23 '25 07:08 tomichec

Apparently, the Blue Wallet guys have a workaround for this

kaloudis avatar Dec 08 '25 05:12 kaloudis

What makes you think that? As far as I know it is still an issue ( https://github.com/BlueWallet/BlueWallet/issues/5047).

tomichec avatar Dec 08 '25 16:12 tomichec