Skip to content

Chatmail accounts can't initiate handshake without an already-established second channel #472

Open
@Wurzelkoch

Description

This issue affects all deltachat client UIs, but is rooted in the design of the chatmail servers, so I'll add it in this repo.

Scenario:

  1. A doesn't use any messengers yet, (or at least none that B uses) and installs deltachat. Following the pattern on the configuration screen, they get an account at nine.testrun.org. Someone else initiates a conversation, which works fine.
  2. A wants to chat with B on deltachat, who is not near them. (Or both of them use devices without working cameras, likewise, QR-code handshakes aren't possible).
  3. a. They get B's deltachat/mail address from C (which could be a person, a piece of paper, or a website).
    Expected process: A types B's address into deltachat and initiates a handshake.
    Reality: There is no possibility to type in an address of a potential chat partner.
    b. A gets B's deltachat/mail address from C via a deltachat message.
    Expected process: A clicks/taps on the address and initiates a handshake
    Reality: A gets a pop-up that tells them they can't chat with B (and need to set up the connection using a second channel, preferably the QR code).
    Side note: Today, the author and both A and B struggled half an hour with this until A installed signal just to be able to chat with B, and only afterwards we found out how the second channel handshake works without a QR code. So, while this issue only is a technical barrier if there is no established second channel and no way to scan QR codes, I find it to still be a huge skill barrier if a remote second channel exists, and people might (or, in today's example, did) decide to stick to the second channel altogether.

Proposed solution:

Allow chatmail servers to send the invite message unencrypted and, in deltachat, add a button to the popup described under 3b that initiates the handshake by sending the invite link to the mail address that was typed in/clicked on.
If B already uses deltachat, they should then see a message along the lines of "A wants to chat with you. Accept?" and upon accepting, the handshake should be initiated as if B clicked on the link in a second channel, while a B who doesn't use deltachat (yet) sees the extant invite message in their mailbox.
Also, in the deltachat UI, re-add the possibility to manually add contacts and present the prompt to initiate handshake as if they clicked on an address in a deltachat message.

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions