Skip to content

Direct Message: Manage encrypted DM in case of invite by email #23133

@giomfo

Description

@giomfo

Your use case

Context sum up

Currently this is possible to start a new DM by filling an email address.

The resulting DM is an unencrypted room (even if the encryption should be enabled by default according to the HS well-known configuration) because there is no way to encrypt message in this room until an actual matrix account has joined the DM:
image

The purpose is to let the end user start sending messages before the invited contact creates theirs account and joins, but there is some concerns:

  • we run the risk to let people using an unencrypted DM without being aware of that
  • matrix.org allows us to create unencrypted DM, but some HS may force the encryption in the created DM. The user experience would not be good then

What would you like to do?

After discussing with Design team, we converged to the following solution:

  • When the HS promotes the encryption (via the well-known endpoint), the DM will be created by enabling the encryption. The chat composer will be disabled until a matrix account is created by using the invited email
  • In order to be able to name correctly the resulting room, only one email address will be allowed at once. The created DM will be added to the m.direct dictionary by using the email as key. The Element clients will then able to add this DM in the right people section and name it with the full email address

Here are the suggested design:
Screenshot 2022-08-22 at 18 54 42

Figma: https://www.figma.com/file/OvsSONqAyabcUDYp8tnEs6/Start-a-DM?node-id=1373%3A49380

Have you considered any alternatives?

No response

Additional context

We plan to work on a PR for this in the following weeks

Metadata

Metadata

Assignees

Labels

A-DMsA-Immutable-DMsO-FrequentAffects or can be seen by most users regularly or impacts most users' first experienceT-Enhancement

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions