Switch to local server?

Some time ago, I recommended Deltachat to a couple and they started using it, registering accounts with the geographically closest server. Then they moved continents and the messages between them became very slow. When they told me I helped them re-register new accounts from a server on the same continent, and it started working promptly again, but in the meanwhile they’d switched over to a proprietary messenger. They also didn’t want to go to the trouble of re-contacting their friends to swap keys again, nor switch addresses repeatedly (they move seasonally).

Is this now fixed if you use the new P2P functionality? I presume you could now mail out a vcard introduction of your new account from your old account. Is there any way of labeling two accounts as geographical variants of one another or some such? This would leak information about what continent you are on, but that might not be a big deal for some users.

This is a minor disadvantage of individuals hosting local servers; they don’t have a global network of servers and automatically route you through the nearest one. Forwarding would only increase the delay.

edit: this post seems related, it suggests letting recipients group several accounts together and treat them as one person.

I did not have this problem myself and would be happy to hear from anyone who has.

how much delay are we talking about in seconds/miliseconds?

One of them said about 25 min and the other about 15; both agreed it was variable.

have they tried chatmail? Chatmail for instant, interoperable and privacy-preserving messaging - Delta Chat

Chat mail is a best case email server configuration that we developed which solves a few problems:

  • normal message roundtrip times are like under 1 second
  • push notifications on iOS work reliably
  • easy to setup and login without any personal info

With normal email providers there might be spam checking delays and other processing delays.
If it would be only the internet connection to the server, then other messengers would also be slow or not work at all. Like reaching other continents normally takes (milli)seconds, not minutes.

The p2p functionality currently is about the realtime channels in webxdc
There are ideas about multi-transport (using multiple email providers at the same time) that might solve this issue, but realistically this will not have been realised before start of 2026.

For now I would recommend to use any chatmail server, this should already solve the issue. If not we’d like to hear about it, so we can improve chat mail.

Though the disadvantage of chatmail is that you can not send unencrypted mail, so someone has to write you first announcing their key or you have to use vcard or qr code scanning feature to establish the contact.

They both used a chatmail server listed in-app. I think it was based in Germany. It was fast while they were in Europe. Of course, it could have been co-incidence that it slowed when they moved; it could have been the server’s ISP or anything. This is anecdote and not data. :face_with_diagonal_mouth:

They were both in the same room setting it up, so using the QR code scanning was not a problem. VCard would have made it even easier to add others, and I’m really glad that now exists. Thank you for adding it.

By multi-transport, you mean something like garlic routing in I2P? That sounds hard to implement.

Even 10 minute delay is not explainable by moving somewhere, I am pretty sure you will get message delivered end-to-end in <10 seconds regardless of where you connect from. There are users from US on servers hosted in Europe and for them it is very fast.

Is it actually about message delivery delay or some problems with notifications? How the delay was measured?

1 Like

I also suspect the problem was actually delayed notifications, maybe it was before we added push notifications support or they use the app from f-droid, they need to install the app from google play that has support for push notifications

I checked and they did indeed install it from F-Droid; they were looking for something as reliable as a distro package repository. They were going by when it went “bong”. Thank you for solving this. I’m not sure why the notifications became near-instant when I switched the server, but I’ll go with “chance”.

I take it this will not be fixed in an F-Droid update and a backup, deinstall, and reinstall would be needed.

From the F-Droid/FOSS perspective there is nothing to “fix”. I think F-Droid considers FCM an unacceptable anti-feature cos you need to put proprietary Google code in the app and also tie the app to a proprietary network.

I don’t know if a deinstall and reinstall is needed, maybe someone else can answer you about that, but be careful with backups, their not encrypted, so you don’t want to put your backups in the cloud for security reasons. I don’t know when DC will make backups encrypted?

The delayed notification issue is actually due to the Android OS. If you don’t want to use the Google Play version of DC with the proprietary FCM code, there is a setting to force background connection for DC which sometimes helps, otherwise switching to a custom ROM can also solve the issue

I won’t stick the backups in the cloud. :grinning:

F-droid does consider a lack of notifications to be undesirable, and has a non-proprietary notification service, the vowel-free ntfy.

Jami, a peer-to-peer messenger also on F-droid, uses it, and any server can use it. You subscribe to the notifications you want in the ntfy app.

I assume it would be possible for the F-droid Deltachat to use ntfy, but I don’t know how much work it would be.

If you can run ntfy client on your phone in the background without OS killing it, you can as well run Delta Chat in the background. IMAP IDLE is just as efficient as the protocols ntfy and similar push notification services use.

2 Likes

It would be great if that worked out of the box, and good if you got instructions on configging it at install.

Would it still be equally efficient if there were multiple apps using ntfy?

IMAP IDLE does work out of the box and there is no need to config anything at install, except possibly enabling “force background connection” in some cases. If it doesn’t work this means the problem lies with your OS and there’s not much you can do apart from switching to a better OS

1 Like