A libpurple plugin for https://delta.chat
Go to file
Nick Thomas 47cc4c1772 Fix displaying contact name 2022-05-23 21:28:27 +01:00
pixmaps/pidgin/protocols "Borrow" delta.chat logo 2018-05-01 23:36:26 +01:00
.gitattributes Update to delta v0.41.0 2019-04-11 20:38:16 +01:00
.gitignore Update deltachat-core to v0.35.0 2019-01-06 01:22:29 +00:00
LICENSE License under GPLv3 for compatibility with deltachat-core 2018-05-02 00:07:06 +01:00
Makefile Use native libpurple HTTP functions 2019-04-11 23:57:11 +01:00
README.md Fix showing duplicated messages 2021-01-12 00:04:46 +00:00
delta-connection.c Fix displaying contact name 2022-05-23 21:28:27 +01:00
delta-connection.h Get compiling against libdeltachat 1.83 2022-05-23 20:47:35 +01:00
libdelta.c Compile against purple 2.14 2022-05-23 18:34:56 +01:00
libdelta.h Fix showing duplicated messages 2021-01-12 00:04:46 +00:00

README.md

Delta Chat plugin for libpurple

Overview

Delta Chat is an instant messaging application based on email - which is to say, SMTP+IMAP.

Delta has:

This project is a libpurple plugin that wraps deltachat-core, allowing a number of existing desktop and mobile clients to send and receive IMs over SMTP+IMAP. It may be useful for Linux-based mobile devices, for GUI desktop usage without an Electron dependency, or console desktop usage.

Current status is probably best described as "skunkworks", although connecting to an account and sending / receiving text and image messages should work reliably in pidgin. Chatty supports text messages, and can be coaxed into using this plugin, but there's a long way to go with that yet.

A big refactoring to use "proper" purple IM structures is necessary to make further progress, I think.

I also need to implement support for the buddy list.

We currrently build against deltachat v1.50.0. You'll need to build and install deltachat-ffi separately and ensure that it's available via pkg-config for deltachat to install.

Build

There are some licensing issues at present, so you shouldn't build this plugin.

deltachat-core-rust uses a vendored openssl 1, unconditionally links it, and is MPL-licensed.

purple-plugin-delta is GPLv3 without the OpenSSL exemption

libpurple itself is GPLv2 without the OpenSSL exemption.

There's no point to purple-plugin-delta adding the OpenSSL exemption because libpurple lacks it, and in any event, it will be unnecessary with the next major version of OpenSSL. So, time should resolve this for us one way or another.

Use

The easiest way to use this is to copy the libdelta.so file into ~/.purple/plugins. When running pidgin, you'll now have the option to add a "Delta Chat" account.

If it doesn't show up, chances are pidgin can't find the various shared libraries the .so depends on. You can run ldd ~/.purple/plugins/libdelta.so to confirm. I'll document fixing this after the build and install system is settled.

At present, the "Username" and "Password" account fields correspond to email address and password, respectively. Many important settings also show up on the "Advanced" tab - if left blank, the plugin will attempt to automatically detect the correct values, but you may need to fill some of them in manually to get the connection to work.

Run pidgin with --debug to see interesting output.