-
-
Notifications
You must be signed in to change notification settings - Fork 2.4k
Open
Labels
Description
We currently show a toast when we detect that one or more of the four "secrets" is missing from either 4S or the local device:
What happens next depends on whether the secret is present on the local device or not.
There is similar behaviour within the Settings dialog itself:
We would like to update the wording of the toast and settings dialog so that it depends on where the secret is missing from; there are also minor changes to the screens that come after.
- Update the
EncryptionUserSettingsTaband theDeviceListenerso that they use the same logic to decide when secrets are out of sync. Currently, they both invent this wheel, meaning that they can disagree. - Update the toast and settings wording to identify whether the the key is missing from the local device, 4S, or both. (Currently they use the same wording for all three situations.)
- If the user clicks "Enter recovery key", then the "Enter your recovery key" screen should be shown within the "Encryption" settings dialog. Currently it is shown as a stand-alone modal.
- If the key is missing from both 4S and the local device, there is no point getting the user to enter their recovery key. Update the toast and settings wording so that there is only a "Continue with reset" button, which takes you to "Reset encryption" in the settings dialog.
- If the secrets are missing from the local storage, and the user has already tried to repair them by entering the recovery key, remember this (until the client is restarted), and show settings/toast wording telling the user we failed to fix it and they need to do a full reset. Treat as above.
- Related: Fixing "key storage out of sync" fails silently if 4S and local device both lack backup key #30435, which tracks a case in which we do not currently detect failure to load secrets.