Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Show or create direct message room #1014

Closed
6 tasks done
Tracked by #989
alfogrillo opened this issue Feb 17, 2023 · 0 comments
Closed
6 tasks done
Tracked by #989

Show or create direct message room #1014

alfogrillo opened this issue Feb 17, 2023 · 0 comments

Comments

@alfogrillo
Copy link

alfogrillo commented Feb 17, 2023

As a user I want to create a new 1:1 chat with an other user.

  • The users can use the matrix-id of an other user to create a new chat
  • A new timeline view is shown

Designs
Start a chat

Note

ACs

  • The user can type a matrix identifier in the search field
  • Exactly one user with the typed identifier will be shown under the search field
  • The real search isn't part of this ticket we just want to navigate to a DM room with the matrix identifier the user is typing
  • Tap on the user opens a timeline with the user's avatar and display name
  • The search screen should be dismissed before the navigation to the timeline
  • The room is created after the user taps on a person he found
    • A fullscreen loader should be shown during the creation
    • Show a fullscreen alert in case of errors
      - Title: "Server error"
      - Description: "An error occurred when trying to start a chat"
      - "Cancel" button: dismiss the alert
      - "Retry" button: retries the room creation
  • ⚠️ When creating new chat the room preset should be: preset: trusted_private_chat
  • If a user has already a pending chat with another user, the existing timeline should be shown instead
    • The account_data.m.direct must be used to check the pending DM chats with a given user (more details here)
    • Show the first room with the target user in the account_data.m.direct where the current user has the join membership (if any).

APIs

Out of scope

  • Creating a 1:1 with an email will add the email to the m.direct dictionary of the account data. This email is then replaced with the matrixId when the user creates an account. This is currently done client side. -> should we keep this behaviour and will this be done in the rust sdk?
  • After creating a 1:1 with an email, when the user creates an account, there are then 3 members in the room (myUserId, the email address, the otherUserId) -> how to manage this?
  • When creating a DM (1:1 or group) including an email, the DM is not encrypted because the second user will not be able to decrypt messages sent before joining the room with the account. This should be solved by setting the history visibility to shared (currently, this is not supported on mobile clients)
  • Should we also support MSISDN invites?

Tasks

Preview Give feedback
  1. Z-ElementX-Alpha enhancement good first issue
    alfogrillo
  2. Z-ElementX-Alpha enhancement
    Florian14
  3. Z-ElementX-Alpha enhancement
    alfogrillo
  4. Z-ElementX-Alpha enhancement good first issue
    flescio
  5. T-Enhancement Team: Element X Feature
    Florian14
  6. T-Enhancement Team: Element X Feature
    flescio
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants