"3 of 2" booster certificates not considered complete
See original GitHub issueAvoid duplicates
- Bug is not mentioned in the FAQ
- Bug is not already reported in another issue
Technical details
- OS version: Android 11
- App version: 1.13.3
Describe the bug
Vaccines certifications which have a total dose number lower than dose number (“3 of 2”) are not marked as complete. If there is a “series completing” vaccine certificate added (“2 of 2”), it is used instead.
Steps to reproduce the issue
- Scan a vaccine certificate that has a higher dose count than total dose count (“3 of 2”)
- Optionally scan one that has same dose count as total dose count (“2 of 2”)
-
- If this optional step is done: Observe that preferred vaccine certificate is the “2 of 2” one.
- Tap “Display certificates”, scroll to the vaccine certificate list.
- Observe that the “3 of 2” certificate is considered incomplete.
Expected behaviour
The “3 of 2” booster certificate should be used.
Possible Fix
diff --git a/covpass-sdk/src/main/java/de/rki/covpass/sdk/cert/models/Vaccination.kt b/covpass-sdk/src/main/java/de/rki/covpass/sdk/cert/models/Vaccination.kt
index 1dde7773..ac01f8d3 100644
--- a/covpass-sdk/src/main/java/de/rki/covpass/sdk/cert/models/Vaccination.kt
+++ b/covpass-sdk/src/main/java/de/rki/covpass/sdk/cert/models/Vaccination.kt
@@ -48,10 +48,10 @@ public data class Vaccination(
override val id: String = "",
) : DGCEntry {
public val isComplete: Boolean
- get() = doseNumber == totalSerialDoses
+ get() = doseNumber >= totalSerialDoses
public val isCompleteSingleDose: Boolean
- get() = doseNumber == 1 && totalSerialDoses == 1
+ get() = doseNumber >= 1 && totalSerialDoses == 1
public val isBooster: Boolean
get() = (isComplete && doseNumber > 2) || (isComplete && product == JANSSEN && doseNumber == 2)
This resolves the problem:
Additional context
This may also affect CovPass on iOS, but I couldn’t try it out. As pointed out in https://github.com/Digitaler-Impfnachweis/covpass-android/issues/159#issuecomment-1003745088, iOS is not affected, and already has the expected behavior.
I’m not sure if this is more appropriate as a bug report or as a feature request, but in general I am worried that this behavior might lead to me accidentally presenting the wrong vaccine certificate in situations that require me to present my vaccine certificate, or lead to people think that I’m not fully vaccinated when I actually am by having it say that I am in fact not fully vaccinated.
While this is off-specs and should be fixed by issuers, some countries such as Turkey actively issue booster certificates in this way and do not provide an easy way to contact to report such issues. If I’m missing something there, please feel to point out, as I’d like to also contact them about this issuance issue.
German residents that get vaccinated in countries such as Turkey may be affected by this unless they get their vaccine certificates reissued in Germany.
I have a similar issue open on corona-warn-app: https://github.com/corona-warn-app/cwa-documentation/issues/794
Issue Analytics
- State:
- Created 2 years ago
- Comments:8 (3 by maintainers)
Top GitHub Comments
Heyo, can confirm that this is fixed now. Thanks a lot to everyone who worked on this. I will be closing the issue now.
Hey everyone! We are working on the needed adjustments of the CovPass so that we accept 2/1, 3/1 etc. Please bear with us for more information. we will keep you updated about release details asap.
Thank you everyone!