This adds dialogs for creating and accessing secret storage via a passphrase or
recovery key. These flows are adapted from the ones used for key backup.
Since the initial key backup can take several minutes for some users, this moves
the upload step to the background. The create key backup flow now only marks
all sessions for backup synchronously, with the actual backup happening later.
The key backup panel in Settings gains a new row to show a summary of upload
status. Users are directed there if they wish to know if the backup is done.
The text in various related dialogs has also been tweaked to fit the new flow.
* Put a cancel button on the first page of the create key backup
dialog
* Move settings logic into the room reminder: I know this is moving
logic *into* a view but RoomView is quite heavyweight as it is.
* Give the recovery reminder an explicit 'onDontAskAgainSet' rather
than onFinished which was getting called with false when the last
screen of the dialog was closed with the cancel 'x' rather than
the 'close' button.
https://github.com/vector-im/riot-web/issues/8066
The download / copy actions to store the new recovery key now send you forward
(the most likely case) with a Back button in case you wanted to also do the
other storing type.
If creating a new key backup version succeeds but backing up to it fails, delete
the version to avoid surprises. In addition, this converts the creation of a new
key backup to async / await style.
Signed-off-by: J. Ryan Stinnett <jryans@gmail.com>
This adds an in-room reminder above the message timeline to set up Secure
Message Recovery so that your keys will be backed up. If you try to ignore it,
an additional dialog is shown to confirm.
Fixesvector-im/riot-web#7783.
Signed-off-by: J. Ryan Stinnett <jryans@gmail.com>