pub(crate) async fn handle_securejoin_handshake(
    context: &Context,
    mime_message: &MimeMessage,
    contact_id: ContactId
) -> Result<HandshakeMessage>
Expand description

Handle incoming secure-join handshake.

This function will update the securejoin state in the database as the protocol progresses.

A message which results in Err will be hidden from the user but not deleted, it may be a valid message for something else we are not aware off. E.g. it could be part of a handshake performed by another DC app on the same account.

When handle_securejoin_handshake() is called, the message is not yet filed in the database; this is done by receive_imf() later on as needed.