#1073037 [RFP]: deltachat-desktop -- A chat client, uses any email server as a backend

#1073037#5
Date:
2024-06-12 02:09:49 UTC
From:
To:
*backend: any standard-compliant mail server
*frontend: dedicated Deltachat clients (packaging requested) or standard IMAP email clients (inferior).

Deltachat clients have normal chat interfaces (including group chat). There are GUI clients for all common platforms: desktop OSs (Linux, macOS, and Windows), and mobile OSs (Mobian/mobile Linux, Android, and iOS). The clients are all GPLv3, and all depend on a common client core, deltachat-core-rust (Mozilla Public License v2), which has a command-line interface. (https://github.com/deltachat)

The deltachat-desktop client would probably fit best in Debian, and its packaging is requested. The mobile client made for UBports is called Deltatouch. It is third-party, GPLv3. It would make a good addition to Mobian, if anyone is willing to package it (https://open-store.io/app/deltatouch.lotharketterer). A web client is planned.

Autocrypt and SecureJoin are used for end-to-end encryption (https://delta.chat/en/2024-03-25-crypto-analysis-securejoin). The server(s) see(s) only the addresses of sender and recipient, and message timings and sizes; other metadata is encrypted. If a recipient does not have a Deltachat client, they can use a regular email client or webmail client to reply, though they will have inferior formatting (and usually transport-only encryption; the client UI warns when encryption is unavailable).

It is possible to use multiple pseudoanonymous profiles in one client, and the same profile in multiple clients on multiple devices. Database encryption is in beta on mobile, and does not yet exist on desktop. Perfect Forward Secrecy is not (yet) implemented. Messages may contain an autodeletion-time request. Clients can be backed up to and restored from a backup file (including keys and contacts), though there's no built-in way to deniably encrypt the backup file (hiding it locally or on a server). (source: https://delta.chat/en/help)

As a backend, any email server works, as long as it uses IMAP. Email servers that require a server-specific protocol to talk to the server, like Tutanota and Protonmail, therefore do not work. See also https://www.ubuntubuzz.com/2021/09/delta-chat-overview-and-installation.html and https://pocketnow.com/10-ways-delta-chat-is-better-than-whatsapp-signal-and-telegram/

Upstream says getting stable clients packaged natively in Linux repositories is their current goal, and they have Deltachat running on Debian (search "repositories" in https://delta.chat/en/help). They probably need help or advice on packaging dependencies. The list of dependencies is here: https://aur.archlinux.org/packages/deltachat-desktop

Deltachat seems pretty stable; it's been around since 2017. Contributors include a roughly 12-person team at Merlinux (Freiburg, Germany), with assorted public funding, private donations, and third-party developers. (https://www.vodafone.de/featured/apps/delta-chat-app-funktionen-e-mail-test/)

I, the RFP submitter, am not in any way affiliated with the project. I've tried to be accurate, but I'm working from public info only, and the devs would know better than I do about everything.

#1073037#14
Date:
2025-03-12 21:20:16 UTC
From:
To:
I am informed that deltachat-desktop is not the best client to package, due to dependencies, and Deltatouch would be better (both work on mobile and desktop). I'll list all the dependencies.

*deltatouch (https://codeberg.org/lk108/deltatouch)
   *deltachat-core (https://deps.rs/repo/github/deltachat/deltachat-core-rust)
   *libquirc (https://github.com/dlbeer/quirc)

All Deltachat clients depend on the Deltachat core package, which comes in multiple crates. This core has a total of nine dependencies which aren't already packaged in Debian:
*rust-deltachat-core-rust (https://deps.rs/repo/github/deltachat/deltachat-core-rust)
   * rust-async-imapy
      * rust-imap-proto
   * rust-async-native-tls
   * rust-async-smtp
   * rust-escaper
   * rust-fast-socks5
   * rust-rust-hsluv
   * rust-tagger
   * rust-tokio-tar

libquirc is used because it is faster than zbar; Deltatouch is open to swapping the QR dependency to zbar if libquirc is a serious obstacle to packaging.

Iroh dependencies are omitted as they are numerous and provide supplementary functionality, often turned off in the GUI (in-chat apps, for playing chess etc.).

For details, see https://support.delta.chat/t/minimal-dependency-install/3216