cwa-documentation icon indicating copy to clipboard operation
cwa-documentation copied to clipboard

"Exposure check failed" without internet connection despite previous successful check

Open Ein-Tim opened this issue 4 years ago • 52 comments

Avoid duplicates

  • [X] Bug is not mentioned in the FAQ
  • [X] Bug is specific for iOS only, for general issues / questions that apply to iOS and Android please raise them in the documentation repository
  • [X] Bug is not already reported in another issue

Technical details

  • Device name: Not relevant
  • OS version: Not relevant
  • App version: Any since 2.0

Describe the bug

When offline, the Corona-Warn-App always shows the "Exposure check failed card", even if the last exposure check was successful.

https://user-images.githubusercontent.com/67682506/126082796-488b505e-ede9-4b71-b27b-b26cb2e5c428.mp4

Steps to reproduce the issue (iOS)

  1. Open the Corona-Warn-App with active internet connection
  2. Check in to an event
  3. Click on "Exposure Logging Active"
  4. Switch off internet
  5. Tap "Back"
  6. See that the CWA shows the "Exposure check failed" card
  7. Click on "Exposure Logging Active"
  8. Turn on internet
  9. Tap "Back
  10. See that the CWA shows the normal risk card again

Steps to reproduce the issue (Android)

  1. Open the CWA with active internet connection
  2. Check in to an event
  3. See the normal risk card
  4. Close the CWA completely
  5. Disconnect from the internet
  6. Open the CWA
  7. See the "Exposure Check Failed" card

Expected behaviour

The "Exposure check failed" card should only be shown if the exposure check really failed.


Internal Tracking-ID: EXPOSUREAPP-13383 Android Internal Tracking-ID: EXPOSUREAPP-8483 iOS Fixed 2.24

Ein-Tim avatar Jul 18 '21 21:07 Ein-Tim

@heinezen / @dsarkar

I see this as a high prio element, could we have this mirrored to JIRA so that it might be fixed in the next release?

Ein-Tim avatar Jul 19 '21 09:07 Ein-Tim

Important: This only happens when there are Check-Ins!

Ein-Tim avatar Jul 25 '21 10:07 Ein-Tim

@Ein-Tim Thanks for the info, it is forwarded to the internal ticket.

dsarkar avatar Jul 26 '21 08:07 dsarkar

@dsarkar

Thank you! Could you let us know which priority this has and if we can expect a fix in version 2.7, please?

Ein-Tim avatar Jul 26 '21 16:07 Ein-Tim

@Ein-Tim Currently this has medium priority and at this stage it is not yet clear, if the fix of this issue will make it into release 2.7.

dsarkar avatar Jul 26 '21 17:07 dsarkar

Important: This only happens when there are Check-Ins!

@Ein-Tim not sure.

This morning I saw the ticket and tried to reproduce the error message. Of course(?) I failed. Then I saw your comment and stopped trying.

I went to work and opened the app to add my collegues to my contact diary. And then I got the error message 🙈

Note that I don't have any check-ins; I have never used this feature. However, I had done a (PCR) test which is outdated meanwhile, but I didn't delete it... Note also that my last successfull risk check was at 08:51. I tested somewhere between ~09:30 and ~10:00. I got the error message at 10:17.

cwa 2.6.3 / iOS 14.4.1 / iPhone 8

IMG_1190

ndegendogo avatar Aug 10 '21 18:08 ndegendogo

@ndegendogo

Thanks for the information, this is really interesting!

Background of this note: I first saw this bug on my main device, an iPhone XR, when I had one Check-In. Then I tried to reproduce this on my second device without any Check-Ins and failed. After I did some testing I wanted to try if I could reproduce this issue if I created an event and checked-in. After I had checked-in, the second device showed the same behavior as my main device. So I thought that this has to be related...

Maybe you could test if this is related to the PCR test? I will do more testing on my second device and will let you know my results.

Ein-Tim avatar Aug 10 '21 23:08 Ein-Tim

@Ein-Tim I just got the deadman-notification!! First I didn't understand, but then I checked the ENF log - and indeed it shows no fresh check since my playing with this settings 😱😱 I'll open a separate ticket for this, but just wanted to let you know ...

ndegendogo avatar Aug 11 '21 18:08 ndegendogo

@Ein-Tim are you able to reproduce this, or does it happen rather randomly? Did you try to reproduce it while logging was active? Maybe this gives some insights?

ndegendogo avatar Aug 12 '21 08:08 ndegendogo

@ndegendogo

I didn't have time to try on my second device yet, but I'll definitely test this on my main device with active logging! Something's really off here 😅

Ein-Tim avatar Aug 12 '21 08:08 Ein-Tim

@ndegendogo

I did some additional testing and I am 100% sure that the bug I reported in the OP is related to the Check-ins, see this video as a proof:

https://user-images.githubusercontent.com/67682506/129496052-67d07b2f-6390-4934-879d-7bea42b5fdbd.MP4

As you can see, the Exposure check failed card is instantly shown when checking in to an event and after deleting the event, the normal risk card is shown again. There has to be a connection! I was not able to reproduce this behavior when adding a contact journal entry or scanning a DCC.


Error log (very long!)
Info 2021-08-15T23:42:53Z
[ENA/ELSService.swift:177] [startLogging()]
===== ELS logging active =====

Info 2021-08-15T23:42:53Z
[ENA/ELSService.swift:180] [startLogging()]
Release Build.

Info 2021-08-15T23:42:53Z
[ENA/ELSService.swift:191] [startLogging()]
Environment: prod

Info 2021-08-15T23:42:53Z
[ENA/ELSService.swift:194] [startLogging()]
CWA version number: Optional(ENA.Version(major: 2, minor: 6, patch: 3))

Info 2021-08-15T23:42:53Z
[ENA/ELSService.swift:195] [startLogging()]
iOS version number: Version(major: 15, minor: 0, patch: 0)

Info 2021-08-15T23:42:54Z
[ENA/RiskProvider.swift:98] [requestRisk(userInitiated:timeoutInterval:)]
RiskProvider: Request risk was called. UserInitiated: false

Info 2021-08-15T23:42:54Z
[ENA/RiskProvider.swift:491] [updateActivityState(_:)]
RiskProvider: Update activity state to: riskRequested

Debug 2021-08-15T23:42:54Z
[ENA/CachedAppConfiguration.swift:223] [shouldFetch()]
timestamp >= 300s? 331.831081032753 >= 300)

Debug 2021-08-15T23:42:54Z
[ENA/CachedAppConfiguration.swift:189] [appConfiguration(forceFetch:)]
fetching fresh app configuration. forceFetch: false, force: true

Debug 2021-08-15T23:42:54Z
[ENA/CachedAppConfiguration.swift:82] [getAppConfig(with:)]
Append promise.

Error 2021-08-15T23:42:54Z
[ENA/URLSession+Convenience.swift:62] [response(for:isFake:extraHeaders:completion:)]
No network connection

Info 2021-08-15T23:42:54Z
[ENA/CachedAppConfiguration.swift:146] [defaultFailureHandler()]
Providing cached app configuration

Debug 2021-08-15T23:42:54Z
[ENA/CachedAppConfiguration.swift:166] [resolvePromises(with:)]
resolvePromises count: 1.

Info 2021-08-15T23:42:54Z
[ENA/KeyPackageDownload.swift:98] [startHourPackagesDownload(completion:)]
KeyPackageDownload: Start processing hour packages.

Info 2021-08-15T23:42:54Z
[ENA/KeyPackageDownload.swift:146] [startDownloadAllCountryPackages(countryIds:downloadMode:completion:)]
KeyPackageDownload: Start processing hour key package with country id: EUR.

Debug 2021-08-15T23:42:54Z
[ENA/KeyPackageDownload.swift:448] [expectNewHourPackages(for:counrtyId:)]
KeyPackageDownload: hour packages lastHourDate: 2021-08-15 22:42:54 +0000

Debug 2021-08-15T23:42:54Z
[ENA/KeyPackageDownload.swift:454] [expectNewHourPackages(for:counrtyId:)]
KeyPackageDownload: hour packages lastHourKey: 22

Debug 2021-08-15T23:42:54Z
[ENA/KeyPackageDownload.swift:457] [expectNewHourPackages(for:counrtyId:)]
KeyPackageDownload: hour packages cachedKeyPackages: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22]

Info 2021-08-15T23:42:54Z
[ENA/KeyPackageDownload.swift:461] [expectNewHourPackages(for:counrtyId:)]
KeyPackageDownload: Check for last hour package. lastHourPackageExists: true

Info 2021-08-15T23:42:54Z
[ENA/KeyPackageDownload.swift:462] [expectNewHourPackages(for:counrtyId:)]
KeyPackageDownload: Check for success of last hour package download. store.wasRecentHourKeyDownloadSuccessful: true

Debug 2021-08-15T23:42:54Z
[ENA/KeyPackageDownload.swift:156] [startDownloadAllCountryPackages(countryIds:downloadMode:completion:)]
KeyPackageDownload: hour packages: shouldStartPackageDownload: false

Info 2021-08-15T23:42:54Z
[ENA/KeyPackageDownload.swift:182] [startDownloadAllCountryPackages(countryIds:downloadMode:completion:)]
KeyPackageDownload: Completed downloading hour key packages to cache.

Info 2021-08-15T23:42:54Z
[ENA/KeyPackageDownload.swift:113] [startHourPackagesDownload(completion:)]
KeyPackageDownload: Completed processing hour packages.

Info 2021-08-15T23:42:54Z
[ENA/KeyPackageDownload.swift:73] [startDayPackagesDownload(completion:)]
KeyPackageDownload: Start processing day packages.

Info 2021-08-15T23:42:54Z
[ENA/KeyPackageDownload.swift:146] [startDownloadAllCountryPackages(countryIds:downloadMode:completion:)]
KeyPackageDownload: Start processing day key package with country id: EUR.

Debug 2021-08-15T23:42:54Z
[ENA/KeyPackageDownload.swift:427] [expectNewDayPackages(for:)]
KeyPackageDownload: day packages yesterdayDate: 2021-08-14 23:42:54 +0000

Debug 2021-08-15T23:42:54Z
[ENA/KeyPackageDownload.swift:430] [expectNewDayPackages(for:)]
KeyPackageDownload: day packages yesterdayKeyString: 2021-08-14

Debug 2021-08-15T23:42:54Z
[ENA/KeyPackageDownload.swift:433] [expectNewDayPackages(for:)]
KeyPackageDownload: day packages cachedKeyPackages: ["2021-08-01", "2021-08-02", "2021-08-03", "2021-08-04", "2021-08-05", "2021-08-06", "2021-08-07", "2021-08-08", "2021-08-09", "2021-08-10", "2021-08-11", "2021-08-12", "2021-08-13", "2021-08-14"]

Info 2021-08-15T23:42:54Z
[ENA/KeyPackageDownload.swift:437] [expectNewDayPackages(for:)]
KeyPackageDownload: Check for last day package. yesterdayDayPackageExists: true

Info 2021-08-15T23:42:54Z
[ENA/KeyPackageDownload.swift:438] [expectNewDayPackages(for:)]
KeyPackageDownload: Check for success of last day package download. store.wasRecentDayKeyDownloadSuccessful: true

Debug 2021-08-15T23:42:54Z
[ENA/KeyPackageDownload.swift:156] [startDownloadAllCountryPackages(countryIds:downloadMode:completion:)]
KeyPackageDownload: day packages: shouldStartPackageDownload: false

Info 2021-08-15T23:42:54Z
[ENA/KeyPackageDownload.swift:182] [startDownloadAllCountryPackages(countryIds:downloadMode:completion:)]
KeyPackageDownload: Completed downloading day key packages to cache.

Info 2021-08-15T23:42:54Z
[ENA/KeyPackageDownload.swift:88] [startDayPackagesDownload(completion:)]
KeyPackageDownload: Completed processing day packages.

Info 2021-08-15T23:42:54Z
[ENA/TraceWarningPackageDownload.swift:54] [startTraceWarningPackageDownload(with:completion:)]
Start was triggered.

Info 2021-08-15T23:42:54Z
[ENA/TraceWarningPackageDownload.swift:68] [startTraceWarningPackageDownload(with:completion:)]
Aborted due to checkin database is empty.

Debug 2021-08-15T23:42:54Z
[ENA/RiskProvidingConfiguration.swift:50] [shouldPerformExposureDetection(lastExposureDetectionDate:currentDate:)]
[RiskProvidingConfiguration] Last exposure date input: Optional(2021-08-15 23:38:30 +0000)

Debug 2021-08-15T23:42:54Z
[ENA/RiskProvidingConfiguration.swift:39] [nextExposureDetectionDate(lastExposureDetectionDate:currentDate:)]
[RiskProvidingConfiguration] Next potential detection date: 2021-08-16 03:38:30 +0000

Debug 2021-08-15T23:42:54Z
[ENA/RiskProvidingConfiguration.swift:40] [nextExposureDetectionDate(lastExposureDetectionDate:currentDate:)]
[RiskProvidingConfiguration] Exposure detection interval: hour: 4 isLeapMonth: false 

Info 2021-08-15T23:42:54Z
[ENA/RiskProvider.swift:341] [previousRiskIfExistingAndNotExpired(userInitiated:)]
RiskProvider: Precondition fulfilled for fresh risk detection: enoughTimeHasPassed = false

Info 2021-08-15T23:42:54Z
[ENA/RiskProvider.swift:343] [previousRiskIfExistingAndNotExpired(userInitiated:)]
RiskProvider: Precondition fulfilled for fresh risk detection: shouldDetectExposures = true

Info 2021-08-15T23:42:54Z
[ENA/RiskProvider.swift:345] [previousRiskIfExistingAndNotExpired(userInitiated:)]
RiskProvider: Precondition fulfilled for fresh risk detection: shouldDetectExposureBecauseOfNewPackagesConsideringDetectionMode = false

Info 2021-08-15T23:42:54Z
[ENA/RiskProvider.swift:351] [previousRiskIfExistingAndNotExpired(userInitiated:)]
RiskProvider: Not calculating new risk, using result of most recent risk calculation

Info 2021-08-15T23:42:54Z
[ENA/Risk.swift:27] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] Merging risks from ENF and checkin. Create Risk.

Debug 2021-08-15T23:42:54Z
[ENA/Risk.swift:35] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] riskLevelHasChanged: false

Debug 2021-08-15T23:42:54Z
[ENA/Risk.swift:52] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] tracingRiskLevelPerDate: [:]

Debug 2021-08-15T23:42:54Z
[ENA/Risk.swift:53] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] checkinRiskLevelPerDate: [:]

Debug 2021-08-15T23:42:54Z
[ENA/Risk.swift:60] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] mergedRiskLevelPerDate: [:]

Debug 2021-08-15T23:42:54Z
[ENA/Risk.swift:70] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] totalRiskLevel: low

Debug 2021-08-15T23:42:54Z
[ENA/Risk.swift:80] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] mostRecentDateWithRiskLevel: nil

Debug 2021-08-15T23:42:54Z
[ENA/Risk.swift:86] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] numberOfDaysWithRiskLevel: 0

Info 2021-08-15T23:42:54Z
[ENA/RiskProvider.swift:306] [determineRisk(userInitiated:appConfiguration:completion:)]
RiskProvider: Using risk from previous detection

Info 2021-08-15T23:42:54Z
[ENA/PPAnalyticsCollector.swift:41] [collect(_:)]
Forbidden to log any analytics data due to missing user consent

Info 2021-08-15T23:42:54Z
[ENA/RiskProvider.swift:469] [successOnTargetQueue(risk:)]
RiskProvider: Risk detection and calculation was successful.

Info 2021-08-15T23:42:54Z
[ENA/RiskProvider.swift:491] [updateActivityState(_:)]
RiskProvider: Update activity state to: idle

Info 2021-08-15T23:42:54Z
[ENA/OTPService.swift:98] [discardOTPEdus()]
OTP EDUS was discarded.

Info 2021-08-15T23:42:54Z
[ENA/Risk.swift:27] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] Merging risks from ENF and checkin. Create Risk.

Debug 2021-08-15T23:42:54Z
[ENA/Risk.swift:35] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] riskLevelHasChanged: false

Debug 2021-08-15T23:42:54Z
[ENA/Risk.swift:52] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] tracingRiskLevelPerDate: [:]

Debug 2021-08-15T23:42:54Z
[ENA/Risk.swift:53] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] checkinRiskLevelPerDate: [:]

Debug 2021-08-15T23:42:54Z
[ENA/Risk.swift:60] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] mergedRiskLevelPerDate: [:]

Debug 2021-08-15T23:42:54Z
[ENA/Risk.swift:70] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] totalRiskLevel: low

Debug 2021-08-15T23:42:54Z
[ENA/Risk.swift:80] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] mostRecentDateWithRiskLevel: nil

Debug 2021-08-15T23:42:54Z
[ENA/Risk.swift:86] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] numberOfDaysWithRiskLevel: 0

Info 2021-08-15T23:42:54Z
[ENA/Risk.swift:27] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] Merging risks from ENF and checkin. Create Risk.

Debug 2021-08-15T23:42:54Z
[ENA/Risk.swift:35] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] riskLevelHasChanged: false

Debug 2021-08-15T23:42:54Z
[ENA/Risk.swift:52] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] tracingRiskLevelPerDate: [:]

Debug 2021-08-15T23:42:54Z
[ENA/Risk.swift:53] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] checkinRiskLevelPerDate: [:]

Debug 2021-08-15T23:42:54Z
[ENA/Risk.swift:60] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] mergedRiskLevelPerDate: [:]

Debug 2021-08-15T23:42:54Z
[ENA/Risk.swift:70] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] totalRiskLevel: low

Debug 2021-08-15T23:42:54Z
[ENA/Risk.swift:80] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] mostRecentDateWithRiskLevel: nil

Debug 2021-08-15T23:42:54Z
[ENA/Risk.swift:86] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] numberOfDaysWithRiskLevel: 0

Info 2021-08-15T23:42:54Z
[ENA/Risk.swift:27] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] Merging risks from ENF and checkin. Create Risk.

Debug 2021-08-15T23:42:54Z
[ENA/Risk.swift:35] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] riskLevelHasChanged: false

Debug 2021-08-15T23:42:54Z
[ENA/Risk.swift:52] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] tracingRiskLevelPerDate: [:]

Debug 2021-08-15T23:42:54Z
[ENA/Risk.swift:53] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] checkinRiskLevelPerDate: [:]

Debug 2021-08-15T23:42:54Z
[ENA/Risk.swift:60] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] mergedRiskLevelPerDate: [:]

Debug 2021-08-15T23:42:54Z
[ENA/Risk.swift:70] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] totalRiskLevel: low

Debug 2021-08-15T23:42:54Z
[ENA/Risk.swift:80] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] mostRecentDateWithRiskLevel: nil

Debug 2021-08-15T23:42:54Z
[ENA/Risk.swift:86] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] numberOfDaysWithRiskLevel: 0

Debug 2021-08-15T23:42:55Z
[ENA/CachedAppConfiguration.swift:223] [shouldFetch()]
timestamp >= 300s? 332.37690711021423 >= 300)

Debug 2021-08-15T23:42:55Z
[ENA/CachedAppConfiguration.swift:189] [appConfiguration(forceFetch:)]
fetching fresh app configuration. forceFetch: false, force: true

Debug 2021-08-15T23:42:55Z
[ENA/CachedAppConfiguration.swift:82] [getAppConfig(with:)]
Append promise.

Error 2021-08-15T23:42:55Z
[ENA/URLSession+Convenience.swift:62] [response(for:isFake:extraHeaders:completion:)]
No network connection

Info 2021-08-15T23:42:55Z
[ENA/CachedAppConfiguration.swift:146] [defaultFailureHandler()]
Providing cached app configuration

Debug 2021-08-15T23:42:55Z
[ENA/CachedAppConfiguration.swift:166] [resolvePromises(with:)]
resolvePromises count: 1.

Debug 2021-08-15T23:42:55Z
[ENA/HomeTableViewController.swift:720] [showDeltaOnboardingIfNeeded(completion:)]
Delta Onboarding list size: 3

Debug 2021-08-15T23:42:55Z
[ENA/DeltaOnboardingProtocols.swift:23] [isFinished]
Check, if 1.5ENA.DeltaOnboardingV15 is already finished or not needed (current onboarding version = 2.6...

Debug 2021-08-15T23:42:55Z
[ENA/DeltaOnboardingProtocols.swift:26] [isFinished]
DeltaOnboarding 1.5ENA.DeltaOnboardingV15 already presented? false.

Debug 2021-08-15T23:42:55Z
[ENA/DeltaOnboardingProtocols.swift:31] [isFinished]
Will return isFinished() = true

Debug 2021-08-15T23:42:55Z
[ENA/DeltaOnboardingProtocols.swift:23] [isFinished]
Check, if 1.13ENA.DeltaOnboardingDataDonation is already finished or not needed (current onboarding version = 2.6...

Debug 2021-08-15T23:42:55Z
[ENA/DeltaOnboardingProtocols.swift:26] [isFinished]
DeltaOnboarding 1.13ENA.DeltaOnboardingDataDonation already presented? false.

Debug 2021-08-15T23:42:55Z
[ENA/DeltaOnboardingProtocols.swift:31] [isFinished]
Will return isFinished() = true

Debug 2021-08-15T23:42:55Z
[ENA/DeltaOnboardingProtocols.swift:23] [isFinished]
Check, if 2.6ENA.DeltaOnboardingNewVersionFeatures is already finished or not needed (current onboarding version = 2.6...

Debug 2021-08-15T23:42:55Z
[ENA/DeltaOnboardingProtocols.swift:26] [isFinished]
DeltaOnboarding 2.6ENA.DeltaOnboardingNewVersionFeatures already presented? true.

Debug 2021-08-15T23:42:55Z
[ENA/DeltaOnboardingProtocols.swift:31] [isFinished]
Will return isFinished() = true

Info 2021-08-15T23:42:56Z
[ENA/EventCheckoutService.swift:34] [checkoutOverdueCheckins()]
[EventCheckoutService] Checkout overdue checkins.

Info 2021-08-15T23:42:58Z
[ENA/CheckinQRCodeScannerViewModel.swift:161] [startCaptureSession()]
AVCaptureDevice.authorized - enable qr code scanner

Debug 2021-08-15T23:42:59Z
[ENA/CachedAppConfiguration.swift:223] [shouldFetch()]
timestamp >= 300s? 336.76518309116364 >= 300)

Debug 2021-08-15T23:42:59Z
[ENA/CachedAppConfiguration.swift:189] [appConfiguration(forceFetch:)]
fetching fresh app configuration. forceFetch: false, force: true

Debug 2021-08-15T23:42:59Z
[ENA/CachedAppConfiguration.swift:82] [getAppConfig(with:)]
Append promise.

Error 2021-08-15T23:42:59Z
[ENA/URLSession+Convenience.swift:62] [response(for:isFake:extraHeaders:completion:)]
No network connection

Info 2021-08-15T23:42:59Z
[ENA/CachedAppConfiguration.swift:146] [defaultFailureHandler()]
Providing cached app configuration

Debug 2021-08-15T23:42:59Z
[ENA/CachedAppConfiguration.swift:166] [resolvePromises(with:)]
resolvePromises count: 1.

Debug 2021-08-15T23:42:59Z
[ENA/TraceLocation.swift:106] [init(qrCodeString:)]
Data found: 🙈🙉🙊. (Censoring cause: Decoded qrCode)

Info 2021-08-15T23:42:59Z
[ENA/EventCheckoutService.swift:34] [checkoutOverdueCheckins()]
[EventCheckoutService] Checkout overdue checkins.

Info 2021-08-15T23:43:01Z
[ENA/EventStore.swift:124] [createCheckin(_:)]
[EventStore] Create Checkin.

Info 2021-08-15T23:43:01Z
[ENA/EventStore.swift:531] [updateCheckinsPublisher(with:)]
[EventStore] Update checkins publisher.

Info 2021-08-15T23:43:01Z
[ENA/EventCheckoutService.swift:75] [registerToCheckinChanges()]
[EventCheckoutService] checkinsPublisher sink called

Info 2021-08-15T23:43:01Z
[ENA/EventCheckoutService.swift:132] [cancelAllCheckoutNotifications(completion:)]
[EventCheckoutService] Cancel all notifications.

Info 2021-08-15T23:43:01Z
[ENA/EventCheckoutService.swift:34] [checkoutOverdueCheckins()]
[EventCheckoutService] Checkout overdue checkins.

Info 2021-08-15T23:43:01Z
[ENA/EventCheckoutService.swift:104] [triggerNotificationForCheckout(of:)]
[EventCheckoutService] Trigger notification for checkin with id: 1 and endDate: 2021-08-16 01:43:01 +0000

Info 2021-08-15T23:43:02Z
[ENA/RiskProvider.swift:98] [requestRisk(userInitiated:timeoutInterval:)]
RiskProvider: Request risk was called. UserInitiated: false

Info 2021-08-15T23:43:02Z
[ENA/RiskProvider.swift:491] [updateActivityState(_:)]
RiskProvider: Update activity state to: riskRequested

Debug 2021-08-15T23:43:02Z
[ENA/CachedAppConfiguration.swift:223] [shouldFetch()]
timestamp >= 300s? 339.9613800048828 >= 300)

Debug 2021-08-15T23:43:02Z
[ENA/CachedAppConfiguration.swift:189] [appConfiguration(forceFetch:)]
fetching fresh app configuration. forceFetch: false, force: true

Debug 2021-08-15T23:43:02Z
[ENA/CachedAppConfiguration.swift:82] [getAppConfig(with:)]
Append promise.

Error 2021-08-15T23:43:02Z
[ENA/URLSession+Convenience.swift:62] [response(for:isFake:extraHeaders:completion:)]
No network connection

Info 2021-08-15T23:43:02Z
[ENA/CachedAppConfiguration.swift:146] [defaultFailureHandler()]
Providing cached app configuration

Debug 2021-08-15T23:43:02Z
[ENA/CachedAppConfiguration.swift:166] [resolvePromises(with:)]
resolvePromises count: 1.

Debug 2021-08-15T23:43:02Z
[ENA/CachedAppConfiguration.swift:223] [shouldFetch()]
timestamp >= 300s? 340.00238704681396 >= 300)

