Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add new sections App-Crash and Notes on Devices from Huawei or Honor #370

Closed
mtb77 opened this issue Sep 14, 2020 · 12 comments
Closed

Add new sections App-Crash and Notes on Devices from Huawei or Honor #370

mtb77 opened this issue Sep 14, 2020 · 12 comments
Assignees
Labels
documentation Improvements or additions to documentation enhancement Improvement of an existing feature

Comments

@mtb77
Copy link
Member

mtb77 commented Sep 14, 2020

Review suggestions from @vaubaehn

https://www.coronawarn.app/en/faq/#no_risk_update
If all these recommendations did not help as expected, you can make further, smartphone-specific, settings. Software manufacturers, such as Slack, which faced the similar problems, have already provided a lot of information to help solve this problem. Please try the tips from the Slack documentation for the Corona-Warn-App and your smartphone: Known issues with Android notifications. If you have a Huawei or Honor phone, please also note these instructions.

[Google/Android]: Notes on devices from Huawei or Honor {anchor: #huawei_honor}
For devices from Huawei or Honor, in addition to 'switching on the Prioritized Background Activity', additional settings may be necessary to improve the reliability of the background update, and to prevent unexpected crashes of the Corona-Warn-App when starting the app. This applies in particular to older devices with EMUI 4, but also to newer devices.
According to current information, a system update seems to be available for newer Huawei devices that is explicitly intended to fix the problems with Corona-Warn-App.
The GitHub community has compiled suggestions for making additional settings, and has also linked information about the system update. You can find all the details in this GitHub issue.
corona-warn-app/cwa-app-android#1053 (comment)

https://www.coronawarn.app/en/faq/#API39508
We ask you to not de-install the app or to reset the data of Google Play Services, because this can remove the logged exposures, and it will not resolve this issue.

[Google/Android]: The Corona-Warn-App closes immediately after starting {anchor: #app_crash}
If the Corona-Warn-App is unexpectedly terminated due to an error in the operating system or aggressive energy-saving measures taken by the phone, it may happen that the Corona-Warn-App can no longer access its encrypted databases when it is restarted. In this case, it closes immediately on start. Sometimes the error Cause: 9002 Something went wrong (sqlite) was displayed before.
We are working flat out to find a solution to the problem.
The GitHub community has developed an emergency solution that brings the Corona-Warn-App up and running again without uninstalling it. However, since data can be lost in this case (e.g. registered COVID-19 tests for online querying of the test results), you should only use this emergency solution if no other measures were helpful (in particular suggestions from the technical telephone hotline or from supervisors of the Corona-Warn-App in the Google Play Store), and you have fully taken note of the information on the emergency solution in the GitHub issue.
Find the emergency solution in the GitHub issue here
corona-warn-app/cwa-app-android#1053 (comment)

https://www.coronawarn.app/en/faq/#cause9002
If your phone type is not yet covered in the GitHub issue, write us the type in a comment. This helps us to determine the cause. If the GitHub issue doesn't cover your cause 9002 error, create a new issue.
If you can no longer open the app, please read the section "The Corona-Warn-App closes immediately after starting".

@mtb77 mtb77 added the bug Something isn't working label Sep 14, 2020
@mtb77 mtb77 self-assigned this Sep 14, 2020
@mtb77 mtb77 added documentation Improvements or additions to documentation enhancement Improvement of an existing feature and removed bug Something isn't working labels Sep 14, 2020
@vaubaehn
Copy link
Contributor

vaubaehn commented Sep 14, 2020

@mtb77 thanks ;)

I'd suggest to change title of this issue to "Add new sections App-Crash and Notes on Devices from Huawei or Honor"

If I find time later, I could add some information, why these sections should be added, if it's not obviuos enough already.

@vaubaehn
Copy link
Contributor

@mtb77 and if you like, you might add the links to the GitHub-Issues to the review-text in your comment already, as they're kind of part of this supporting information.

@mtb77 mtb77 changed the title App-Crash Huawei devices Add new sections App-Crash and Notes on Devices from Huawei or Honor Sep 14, 2020
@vaubaehn
Copy link
Contributor

vaubaehn commented Sep 14, 2020

Some additional information:

.
Changes in section '#no_risk_update':

https://www.coronawarn.app/en/faq/#no_risk_update
[...] If you have a Huawei or Honor phone, please also note these instructions.

=> would be displayed as a link to the section #huawei_honor

.
New section:

**[Google/Android]: Notes on devices from Huawei or Honor {anchor: #huawei_honor}

Why should this section being introduced?

  • A resonable percentage of CWA users own a Huawei or Honor phone, also older phones like Huawei P8 lite.
  • Many of them are experiencing still/currently problems running CWA: Either the automatic update in background is not working, error 9002 (sqlite, could not decrypt...), or app crashing immediately on start.
  • CWA processes being killed is one top reason for these issues, timeout problems should be taken into account additionally.
  • In the past weeks, it became clear, that only setting 'prioritized background activity' is not enough to set up Huawei devices to maintain a smooth running of background processes. Instead, additional settings may increase reliability of background processes and prevent app crash (at least for some time).

There are many user reports/issues related to above points in cwa/android. If you need proofs in terms of links to all that comments, please let me know, and I'll add them here.

For devices from Huawei or Honor, in addition to 'switching on the Prioritized Background Activity',

'switching on the Prioritized Background Activity' => links to corresponsing FAQ-section #no_risk_update.

[...] The GitHub community has compiled suggestions for making additional settings, and has also linked information about the system update. You can find all the details in this GitHub issue.** corona-warn-app/cwa-app-android#1053 (comment)

This is linked out from FAQ to a comment inside an issue, as it would take too much space inside the FAQ in my opinion. However, CWA maintainers still have full control on that content, as they are invited and able (access rights) to update the texts at any time.
.
.
Changes in section 'API39508':

https://www.coronawarn.app/en/faq/#API39508
We ask you to not de-install the app or to reset the data of Google Play Services, because this can remove the logged exposures, and it will not resolve this issue.

I suggest to change the information according to that comment of @thomasaugsten : corona-warn-app/cwa-app-android#642 (comment) . It is safe to delete CWA app data from inside CWA or via OS (Android > apps > CWA > storage), without harming collected RPIs or own TEKs. While app data may be safely deleted, deleting data of Google Play Services most likely deletes RPIs/TEKs. This is my own finding, as I was able to clear the counter for the API call in that way when experiencing API39508, but I assume all other data (RPIs/TEKs) als have been erased. If you don't like the part with Google Play Services, then at least the part "or reset the data of the app" should be removed, as this seems not to be the case, as mentioned above.
I would also suggest to change that information, as deleting data is currently the only option to get CWA up running again after app-crash on start (see below). This information change supports users not being concernd about whether they loose important RPIs/TEKs when deleting app data (because they don't).
.
.
New section:

**[Google/Android]: The Corona-Warn-App closes immediately after starting {anchor: #app_crash}

Why should this section be introduced (as fast as possible)?

  • 'Cause 9002: file is not a database' was opened as an issue in June, and indicates, that the keyfilescache-database is not accessible anymore (wrong db-password (altered EncyptedSharedPreferences) or corrupted on file system level).
  • 'Cause 9002: could not decrypt value' and 'App-Crash immediately on start' are subsequent errors, after the EncryptedSharedPreferences got corrupted and cannot be read from (and most likely also not be written to) anymore.
  • In consequnce, CWA is rendered useless.
  • For 3 months, no fix has been deployed.
  • While first mostly Huawei/Honor users with old devices have been affected, now the problem is spreading across different brands and Android versions. => Many, many people are affected.
  • Users are getting frustrated and are loosing trust in CWA, reviews in Google Play Store are bad, ratings for CWA are declining. That's not good at all for the project goal, and for the reputation of all stakeholders.

As a first aid measure, CWA can be got up running again, when CWA data (i. e., EncryptedSharedPreferences and sqlite-db) are deleted. However, some trade-offs may occur (e.g., loosing regristration for QR-code test result retrieval).
Unfortunately, this procedure seems to be unknown to the staff supporting affected users in Google Play Store and technical helpline. As they seem to get most of their information from FAQ, they might direct useres to here in support cases.
If so, users might be able to use CWA again without uninstalling, hence keeping their RPIs/TEKs, and be able to get warned or to submit own positive keys, even 9002/app-crash occured, until a real fix is provided.
If you need proofs for all my claims above in terms of links to all that comments in GitHub, please let me know, and I'll add them here.

The instructions of the section '#app_crash' are also linked out from FAQ to a comment inside an issue, as it would take too much space inside the FAQ in my opinion. However, CWA maintainers still have full control on that content, as they are invited and able (access rights) to update the texts at any time.
.
.
Changes in section '#cause9002':

https://www.coronawarn.app/en/faq/#cause9002
[...]
If you can no longer open the app, please read the section "The Corona-Warn-App closes immediately after starting".

=> "The Corona-Warn-App closes immediately after starting" links to corresponding section. As I wrote above, app crash is a subsequent problem of 9002. I think it makes sense to link it here to the corresponding section.
.
.
.
.
How to get this into a PR?
I would suggest, to create 5 PRs, to retain an overview:

  1. PR1: Add section '#huawei_honor'
  2. PR2: Add links from FAQ section '#no_risk_update' to new section #huawei_honor
  3. PR3: Add section '#app_crash'
  4. PR4: Add links from FAQ section '#cause9002' to new section #app_crash
  5. PR5: update/fix information on data loss in '#API39508'

If you agreed, I'd be happy to help here.
If wording is ok for you, you may invite me to create related PRs. (proof of skills: #308)
Final review, merging, and testing is on you.

For me the current situation (many people being affected and loosing trust, uninstalling CWA subsequently) is kind of heartbreaking. I'd be happy if I could help to mitigate that problem a little.

Thank you.

@vaubaehn
Copy link
Contributor

As the review process takes some time, I stumbled over one more thing for

Changes in section 'API39508':

https://www.coronawarn.app/en/faq/#API39508

Current sentence in FAQ is:

We ask you to not de-install or reset the app, because this can remove the logged exposures, and it will not resolve this issue.

As stated in my comment above, this is not exactly true, as logged exposures (in terms of RPIs/TEKs) are not deleted when erasing CWA's app data only.

So I recommended to change the sentence to:

We ask you to not de-install the app or to reset the data of Google Play Services, because this can remove the logged exposures, and it will not resolve this issue.

But in case of API39508, it is also useless to reset app data, and one would risk to lose other important data, i. e., when a COVID test had been registered before. To account for this, I'd suggest the change to be ...

We ask you to not de-install the app or to reset the data of Google Play Services, because this can remove the logged exposures, and it will not resolve this issue. Additionally, we ask you to not delete the app data of Corona-Warn-App, as this will also not resolve the issue in this case, but you might lose other important data, like a formerly registered COVID-19 test.

... finally.

.
.
Beside this, is there anything I can do to accelerate the review process from my side?

@vaubaehn
Copy link
Contributor

vaubaehn commented Sep 16, 2020

Hi Sascha (@mtb77 ), is there anything I can do to accelerate the process from my side?
Kind regards

@vaubaehn
Copy link
Contributor

Hi Sascha (@mtb77 ), could you kindly give a status update, where this issue is handled at within the pipe at the moment?
Thanks in advance and kind regards

@vaubaehn
Copy link
Contributor

Hi Sascha (@mtb77 ) , does it make sense that I already start to create the proposed PRs?
Any response from you would be highly welcomed.
Thank you, V.

@vaubaehn
Copy link
Contributor

Hi @JoachimFritsch , even "App crash/9002:could not decrypt" may be solved in a future update of CWA for many (most?) cases, it still takes a long time until it can be deployed. Meanwhile, ratings of Android app are continue to decline (3.0 at the moment), useres are uninstalling the App. And also, the developers definitvely deserve better ratings of the app, as they can't be blamed at all for these problems.
The proposed FAQ addition may help here a little, until one or more fixes can be deployed.
If it's in your responsibility - could you please green-light this issue for creating a PR? Otherwise, could you please push this subject to POs/PMs?
Thank you very much in advance!

@vaubaehn
Copy link
Contributor

Dear @JoachimFritsch , @mtb77 and @svengabr ,

I have to admit that I do not find ignoring my kind inquiries particularly polite. It seems that the inclusion of information in the FAQ on how users can get their Corona Warn app running again without having to reinstall it is being deliberately blocked. I have not yet been told the reasons for this.
I had already explained how important it would be for users to get their app running again without losing their RPIs / TEKs. As more and more users give up in frustration (see comments in the Google Play Store), I consider it irresponsible to continue to not making the workaround easily accessible in a prominent place.
I would therefore be pleased (on behalf of the users concerned) if the green light would be given for the creation of a PR as soon as possible.
If I don't hear anything else by Monday, the next level of escalation would be to make the problem more transparent on GitHub in a separate issue.

Thank you for your understanding and for your support in advance,
V.

@mtb77
Copy link
Member Author

mtb77 commented Sep 27, 2020

Dear @vaubaehn ,

sorry for letting you wait for the answer. The reason was to include a hot fix reducing the problems you mentioned directly in the next release to prevent the original issue instead of extending the documentation. We had a couple of discussions around this and raised your feedback, especially the one from our telco to the dev team.
By upgrading to "security-crypto-1.0.0-rc03", we get Tink 1.4, which in turn will no longer overwrite the encryption keys on congestion, but instead throw a recognizable exception. We can then detect that exception and perform a retry until decryption is successful - this should also include the fix for faster devices such as Google Pixel. However, this update must be tested carefully.

Let's do it like this: As we don't know how long it lasts to get the new release tested, I would highly appreciate if you would still provide the PRs you mentioned. Even if the new release will come up soon, we should help Huawei owners as soon as possible.

Thank you very much for your hard work and your dedication!

Cheers,

Sascha

@vaubaehn
Copy link
Contributor

Hi Sascha (@mtb77 ),

thanks a lot!
The PR has been ceated now and is ready for your review!

See you later,
V.

@mtb77
Copy link
Member Author

mtb77 commented Sep 28, 2020

I did it (again) lol :D
I will close this ticket here then - in case i missed something please just open it again.

Thanks to all of you!

Cheers,
Sascha

Corona-Warn-App Open Source Team

@mtb77 mtb77 closed this as completed Sep 28, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation enhancement Improvement of an existing feature
Projects
None yet
Development

No branches or pull requests

4 participants