Skip to content

Scanning QR for existing contact doesn't update relay list #8329

@DarkCat09

Description

@DarkCat09
  • Operating System (Linux/Mac/Windows/iOS/Android): any
  • Core Version: 2.51.0
  • Client Version: AC 2.51.0

Both users suddenly lost connectivity to all of their relays. They added another relay, which is accessible, and set it as main. Of course, they still couldn't communicate, because there was no way to announce a new relay list to each other (clients know only about old relays so they try to send updates there).

That's why the friends used a different channel (e.g. met IRL) to send their QR codes once again.

Expected behavior

They would expect that clients update their relay lists according to the contact info inside the QR codes, and they can continue talking in Delta.

Actual behavior

But Delta Chat client doesn't update a list of announced relays on scanning a QR in case a contact already exists. It simply opens the existing chat without altering any contact info.

Now, both users have no way to restore connectivity between their profiles unless the old relays are accessible (if users don't delete them).

Steps to reproduce the problem

  1. Create two profiles and init a DM chat between them.
  2. Block the chatmail relay(s) that these profiles are connected to, e.g. with iptables.
  3. Add new relay(s) to these profiles, set it as a main relay instead of the blocked one.
  4. Try to send messages in DM, expected to not work.
  5. From the first profile, generate a contact link or QR code, and then try to add a new contact by this link/QR from the second profile.
  6. Relay list in "Encryption info" doesn't change, profiles still can't send messages to each other, this is unexpected.

Screenshots

Anyone needs?
I can make a screencast on reproducing the issue.

Logs

N/A

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething is not working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions