When running the iOS app on Mac Apple Silicon, the barcode scanner can fail to scan all parts of the UR code. This happens with a 4-part UR code, one of the parts fails to register.
Root cause:
|
if (urCodes.contains(barcode.rawValue)) return; |
Here, the function returns instead of continues the loop, if a part is found to already be in the list. But it should check the other parts in the array.
I think this is the right fix, because in cake_wallet:
https://github.com/cake-tech/cake_wallet/blob/7ab7c8709b2c20b6ac3790fd75c59104a02fe081/lib/entities/qr_scanner.dart#L72
it does a 'continue' if the part has already been seen.
When running the iOS app on Mac Apple Silicon, the barcode scanner can fail to scan all parts of the UR code. This happens with a 4-part UR code, one of the parts fails to register.
Root cause:
cupcake/lib/view_model/barcode_scanner_view_model.dart
Line 48 in 41fe491
Here, the function returns instead of continues the loop, if a part is found to already be in the list. But it should check the other parts in the array.
I think this is the right fix, because in cake_wallet:
https://github.com/cake-tech/cake_wallet/blob/7ab7c8709b2c20b6ac3790fd75c59104a02fe081/lib/entities/qr_scanner.dart#L72
it does a 'continue' if the part has already been seen.