All DeltaChat clients stop receiving messages after server been restored

Delta Chat clients runs version : 1.14 - 1.20.2

The short story, - email server get crashed and after restoring it from backup, all email clients (Outlook, Thunderbird all phone’s email apps) started working without problem, except DC.

While we know about 3-2-1 backup rule (and actually doing 5-4-3-2-1) there happened a case where backup system missed one full day. That’s the only thing that may explain why DC clients stopped working on all clients. I tried to dig DC log and find such line:

DeltaChat: src/imap/mod.rs:800: fetch_new_messages: ignoring uid 97743, last seen was 97860

that lead me to believe that DC somehow using/counting sequence of messages and since server lost messages for one full day, DC on all devices get unsynchronized and stopped working.

DC clients successfully sending messages, but nobody can receive it.
I can see on the server, that clients get connected, moving files from new to cur folder but won’t process them as DC messages.

So, my question is - what to do ?

There was an attempt to fix this issue at

Maybe the fix was not enough. Are you sure 1.20.2 is not working? Are you talking about Android or Desktop by the way? The string fetch_new_messages: ignoring uid does not exist in the latest versions. For Desktop, try updating to the next release: 🧪 Help testing the upcoming 1.20.X release

One fix you can do on the server is to reset UID validity for inbox, causing redownloading of all messages. Delta Chat will ignore duplicate messages based on Message-ID header anyway.

1 Like

Moving from new to cur means only that client has selected the folder. This moves all “recent” messages to cur so they become not recent.

My is for sure on 1.20.2 and all clients are Android. It showed status on my phone that it sent message but recipients wasn’t able to receive it.

I sent over email to all known corespondents notice to force update/reinstall DeltaChat to the latest version and after they restarted phones it started working.

Thank you for the clue !!!
Everything is working now !

Do you know how to do it gently on a dovecot server, because AFAIK UID-validity kept there in two places:
dovecot-uidvalidity
and
dovecot.index

and playing with indexes on dovecot is kinda unsafe operation.

So latest Android version 1.20 at https://download.delta.chat/android/deltachat-gplay-release-1.20.2.apk successfully rewinds last seen UID, right? It only matters what recipients use in this case.

If it is fixed by updating the clients, then it’s better to update the clients rather than try changing UID validity on the server. If you absolutely have to fix it without updating all the clients, you can probably rename the Inbox into Inbox2, create new Inbox and move all messages there. Because UID validity is a property of a folder, new Inbox will have new UID validity. But of course try it on a single client first, in case it causes other issues.

Yes, updating to 1.20.2 return communication back, thank you one more time !

Yeah, that would be probably the easiest case to try.
Thanks !

1 Like