corona-warn-app / cwa-app-ios

Native iOS app using the exposure notification framework from Apple. The CWA development ends on May 31, 2023. You still can warn other users until April 30, 2023. More information:
https://coronawarn.app/en/faq/#ramp_down
Apache License 2.0
1.68k stars 286 forks source link

PCR test QR codes with uppercase LOCALHOST still can’t be scanned #3764

Closed tyrann0us closed 2 years ago

tyrann0us commented 2 years ago

Technical details

Describe the bug

PCR test forms that use uppercase HTTPS://LOCALHOST/?[…] in the QR code can’t be scanned with the app. Error message is “Fehler Der QR-Code wird nicht in der Corona-Warn-App unterstützt. Bitte scannen Sie einen geeigneten QR-Code.”

7FC053FD-62C5-435D-8BF2-C0E4701A8876

Steps to reproduce the issue

5A8C7688-46E3-427B-A240-848C0412F999

  1. Use the first of the above PCR test forms and try to scan it with the app
  2. See mentioned error
  3. Validate that the URL protocol and hostname are uppercase
  4. Compare with second QR code which works

Expected behaviour

The app accepts the QR code.

Possible Fix

Lowercase protocol and hostname before processing the URL.

Workaround

  1. Manually lowercase protocol and hostname
  2. Create QR code from the URL
  3. Save as file
  4. Import it in the app via the file importer

Additional context

I got the form with the faulty QR code from my kid’s pediatrician. According to her, the forms used to work in the past but she had no cases lately. The working form I received from my family doctor.

Notes

I know that similar reports have been filed in the past. However, I believe this is a relatively major issue because it is still open and prevents people without technical background to import their tests into the app. And in the worst case they therefore know about their test result later than necessary (or not at all). So I decided to open a separate issue. The existing ones are either closed, mention a different error message, are in the Android repository or are extraordinary long. I apologize if this is a duplicate.

Both tests are positive BTW. 🤒


Internal Tracking ID: EXPOSUREAPP-10237

thomasaugsten commented 2 years ago

The guideline of the Kassenärztliche Bundesvereinigung are very strict regarding the format of the QR-Code and every creator of the Form 10c has to follow this guideline. ~Please inform the creator of the form to correct this error.~

tyrann0us commented 2 years ago

Thanks for your quick response.

Please inform the creator of the form to correct this error.

I have no idea who the creator of that form is and even if I wanted, I’m pretty sure I wouldn’t be able to find it out.

Maybe it’s just me but shouldn’t the app take into account „wrong” QR codes? Because fixing the codes for future printouts doesn’t help people that already received a faulty one.

Thanks!

thomasaugsten commented 2 years ago

The creator in the most case is the person which handover you this form. This was already discussed but all parties has to follow the KBV guidelines

Ein-Tim commented 2 years ago

FYI: Here's a Twitter user who also has such a QR code: https://twitter.com/die_dila/status/1453376494403719170?s=21

IHMO the app should accept these codes and just make the uppercase letters lowercase.

Ein-Tim commented 2 years ago

@thomasaugsten Would it be very difficult to implement a fix for this? If not, I strongly suggest to implement one. You have to keep in mind that an average user will stop their efforts when they see the error message and they will be disappointed from the app and not from the issuer of the QR code.

thomasaugsten commented 2 years ago

I double check this and this could be also a newly introduced bug with the universal QR-Code. We looking into this

Ein-Tim commented 2 years ago

@thomasaugsten Thank you!

dsarkar commented 2 years ago

@tyrann0us @Ein-Tim FYI PR https://github.com/corona-warn-app/cwa-app-ios/pull/3765

tyrann0us commented 2 years ago

I can confirm that version 2.13.1 (0) fixes the issue. The app now accepts the faulty QR code.

Thanks for fixing this so quickly! ❤️