I am currently working on Delta Chat interoperability for bower/notmuch ( GitHub - wangp/bower: A curses terminal client for the Notmuch email system · GitHub , https://notmuchmail.org). My goal is to support enough of the features Delta Chat uses that I can comfortably use my command line email setup to exchange messages with Delta Chat users. Currently, I am also using my command line setup in Multi Device Mode together with the Delta Chat Android app from F-Droid.
A couple of days back, I ran into what turned out to be an unexpected (from my point of view) quirk in Delta Chat’s behavior (see Upgrading a 1:1 conversation to e2ee using a second email client does not work as expected · Issue #7945 · chatmail/core · GitHub ). Therefore it would be valuable for me to know what the minimum requirements are for basic chatmail interoperability. To be clear: I do not want to incorporate chatmail/core into bower/notmuch and I do not want to support every single feature implemented in Delta Chat. For the moment, I only want to support as much of what Delta Chat does that I can use bower/notmuch to read and write messages (including group messages).
As of now, I have added, am in the process of adding, or am planning to add support for the following features:
- Header Protection (RFC 9788)
- Content-Type: reaction (RFC 9078) [read-only support]
- Autocrypt Level 1
- Autocrypt v2 [once that’s finalized]
On the other hand, I am NOT currently planning to add support for:
- WebXDC
- Calls
- Any of the non-standard extensions described in core/spec.md at main · chatmail/core · GitHub
An additional comment about the non-standard extensions: I am not opposed to these extensions; and I do like the use of Chat-* headers for user avatars, group list modifications, and the like. However, I am currently fine with not having shortcuts for these actions available in my command line setup, so if I can get by without implementing these non-standard extensions, I will prefer that for now.
One thing that came up in Upgrading a 1:1 conversation to e2ee using a second email client does not work as expected · Issue #7945 · chatmail/core · GitHub (and which I took up in Simplify "Show Classic Emails" setting (Resolved) ) is that the presence of the Chat-Version header can actually influence message deliverability if the other party has “Show Classic Emails” set to “No, chats only”. If the only way to fix this is to add a Chat-Version header, I might consider doing this. On the other hand, I guess that adding a Chat-Version header without implementing any of the other functionality described in core/spec.md at main · chatmail/core · GitHub would pretty much be the exact opposite of what this header is intended to achieve; so I would very strongly prefer not to do this.
In any case, it would be very useful to me if there was a list of minimum requirements that third-party email clients need to support to be considered chatmail-compatible. I am aware of core/standards.md at main · chatmail/core · GitHub , but this seems to be the maximum one could try to support, rather than the minimum.