Delta Chat version
2.35
I manage a group on Delta Chat where all users (including myself) are currently using the same relay. This relay is now malfunctioning: it only delivers messages between users on the same relay, and cannot send or receive from other relays.
We want to migrate everyone to a new, working relay, but I’m unsure how to proceed with the transition.
The problem:
For me to get someone’s new address, they would need to message me from their new relay. But they only have my old relay address—and my old relay doesn’t accept messages from other relays.
Is there any way I can manually update or set a new relay for my existing contacts?
Any advice or known methods would be greatly appreciated.
1 Like
I assume you have seen guide for migrating to new relay when federation works: How to migrate your profile to another relay (version 2.33)
Maybe something like this will work:
- Add secondary relay that federates properly to your current profile. Don’t select this relay as primary so you can still message your contacts.
- Create a new separate profile on a well-functioning relay that federates properly. This way you will know that anyone who contacts this profile is on a new relay.
- From this new profile create a “migration” group. Create invite link for this group.
- From your old profile write an instruction for other group members, telling them to:
- Add new relay on the same relay as your new profile.
- Select this new relay as primary.
- Click the invite link to join “migration” group.
- Follow the instruction you just sent yourself: switch your primary relay to the new one, join the “migration” group via invite link.
- Wait for everyone to join the “migration” group.
- Once everyone has joined the “migration” group, you can abandon it and keep chatting in the old group as you will have new addresses of everyone.
- Once you are sure everything works correctly, you can also delete separate profile that was inviting others to migration group.
Thanks for your suggestion.
I tried the method you recommended, but unfortunately, it doesn’t work in my case. The issue is that when new members join the group, my main profile still does not receive their updated relay address.
Is there a way to make Delta Chat completely “forget” a contact so they can rejoin a channel using a new relay?
Consider this scenario: my friend and I are on the same relay, and that relay stops working. We both switch to a new relay for sending messages, but Delta Chat still only knows the other person’s old relay address. Since the old relay is down, there’s no way to exchange messages and no built-in way to update the address.
This seems like a deadlock—is there any workaround or setting to force a contact refresh?
Do they write anything to the group? They need to write something after joining, then the address will be updated.
Yes, they write. The recipients relay addresses remain unchanged. And there the sender gets a “Undelivered Mail Returned to Sender” error.
Well, I see, for their address to be updated they need to write from the new address, but they cannot write to you from the new address because they still have your old address.
Also receiving a mail seems to be the only way to update the address, clicking on a vCard does not update it.
Exactly—that’s the issue.
From what I can see, this problem can’t be solved with the current setup. My only option is to create a new profile, set up a new channel, and ask all members to join it using a working relay.
That said, I’m wondering if a feature could be added to Delta Chat in the future—one that would allow the sender to manually select or update a recipient’s relay address. This would prevent this kind of deadlock when a relay fails.