Debug 2021-08-15T23:43:02Z
[ENA/CachedAppConfiguration.swift:189] [appConfiguration(forceFetch:)]
fetching fresh app configuration. forceFetch: false, force: true

Debug 2021-08-15T23:43:02Z
[ENA/CachedAppConfiguration.swift:82] [getAppConfig(with:)]
Append promise.

Info 2021-08-15T23:43:02Z
[ENA/KeyPackageDownload.swift:98] [startHourPackagesDownload(completion:)]
KeyPackageDownload: Start processing hour packages.

Info 2021-08-15T23:43:02Z
[ENA/KeyPackageDownload.swift:146] [startDownloadAllCountryPackages(countryIds:downloadMode:completion:)]
KeyPackageDownload: Start processing hour key package with country id: EUR.

Debug 2021-08-15T23:43:02Z
[ENA/KeyPackageDownload.swift:448] [expectNewHourPackages(for:counrtyId:)]
KeyPackageDownload: hour packages lastHourDate: 2021-08-15 22:43:02 +0000

Error 2021-08-15T23:43:02Z
[ENA/URLSession+Convenience.swift:62] [response(for:isFake:extraHeaders:completion:)]
No network connection

Debug 2021-08-15T23:43:02Z
[ENA/KeyPackageDownload.swift:454] [expectNewHourPackages(for:counrtyId:)]
KeyPackageDownload: hour packages lastHourKey: 22

Info 2021-08-15T23:43:02Z
[ENA/CachedAppConfiguration.swift:146] [defaultFailureHandler()]
Providing cached app configuration

Debug 2021-08-15T23:43:02Z
[ENA/KeyPackageDownload.swift:457] [expectNewHourPackages(for:counrtyId:)]
KeyPackageDownload: hour packages cachedKeyPackages: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22]

Info 2021-08-15T23:43:02Z
[ENA/KeyPackageDownload.swift:461] [expectNewHourPackages(for:counrtyId:)]
KeyPackageDownload: Check for last hour package. lastHourPackageExists: true

Info 2021-08-15T23:43:02Z
[ENA/KeyPackageDownload.swift:462] [expectNewHourPackages(for:counrtyId:)]
KeyPackageDownload: Check for success of last hour package download. store.wasRecentHourKeyDownloadSuccessful: true

Debug 2021-08-15T23:43:02Z
[ENA/KeyPackageDownload.swift:156] [startDownloadAllCountryPackages(countryIds:downloadMode:completion:)]
KeyPackageDownload: hour packages: shouldStartPackageDownload: false

Info 2021-08-15T23:43:02Z
[ENA/KeyPackageDownload.swift:182] [startDownloadAllCountryPackages(countryIds:downloadMode:completion:)]
KeyPackageDownload: Completed downloading hour key packages to cache.

Info 2021-08-15T23:43:02Z
[ENA/KeyPackageDownload.swift:113] [startHourPackagesDownload(completion:)]
KeyPackageDownload: Completed processing hour packages.

Info 2021-08-15T23:43:02Z
[ENA/KeyPackageDownload.swift:73] [startDayPackagesDownload(completion:)]
KeyPackageDownload: Start processing day packages.

Info 2021-08-15T23:43:02Z
[ENA/KeyPackageDownload.swift:146] [startDownloadAllCountryPackages(countryIds:downloadMode:completion:)]
KeyPackageDownload: Start processing day key package with country id: EUR.

Debug 2021-08-15T23:43:02Z
[ENA/KeyPackageDownload.swift:427] [expectNewDayPackages(for:)]
KeyPackageDownload: day packages yesterdayDate: 2021-08-14 23:43:02 +0000

Debug 2021-08-15T23:43:02Z
[ENA/KeyPackageDownload.swift:430] [expectNewDayPackages(for:)]
KeyPackageDownload: day packages yesterdayKeyString: 2021-08-14

Debug 2021-08-15T23:43:02Z
[ENA/KeyPackageDownload.swift:433] [expectNewDayPackages(for:)]
KeyPackageDownload: day packages cachedKeyPackages: ["2021-08-01", "2021-08-02", "2021-08-03", "2021-08-04", "2021-08-05", "2021-08-06", "2021-08-07", "2021-08-08", "2021-08-09", "2021-08-10", "2021-08-11", "2021-08-12", "2021-08-13", "2021-08-14"]

Info 2021-08-15T23:43:02Z
[ENA/KeyPackageDownload.swift:437] [expectNewDayPackages(for:)]
KeyPackageDownload: Check for last day package. yesterdayDayPackageExists: true

Info 2021-08-15T23:43:02Z
[ENA/KeyPackageDownload.swift:438] [expectNewDayPackages(for:)]
KeyPackageDownload: Check for success of last day package download. store.wasRecentDayKeyDownloadSuccessful: true

Debug 2021-08-15T23:43:02Z
[ENA/KeyPackageDownload.swift:156] [startDownloadAllCountryPackages(countryIds:downloadMode:completion:)]
KeyPackageDownload: day packages: shouldStartPackageDownload: false

Info 2021-08-15T23:43:02Z
[ENA/KeyPackageDownload.swift:182] [startDownloadAllCountryPackages(countryIds:downloadMode:completion:)]
KeyPackageDownload: Completed downloading day key packages to cache.

Info 2021-08-15T23:43:02Z
[ENA/KeyPackageDownload.swift:88] [startDayPackagesDownload(completion:)]
KeyPackageDownload: Completed processing day packages.

Info 2021-08-15T23:43:02Z
[ENA/TraceWarningPackageDownload.swift:54] [startTraceWarningPackageDownload(with:completion:)]
Start was triggered.

Info 2021-08-15T23:43:02Z
[ENA/TraceWarningPackageDownload.swift:179] [checkForDownloadTraceWarningPackages(with:countries:completion:)]
Start processsing package download for country: DE.

Info 2021-08-15T23:43:02Z
[ENA/TraceWarningPackageDownload.swift:110] [shouldStartPackageDownload(for:)]
ShouldStartPackageDownload: true

Error 2021-08-15T23:43:02Z
[ENA/URLSession+Convenience.swift:62] [response(for:isFake:extraHeaders:completion:)]
No network connection

Error 2021-08-15T23:43:02Z
[ENA/HTTPClient.swift:427] [traceWarningPackageDiscovery(country:completion:)]
Error in response body

Error 2021-08-15T23:43:02Z
[ENA/TraceWarningPackageDownload.swift:241] [downloadTraceWarningPackages(with:for:completion:)]
Error at discovery trace warning packages.

Info 2021-08-15T23:43:02Z
[ENA/TraceWarningPackageDownload.swift:192] [checkForDownloadTraceWarningPackages(with:countries:completion:)]
Failed downloading packages for country id: DE.

Error 2021-08-15T23:43:02Z
[ENA/TraceWarningPackageDownload.swift:203] [checkForDownloadTraceWarningPackages(with:countries:completion:)]
Failed downloading packages for all countries with errors: [ENA.TraceWarningError.defaultServerError((extension in ENA):__C.NSURLSession.Response.Failure.noNetworkConnection)].

Info 2021-08-15T23:43:02Z
[ENA/TraceWarningPackageDownload.swift:83] [startTraceWarningPackageDownload(with:completion:)]
Failed processing packages with error: defaultServerError((extension in ENA):__C.NSURLSession.Response.Failure.noNetworkConnection)

Info 2021-08-15T23:43:02Z
[ENA/RiskProvider.swift:479] [failOnTargetQueue(error:updateState:)]
RiskProvider: Failed with error: failedTraceWarningPackageDownload(ENA.TraceWarningError.defaultServerError((extension in ENA):__C.NSURLSession.Response.Failure.noNetworkConnection))

Info 2021-08-15T23:43:02Z
[ENA/RiskProvider.swift:491] [updateActivityState(_:)]
RiskProvider: Update activity state to: idle

Info 2021-08-15T23:43:02Z
[ENA/Risk.swift:27] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] Merging risks from ENF and checkin. Create Risk.

Debug 2021-08-15T23:43:02Z
[ENA/Risk.swift:35] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] riskLevelHasChanged: false

Debug 2021-08-15T23:43:02Z
[ENA/Risk.swift:52] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] tracingRiskLevelPerDate: [:]

Debug 2021-08-15T23:43:02Z
[ENA/Risk.swift:53] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] checkinRiskLevelPerDate: [:]

Debug 2021-08-15T23:43:02Z
[ENA/Risk.swift:60] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] mergedRiskLevelPerDate: [:]

Debug 2021-08-15T23:43:02Z
[ENA/Risk.swift:70] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] totalRiskLevel: low

Debug 2021-08-15T23:43:02Z
[ENA/Risk.swift:80] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] mostRecentDateWithRiskLevel: nil

Debug 2021-08-15T23:43:02Z
[ENA/Risk.swift:86] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] numberOfDaysWithRiskLevel: 0

Info 2021-08-15T23:43:02Z
[ENA/Risk.swift:27] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] Merging risks from ENF and checkin. Create Risk.

Debug 2021-08-15T23:43:02Z
[ENA/Risk.swift:35] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] riskLevelHasChanged: false

Debug 2021-08-15T23:43:02Z
[ENA/Risk.swift:52] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] tracingRiskLevelPerDate: [:]

Debug 2021-08-15T23:43:02Z
[ENA/Risk.swift:53] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] checkinRiskLevelPerDate: [:]

Debug 2021-08-15T23:43:02Z
[ENA/Risk.swift:60] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] mergedRiskLevelPerDate: [:]

Debug 2021-08-15T23:43:02Z
[ENA/Risk.swift:70] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] totalRiskLevel: low

Debug 2021-08-15T23:43:02Z
[ENA/Risk.swift:80] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] mostRecentDateWithRiskLevel: nil

Debug 2021-08-15T23:43:02Z
[ENA/Risk.swift:86] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] numberOfDaysWithRiskLevel: 0

Debug 2021-08-15T23:43:03Z
[ENA/HomeTableViewController.swift:720] [showDeltaOnboardingIfNeeded(completion:)]
Delta Onboarding list size: 3

Debug 2021-08-15T23:43:03Z
[ENA/DeltaOnboardingProtocols.swift:23] [isFinished]
Check, if 1.5ENA.DeltaOnboardingV15 is already finished or not needed (current onboarding version = 2.6...

Debug 2021-08-15T23:43:03Z
[ENA/DeltaOnboardingProtocols.swift:26] [isFinished]
DeltaOnboarding 1.5ENA.DeltaOnboardingV15 already presented? false.

Debug 2021-08-15T23:43:03Z
[ENA/DeltaOnboardingProtocols.swift:31] [isFinished]
Will return isFinished() = true

Debug 2021-08-15T23:43:03Z
[ENA/DeltaOnboardingProtocols.swift:23] [isFinished]
Check, if 1.13ENA.DeltaOnboardingDataDonation is already finished or not needed (current onboarding version = 2.6...

Debug 2021-08-15T23:43:03Z
[ENA/DeltaOnboardingProtocols.swift:26] [isFinished]
DeltaOnboarding 1.13ENA.DeltaOnboardingDataDonation already presented? false.

Debug 2021-08-15T23:43:03Z
[ENA/DeltaOnboardingProtocols.swift:31] [isFinished]
Will return isFinished() = true

Debug 2021-08-15T23:43:03Z
[ENA/DeltaOnboardingProtocols.swift:23] [isFinished]
Check, if 2.6ENA.DeltaOnboardingNewVersionFeatures is already finished or not needed (current onboarding version = 2.6...

Debug 2021-08-15T23:43:03Z
[ENA/DeltaOnboardingProtocols.swift:26] [isFinished]
DeltaOnboarding 2.6ENA.DeltaOnboardingNewVersionFeatures already presented? true.

Debug 2021-08-15T23:43:03Z
[ENA/DeltaOnboardingProtocols.swift:31] [isFinished]
Will return isFinished() = true

Info 2021-08-15T23:43:04Z
[ENA/EventCheckoutService.swift:34] [checkoutOverdueCheckins()]
[EventCheckoutService] Checkout overdue checkins.

Info 2021-08-15T23:43:08Z
[ENA/EventStore.swift:167] [deleteCheckin(id:)]
[EventStore] Remove Checkin with id: 1.

Info 2021-08-15T23:43:08Z
[ENA/EventStore.swift:531] [updateCheckinsPublisher(with:)]
[EventStore] Update checkins publisher.

Info 2021-08-15T23:43:08Z
[ENA/EventCheckoutService.swift:75] [registerToCheckinChanges()]
[EventCheckoutService] checkinsPublisher sink called

Info 2021-08-15T23:43:08Z
[ENA/EventCheckoutService.swift:132] [cancelAllCheckoutNotifications(completion:)]
[EventCheckoutService] Cancel all notifications.

Info 2021-08-15T23:43:08Z
[ENA/RiskProvider.swift:98] [requestRisk(userInitiated:timeoutInterval:)]
RiskProvider: Request risk was called. UserInitiated: false

Info 2021-08-15T23:43:08Z
[ENA/RiskProvider.swift:491] [updateActivityState(_:)]
RiskProvider: Update activity state to: riskRequested

Debug 2021-08-15T23:43:08Z
[ENA/CachedAppConfiguration.swift:223] [shouldFetch()]
timestamp >= 300s? 346.12669706344604 >= 300)

Debug 2021-08-15T23:43:08Z
[ENA/CachedAppConfiguration.swift:189] [appConfiguration(forceFetch:)]
fetching fresh app configuration. forceFetch: false, force: true

Debug 2021-08-15T23:43:08Z
[ENA/CachedAppConfiguration.swift:82] [getAppConfig(with:)]
Append promise.

Error 2021-08-15T23:43:08Z
[ENA/URLSession+Convenience.swift:62] [response(for:isFake:extraHeaders:completion:)]
No network connection

Info 2021-08-15T23:43:08Z
[ENA/CachedAppConfiguration.swift:146] [defaultFailureHandler()]
Providing cached app configuration

Debug 2021-08-15T23:43:08Z
[ENA/CachedAppConfiguration.swift:166] [resolvePromises(with:)]
resolvePromises count: 1.

Debug 2021-08-15T23:43:08Z
[ENA/CachedAppConfiguration.swift:223] [shouldFetch()]
timestamp >= 300s? 346.1682929992676 >= 300)

Debug 2021-08-15T23:43:08Z
[ENA/CachedAppConfiguration.swift:189] [appConfiguration(forceFetch:)]
fetching fresh app configuration. forceFetch: false, force: true

Debug 2021-08-15T23:43:08Z
[ENA/CachedAppConfiguration.swift:82] [getAppConfig(with:)]
Append promise.

Info 2021-08-15T23:43:09Z
[ENA/KeyPackageDownload.swift:98] [startHourPackagesDownload(completion:)]
KeyPackageDownload: Start processing hour packages.

Info 2021-08-15T23:43:09Z
[ENA/KeyPackageDownload.swift:146] [startDownloadAllCountryPackages(countryIds:downloadMode:completion:)]
KeyPackageDownload: Start processing hour key package with country id: EUR.

Debug 2021-08-15T23:43:09Z
[ENA/KeyPackageDownload.swift:448] [expectNewHourPackages(for:counrtyId:)]
KeyPackageDownload: hour packages lastHourDate: 2021-08-15 22:43:09 +0000

Debug 2021-08-15T23:43:09Z
[ENA/KeyPackageDownload.swift:454] [expectNewHourPackages(for:counrtyId:)]
KeyPackageDownload: hour packages lastHourKey: 22

Debug 2021-08-15T23:43:09Z
[ENA/KeyPackageDownload.swift:457] [expectNewHourPackages(for:counrtyId:)]
KeyPackageDownload: hour packages cachedKeyPackages: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22]

Info 2021-08-15T23:43:09Z
[ENA/KeyPackageDownload.swift:461] [expectNewHourPackages(for:counrtyId:)]
KeyPackageDownload: Check for last hour package. lastHourPackageExists: true

Info 2021-08-15T23:43:09Z
[ENA/KeyPackageDownload.swift:462] [expectNewHourPackages(for:counrtyId:)]
KeyPackageDownload: Check for success of last hour package download. store.wasRecentHourKeyDownloadSuccessful: true

Debug 2021-08-15T23:43:09Z
[ENA/KeyPackageDownload.swift:156] [startDownloadAllCountryPackages(countryIds:downloadMode:completion:)]
KeyPackageDownload: hour packages: shouldStartPackageDownload: false

Info 2021-08-15T23:43:09Z
[ENA/KeyPackageDownload.swift:182] [startDownloadAllCountryPackages(countryIds:downloadMode:completion:)]
KeyPackageDownload: Completed downloading hour key packages to cache.

Info 2021-08-15T23:43:09Z
[ENA/CachedAppConfiguration.swift:146] [defaultFailureHandler()]
Providing cached app configuration

Info 2021-08-15T23:43:09Z
[ENA/KeyPackageDownload.swift:113] [startHourPackagesDownload(completion:)]
KeyPackageDownload: Completed processing hour packages.

Info 2021-08-15T23:43:09Z
[ENA/KeyPackageDownload.swift:73] [startDayPackagesDownload(completion:)]
KeyPackageDownload: Start processing day packages.

Info 2021-08-15T23:43:09Z
[ENA/KeyPackageDownload.swift:146] [startDownloadAllCountryPackages(countryIds:downloadMode:completion:)]
KeyPackageDownload: Start processing day key package with country id: EUR.

Debug 2021-08-15T23:43:09Z
[ENA/KeyPackageDownload.swift:427] [expectNewDayPackages(for:)]
KeyPackageDownload: day packages yesterdayDate: 2021-08-14 23:43:09 +0000

Debug 2021-08-15T23:43:09Z
[ENA/KeyPackageDownload.swift:430] [expectNewDayPackages(for:)]
KeyPackageDownload: day packages yesterdayKeyString: 2021-08-14

Debug 2021-08-15T23:43:09Z
[ENA/KeyPackageDownload.swift:433] [expectNewDayPackages(for:)]
KeyPackageDownload: day packages cachedKeyPackages: ["2021-08-01", "2021-08-02", "2021-08-03", "2021-08-04", "2021-08-05", "2021-08-06", "2021-08-07", "2021-08-08", "2021-08-09", "2021-08-10", "2021-08-11", "2021-08-12", "2021-08-13", "2021-08-14"]

Info 2021-08-15T23:43:09Z
[ENA/KeyPackageDownload.swift:437] [expectNewDayPackages(for:)]
KeyPackageDownload: Check for last day package. yesterdayDayPackageExists: true

Info 2021-08-15T23:43:09Z
[ENA/KeyPackageDownload.swift:438] [expectNewDayPackages(for:)]
KeyPackageDownload: Check for success of last day package download. store.wasRecentDayKeyDownloadSuccessful: true

Debug 2021-08-15T23:43:09Z
[ENA/KeyPackageDownload.swift:156] [startDownloadAllCountryPackages(countryIds:downloadMode:completion:)]
KeyPackageDownload: day packages: shouldStartPackageDownload: false

Info 2021-08-15T23:43:09Z
[ENA/KeyPackageDownload.swift:182] [startDownloadAllCountryPackages(countryIds:downloadMode:completion:)]
KeyPackageDownload: Completed downloading day key packages to cache.

Info 2021-08-15T23:43:09Z
[ENA/KeyPackageDownload.swift:88] [startDayPackagesDownload(completion:)]
KeyPackageDownload: Completed processing day packages.

Info 2021-08-15T23:43:09Z
[ENA/TraceWarningPackageDownload.swift:54] [startTraceWarningPackageDownload(with:completion:)]
Start was triggered.

Info 2021-08-15T23:43:09Z
[ENA/TraceWarningPackageDownload.swift:68] [startTraceWarningPackageDownload(with:completion:)]
Aborted due to checkin database is empty.

Debug 2021-08-15T23:43:09Z
[ENA/RiskProvidingConfiguration.swift:50] [shouldPerformExposureDetection(lastExposureDetectionDate:currentDate:)]
[RiskProvidingConfiguration] Last exposure date input: Optional(2021-08-15 23:38:30 +0000)

Debug 2021-08-15T23:43:09Z
[ENA/RiskProvidingConfiguration.swift:39] [nextExposureDetectionDate(lastExposureDetectionDate:currentDate:)]
[RiskProvidingConfiguration] Next potential detection date: 2021-08-16 03:38:30 +0000

Debug 2021-08-15T23:43:09Z
[ENA/RiskProvidingConfiguration.swift:40] [nextExposureDetectionDate(lastExposureDetectionDate:currentDate:)]
[RiskProvidingConfiguration] Exposure detection interval: hour: 4 isLeapMonth: false 

Info 2021-08-15T23:43:09Z
[ENA/RiskProvider.swift:341] [previousRiskIfExistingAndNotExpired(userInitiated:)]
RiskProvider: Precondition fulfilled for fresh risk detection: enoughTimeHasPassed = false

Info 2021-08-15T23:43:09Z
[ENA/RiskProvider.swift:343] [previousRiskIfExistingAndNotExpired(userInitiated:)]
RiskProvider: Precondition fulfilled for fresh risk detection: shouldDetectExposures = true

Info 2021-08-15T23:43:09Z
[ENA/RiskProvider.swift:345] [previousRiskIfExistingAndNotExpired(userInitiated:)]
RiskProvider: Precondition fulfilled for fresh risk detection: shouldDetectExposureBecauseOfNewPackagesConsideringDetectionMode = false

Info 2021-08-15T23:43:09Z
[ENA/RiskProvider.swift:351] [previousRiskIfExistingAndNotExpired(userInitiated:)]
RiskProvider: Not calculating new risk, using result of most recent risk calculation

Info 2021-08-15T23:43:09Z
[ENA/Risk.swift:27] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] Merging risks from ENF and checkin. Create Risk.

Debug 2021-08-15T23:43:09Z
[ENA/Risk.swift:35] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] riskLevelHasChanged: false

Debug 2021-08-15T23:43:09Z
[ENA/Risk.swift:52] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] tracingRiskLevelPerDate: [:]

Debug 2021-08-15T23:43:09Z
[ENA/Risk.swift:53] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] checkinRiskLevelPerDate: [:]

Debug 2021-08-15T23:43:09Z
[ENA/Risk.swift:60] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] mergedRiskLevelPerDate: [:]

Debug 2021-08-15T23:43:09Z
[ENA/Risk.swift:70] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] totalRiskLevel: low

Debug 2021-08-15T23:43:09Z
[ENA/Risk.swift:80] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] mostRecentDateWithRiskLevel: nil

Debug 2021-08-15T23:43:09Z
[ENA/Risk.swift:86] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] numberOfDaysWithRiskLevel: 0

Info 2021-08-15T23:43:09Z
[ENA/RiskProvider.swift:306] [determineRisk(userInitiated:appConfiguration:completion:)]
RiskProvider: Using risk from previous detection

Info 2021-08-15T23:43:09Z
[ENA/PPAnalyticsCollector.swift:41] [collect(_:)]
Forbidden to log any analytics data due to missing user consent

Info 2021-08-15T23:43:09Z
[ENA/RiskProvider.swift:469] [successOnTargetQueue(risk:)]
RiskProvider: Risk detection and calculation was successful.

Info 2021-08-15T23:43:09Z
[ENA/RiskProvider.swift:491] [updateActivityState(_:)]
RiskProvider: Update activity state to: idle

Info 2021-08-15T23:43:09Z
[ENA/OTPService.swift:98] [discardOTPEdus()]
OTP EDUS was discarded.

Info 2021-08-15T23:43:09Z
[ENA/Risk.swift:27] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] Merging risks from ENF and checkin. Create Risk.

Debug 2021-08-15T23:43:09Z
[ENA/Risk.swift:35] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] riskLevelHasChanged: false

Debug 2021-08-15T23:43:09Z
[ENA/Risk.swift:52] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] tracingRiskLevelPerDate: [:]

Debug 2021-08-15T23:43:09Z
[ENA/Risk.swift:53] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] checkinRiskLevelPerDate: [:]

Debug 2021-08-15T23:43:09Z
[ENA/Risk.swift:60] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] mergedRiskLevelPerDate: [:]

Debug 2021-08-15T23:43:09Z
[ENA/Risk.swift:70] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] totalRiskLevel: low

Debug 2021-08-15T23:43:09Z
[ENA/Risk.swift:80] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] mostRecentDateWithRiskLevel: nil

Debug 2021-08-15T23:43:09Z
[ENA/Risk.swift:86] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] numberOfDaysWithRiskLevel: 0

Info 2021-08-15T23:43:09Z
[ENA/Risk.swift:27] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] Merging risks from ENF and checkin. Create Risk.

Debug 2021-08-15T23:43:09Z
[ENA/Risk.swift:35] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] riskLevelHasChanged: false

Debug 2021-08-15T23:43:09Z
[ENA/Risk.swift:52] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] tracingRiskLevelPerDate: [:]

Debug 2021-08-15T23:43:09Z
[ENA/Risk.swift:53] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] checkinRiskLevelPerDate: [:]

Debug 2021-08-15T23:43:09Z
[ENA/Risk.swift:60] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] mergedRiskLevelPerDate: [:]

Debug 2021-08-15T23:43:09Z
[ENA/Risk.swift:70] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] totalRiskLevel: low

Debug 2021-08-15T23:43:09Z
[ENA/Risk.swift:80] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] mostRecentDateWithRiskLevel: nil

Debug 2021-08-15T23:43:09Z
[ENA/Risk.swift:86] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] numberOfDaysWithRiskLevel: 0

Info 2021-08-15T23:43:09Z
[ENA/Risk.swift:27] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] Merging risks from ENF and checkin. Create Risk.

Debug 2021-08-15T23:43:09Z
[ENA/Risk.swift:35] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] riskLevelHasChanged: false

Debug 2021-08-15T23:43:09Z
[ENA/Risk.swift:52] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] tracingRiskLevelPerDate: [:]

Debug 2021-08-15T23:43:09Z
[ENA/Risk.swift:53] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] checkinRiskLevelPerDate: [:]

Debug 2021-08-15T23:43:09Z
[ENA/Risk.swift:60] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] mergedRiskLevelPerDate: [:]

Debug 2021-08-15T23:43:09Z
[ENA/Risk.swift:70] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] totalRiskLevel: low

Debug 2021-08-15T23:43:09Z
[ENA/Risk.swift:80] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] mostRecentDateWithRiskLevel: nil

Debug 2021-08-15T23:43:09Z
[ENA/Risk.swift:86] [init(enfRiskCalculationResult:previousENFRiskCalculationResult:checkinCalculationResult:previousCheckinCalculationResult:)]
[Risk] numberOfDaysWithRiskLevel: 0

Debug 2021-08-15T23:43:09Z
[ENA/HomeTableViewController.swift:720] [showDeltaOnboardingIfNeeded(completion:)]
Delta Onboarding list size: 3

Debug 2021-08-15T23:43:09Z
[ENA/DeltaOnboardingProtocols.swift:23] [isFinished]
Check, if 1.5ENA.DeltaOnboardingV15 is already finished or not needed (current onboarding version = 2.6...

Debug 2021-08-15T23:43:09Z
[ENA/DeltaOnboardingProtocols.swift:26] [isFinished]
DeltaOnboarding 1.5ENA.DeltaOnboardingV15 already presented? false.

Debug 2021-08-15T23:43:09Z
[ENA/DeltaOnboardingProtocols.swift:31] [isFinished]
Will return isFinished() = true

Debug 2021-08-15T23:43:09Z
[ENA/DeltaOnboardingProtocols.swift:23] [isFinished]
Check, if 1.13ENA.DeltaOnboardingDataDonation is already finished or not needed (current onboarding version = 2.6...

Debug 2021-08-15T23:43:09Z
[ENA/DeltaOnboardingProtocols.swift:26] [isFinished]
DeltaOnboarding 1.13ENA.DeltaOnboardingDataDonation already presented? false.

Debug 2021-08-15T23:43:09Z
[ENA/DeltaOnboardingProtocols.swift:31] [isFinished]
Will return isFinished() = true

Debug 2021-08-15T23:43:09Z
[ENA/DeltaOnboardingProtocols.swift:23] [isFinished]
Check, if 2.6ENA.DeltaOnboardingNewVersionFeatures is already finished or not needed (current onboarding version = 2.6...

Debug 2021-08-15T23:43:09Z
[ENA/DeltaOnboardingProtocols.swift:26] [isFinished]
DeltaOnboarding 2.6ENA.DeltaOnboardingNewVersionFeatures already presented? true.

Debug 2021-08-15T23:43:09Z
[ENA/DeltaOnboardingProtocols.swift:31] [isFinished]
Will return isFinished() = true

Error log as file: application.txt Error log ID: 28A4B09D5745F6D05952

Ein-Tim avatar Aug 15 '21 23:08 Ein-Tim

@Ein-Tim

I am 100% sure that the bug I reported in the OP is related to the Check-ins

so maybe there are even two pathes that lead to this error message, you found one, and I hit the other? 👹

Thanks a lot for the log! I will enjoy to read it, for sure! 😍

ndegendogo avatar Aug 16 '21 07:08 ndegendogo

@Ein-Tim from your log file, see below:

  • why does it want DE key files? It should be EUR?
  • why does it start download, although it knows that no network connection is available? @dsarkar @heinezen please ask the devs

... Info 2021-08-15T23:43:02Z [ENA/TraceWarningPackageDownload.swift:179] [checkForDownloadTraceWarningPackages(with:countries:completion:)] Start processsing package download for country: DE.

Info 2021-08-15T23:43:02Z [ENA/TraceWarningPackageDownload.swift:110] [shouldStartPackageDownload(for:)] ShouldStartPackageDownload: true

Error 2021-08-15T23:43:02Z [ENA/URLSession+Convenience.swift:62] [response(for:isFake:extraHeaders:completion:)] No network connection

Error 2021-08-15T23:43:02Z [ENA/HTTPClient.swift:427] [traceWarningPackageDiscovery(country:completion:)] Error in response body

Error 2021-08-15T23:43:02Z [ENA/TraceWarningPackageDownload.swift:241] [downloadTraceWarningPackages(with:for:completion:)] Error at discovery trace warning packages.

Info 2021-08-15T23:43:02Z [ENA/TraceWarningPackageDownload.swift:192] [checkForDownloadTraceWarningPackages(with:countries:completion:)] Failed downloading packages for country id: DE.

Error 2021-08-15T23:43:02Z [ENA/TraceWarningPackageDownload.swift:203] [checkForDownloadTraceWarningPackages(with:countries:completion:)] Failed downloading packages for all countries with errors: [ENA.TraceWarningError.defaultServerError((extension in ENA):__C.NSURLSession.Response.Failure.noNetworkConnection)].

Info 2021-08-15T23:43:02Z [ENA/TraceWarningPackageDownload.swift:83] [startTraceWarningPackageDownload(with:completion:)] Failed processing packages with error: defaultServerError((extension in ENA):__C.NSURLSession.Response.Failure.noNetworkConnection)

Info 2021-08-15T23:43:02Z [ENA/RiskProvider.swift:479] [failOnTargetQueue(error:updateState:)] RiskProvider: Failed with error: failedTraceWarningPackageDownload(ENA.TraceWarningError.defaultServerError((extension in ENA):__C.NSURLSession.Response.Failure.noNetworkConnection)) ...

ndegendogo avatar Aug 16 '21 07:08 ndegendogo

@ndegendogo @Ein-Tim Thank you very much. We will forward this to the internal ticket and ping a developer.

dsarkar avatar Aug 16 '21 07:08 dsarkar

@ndegendogo

so maybe there are even two pathes that lead to this error message, you found one, and I hit the other? 👹

Yeah, seems like. But you found the one that's harder to reproduce 😅

Thanks so much for your analysis of my log! I really appreciate your help here!

I think @dsarkar or @heinezen should transfer the Error Report ID to the internal ticket. (Already done, thanks @dsarkar! 👍)

Ein-Tim avatar Aug 16 '21 07:08 Ein-Tim

@Ein-Tim ... and today I played with the simulator, and tried to reproduce your error message ... but then I realized that I don't have a checkin ... so I decided to give up .... and - whooops! The message appeared!

Details: the successfull test was at 10:09 PM. The error message appeared at 12:04 AM, so definitely less than 4 hours after the successfull check. I had switched WLAN off. I have yet to analyse my log file in more detail.

Maybe I hit even "my" variant of this error message (#3352) - I switch WLAN on again, but the error message does not recover to green, and it refuses to start a new risk detection

ndegendogo avatar Aug 17 '21 22:08 ndegendogo

@ndegendogo Thanks for reproducing. Forwarding your info to the internal ticket.

dsarkar avatar Aug 18 '21 07:08 dsarkar

Thanks, @dsarkar

Maybe a few more details:

  • local build of cwa for community, from branch release/2.6.x
  • execution on simulator
  • I had setup a few breakpoints, possibly they distorted the timing of execution
  • I captured the logging via "copy&paste" from the Xcode console window

ndegendogo avatar Aug 18 '21 08:08 ndegendogo

forwarded.

dsarkar avatar Aug 18 '21 08:08 dsarkar

@dsarkar I have now uploaded my simulator log file / community build at cwa 2.6.x here not sure if it is interesting

it shows a scenario where the risk state seems inconsistent (already running); but I didn't wait long enough to confirm if this inconsistency is permanent or if it recovers with a timeout. Something irregular happened before, it looks like the background task triggers; but I don't even know how good / realistic background processing is implemented in simulator and community build...

I plan to highlight the details later / in the evening

ndegendogo avatar Aug 19 '21 07:08 ndegendogo

Out investigation at the moment show that this white card is correct.

If you are checked into an event the app the app needs to check if the event was infectious or not. For this check the app needs to fetch the latest published event ids from the CDN. If this fetch is not possible no exposure check for this event is possible. The white card informs the user that the risk check was not successful Also a background check will fail if there is no internet connection because new keys and event ids can only provided with a working internet connection

thomasaugsten avatar Sep 10 '21 09:09 thomasaugsten

@thomasaugsten But don't you & the dev team agree that this is very confusing for the user? I mean you also don't just show the exposure check failed card after 24h without a risk calculation (bluetooth), but only after 36h. Wouldn't it make sense to align this here?

All user I talked to about this just think that the app is not usable without internet and are frustrated.

Ein-Tim avatar Sep 10 '21 09:09 Ein-Tim

This is very difficult to communicate because in fact the risk check is not possible we cannot say anything about the current risk state. It is also though to hide 24h the error before we show it to the enduser that his risk check is not working.

thomasaugsten avatar Sep 10 '21 10:09 thomasaugsten

@thomasaugsten

Yes, I understand... When does the app download new event keys? Always when connected to the internet or just when a risk check is running? Because right now when there is a check-in the app always shows the exposure check failed card even if the last risk check was less then a minute ago.

Ein-Tim avatar Sep 10 '21 10:09 Ein-Tim

Everyone you visit the Home Screen the apps Checks if there are new event ids are available

thomasaugsten avatar Sep 10 '21 10:09 thomasaugsten

@thomasaugsten

Okay I understand. Does the app just download them or also carry out a risk check (and if there is a risk the status changes)?

Ein-Tim avatar Sep 10 '21 10:09 Ein-Tim

If new event ids available then a new risk check will be executed

thomasaugsten avatar Sep 10 '21 11:09 thomasaugsten

@thomasaugsten

Mh, okay I see... Is the behavior under Android the same? Or what is the behavior there? If it's different iOS might be aligned to it.

Ein-Tim avatar Sep 10 '21 20:09 Ein-Tim

@MikeMcC399, could you let me know, does CWA under Android also show the "Exposure Check failed" risk card if there is no connection to the internet and there is a check-in?

Thank you!

Ein-Tim avatar Sep 11 '21 15:09 Ein-Tim

@Ein-Tim

could you let me know, does CWA under Android also show the "Exposure Check failed" risk card if there is no connection to the internet and there is a check-in?

I don't see this in Android.

Perhaps you could update the steps to reproduce in https://github.com/corona-warn-app/cwa-app-ios/issues/3188#issue-947123275 to be sure? There is no mention there of a dependency on check ins.

MikeMcC399 avatar Sep 11 '21 15:09 MikeMcC399