Create DM room only on first message
User Story
- As a user sending a DM to someone I do not have an active DM conversation with
- I want the room to be created only when I first send a message (text, image or voice)
- So that the recipient receives the invite only when there is a message in the room
Detail
-
The user selects someone (Corey) to DM, the current implementation is :

-
[x] We request first to rename the option "CREATE" with "GO"
-
[x] When the user presses 'GO':
- if there is already a DM with Corey : open the DM
- if there isn't DM with Corey, instead of the room being created (and Corey being invited to an empty room), The user sees the following interface with the composer (the room has not been created).
-
[x] If the user doesn’t send a message ( = Dismiss modal (close button)) no room is created. The user has to start again.
-
[x] If the user does send a message, then the DM room is created by inviting Corey and the message is sent.
Additional Requests
-
[x] If several contacts have been selected in the picker before clicking on the GO option. The interface is adapted :

-
[x] If the user selects at least one email address in the selected contact list, the resulting DM will be unencrypted. We have to hide the following tile in the interface

@Florian14 we have to apply the same process (create DM only on first message) when the end user decides to start a DM from the room member details screen (by clicking on "Direct message" option), whereas the DM is not existing yet.

UX Review 11/07/22 : Reviewing the whole flow of Start a Chat
- [x] More space is needed next to the GO button (on the right) - security padding is mandatory on mobile min 12px
- [x] Title in the fake room should read " Direct message" in singular
- [x] We need a loading Screen between the screen when user sends the first message and when the room is created. The sting should read: "We're creating your room" (see #6970)
- [ ] If the invitee has not joined the room yet, we should hide the calling options in the nav. (see #6973)
- [ ] When inviting email address only the subsequent screen displays: " Empty Room" Instead of showing the full email address string to the user. This will be managed by #6912
- [ ] When inviting email addresses + Matrix user, The email string is not recognised in the fake room meaning that: When choosing an email + a matrix ID > Next step shows only the Matrix ID and does not report the email address previously selected. @gaelledel we have to discuss about this point, we don't know what is expected in this use case
- [ ] When an invite is done by email and the person receiving the email creates an account in Element, we are then observing 3 members in the created room: the email address, the new element account, the sender account. This is NOT expected behaviour --> We should only show 2 members, the requester account and the newly created account. (see #6974)
UX Review 14/09/22
- [ ] The keyboard should not overlap the timeline display https://github.com/vector-im/element-android/issues/7244
- [ ] https://github.com/vector-im/element-android/issues/7172
I close this issue, each unchecked points (UX improvements and others) will be delivered later. They are all tracked by dedicated issues