Dovecot pro tips?

Any options in Dovecot to turn on to make Delta Chat even faster? Like, what is “Push IMAP”?

Especially for background notification stuff on iOS; I have my own mail server so anything that could make notifications work better would be awesome.

“Push IMAP” is an IMAP IDLE extension, it should be available by default.

For iOS the problem is that iOS itself kills the Delta Chat application whenever it wants, in which case Delta Chat can’t maintain any connection to the server. As a workaround there is a delta chat server that sends push notifications regardless of whether messages are received, but it happens only every 15 minutes or so. Proper solution would be to either require that Apple stops killing the apps and allows other mail clients than the official client to work in the background, or implement support for GitHub - dovecot/coi: Chat over IMAP plugin for dovecot plugin that routes push notification through the centralized Apple server.

1 Like

Is this something I can install on my own mail server?

(I can’t believe how bad this notification thing works in practice on iOS. I’m not blaming Delta Chat for that, it’s clearly Apple’s fault, but it’s so weird that I sometimes can miss an email for more than an hour while on the desktop we’ve had reliable notifications since the days of biff. I have a friend who is an Apple “fan” and he was saying “Why don’t they just route it through Apple’s server” and I couldn’t believe my ears at such a creepy suggestion. This centralization trend defeats the entire point of the internet. None of that is to throw any shade at Delta Chat, my favorite app on here.)

1 Like

Apple doesn’t even need to allow us to run in the background, it would be sufficient if they would provide an api keep the imap connection active and wake us up once the idle is done - sure this api also needs to wake us up when the imap connection breaks of to reconnect but I don’t think this is would be so much work for them.
But we would need to pitch them this first and only if they don’t listen start a petition and escalate this further and further until they listen. And doing this is very time consuming for us (but I’m confident that we can reach actual people, not just robots like with the google oath verification). Also we should start at a code level support request and apple forum post before harder things like public pressure, maybe they are not aware of the problem, so I’m giving them the benefit of the doubt until it is proven that they do this intentionally.

I think it’s key to describe our exact problem and pitch them some ways how they could solve it:

  • api to wake app on new data on socket/connection (+ api’s to reconnect when the connection is lost, or flight mode is turned off)
  • allow some apps to always have their background process running (might be that this adds cost, because apple might need to validate that our background process really doesn’t drain the battery faster)
  • maybe there are other ideas that could work
1 Like

Perhaps some of these issues are common to other third-party mail apps.

The other app offering an e-mail cilent on iOS is Spike and they work around this problem by routing all the emails via their server. You give your email password to their servers and they store your emails and contact list on their own servers then, it is clear from their privacy policy. The client installed on the phone talks to Spike servers rather than your email server, and because Spike servers have access to your emails they can send notifications to the Spike client via Apple server.

This is not a solution for Delta Chat because Delta Chat does not want to offer any servers, let alone store the email password or OAuth token anywhere other than the client.

2 Likes

This is why we love Delta Chat :heart:
But this is a huge flaw in iOS (which I should be complaining about at Apple HQ, not here).

Since I use my own mail server I was thinking maybe there was something I could install on my server to make notifications work better, some weird custom protocol that pings my tablet, but, maybe only the app signer can do that.

1 Like
Side Note for tinkerers

if permanent jailbreaking would be still a thing (it’s not anymore AFAIK, but correct me if I’m wrong) someone could probably create a workaround (patching system processes) that allows DeltaChat to run in the background. Though jailbreaking is risky and requires expertise to do properly (without downloading malware in the process, kinda like rooting tools for android there are many black sheep who want to scam/harm people with fake software). So not a solution for the masses, just a potential hacky workaround fix for tinkerers.

But If you value the time you would spend on such device modifications and compare it against the money needed to by an decent android phone (like the one from the /e/ foundation, or a cheaper used one on which one could install linage os [for more privacy]) the latter option probably wins (depending on the financial circumstances of course).

1 Like