Repository navigation
Adds the missing ways to begin a DM.
Until now Messages only listed threads that already existed, and a profile offered nothing but Follow — so there was no route into a new conversation at all.
- Message button on profiles, the round button the web client places beside Follow.
- Compose button on Messages, opening a people picker you can search by name or by
@id. - Note to self — opening a conversation with your own account gives a private thread, listed first in the picker.
Both entry points open the existing conversation if there is one and create it on first use.
Creating a conversation was also being requested in the wrong shape: the sealed keys belong in encryptedKeys rather than keys, memberIds lists only the other participants because the API adds the sender itself, and a key has to be sealed for every participant including the sender — otherwise the person who started the thread could not read it. Participants without an identity key are now named in the error rather than failing anonymously.