Messaging app for Ubuntu Touch, powered by deltachat-core
 
 
 
 
Go to file
Lothar Ketterer 8918ad5e7f add small colored shape that displays the connectivity status 2023-09-30 23:23:22 +02:00
assets updated translations 2023-06-24 23:58:35 +02:00
libs update to deltachat-core-rust v1.122.0 2023-09-18 21:46:05 +02:00
plugins add small colored shape that displays the connectivity status 2023-09-30 23:23:22 +02:00
po add database encryption 2023-09-18 21:44:46 +02:00
qml add small colored shape that displays the connectivity status 2023-09-30 23:23:22 +02:00
.gitignore added translations made by the deltachat team on Transifex 2023-05-05 12:45:14 +02:00
.gitlab-ci.yml initial commit (again) 2023-04-07 14:29:02 +02:00
.gitmodules added in-app QR code scanning 2023-07-23 22:38:31 +02:00
CHANGELOG add small colored shape that displays the connectivity status 2023-09-30 23:23:22 +02:00
CMakeLists.txt push notifications, mute chats, major changes to handling of incoming messages 2023-06-04 19:33:34 +02:00
LICENSE initial commit (again) 2023-04-07 14:29:02 +02:00
README.md added in-app QR code scanning 2023-07-23 22:38:31 +02:00
clickable.yaml update rust channel to 1.72.0 2023-09-18 23:24:47 +02:00
deltatouch.apparmor add connectivity item in Settings and separate page 2023-07-30 11:32:35 +02:00
deltatouch.desktop.in switch to focal: rename Ubuntu.xx to Lomiri.xx, set framework to 20.04, remove xenial-only code 2023-06-29 21:43:26 +02:00
main.cpp add profile page for contacts; remove incorrect 'verified' symbol in 1:1 chats; minor corrections 2023-06-20 22:19:48 +02:00
manifest.json.in bump version 2023-09-30 21:23:54 +02:00
push-apparmor.json switch to focal: rename Ubuntu.xx to Lomiri.xx, set framework to 20.04, remove xenial-only code 2023-06-29 21:43:26 +02:00
push.json push notifications, mute chats, major changes to handling of incoming messages 2023-06-04 19:33:34 +02:00
pushexec push notifications, mute chats, major changes to handling of incoming messages 2023-06-04 19:33:34 +02:00

README.md

DeltaTouch

Messaging app for Ubuntu Touch, powered by deltachat-core.

Important notice to xenial (16.04) users

This is the main branch which now contains the focal version. Please checkout the xenial branch if you want to build for xenial.

Important notice to focal (20.04) users

While the build instructions below also work for focal and the app is fully functional in the current state of focal, some internals of the click package currently refer to xenial (16.04) only. If you install it now, it may lead to problems later on when a dedicated focal version has been released to the Open Store. I will investigate this and post a solution, if necessary, so please keep an eye out on this.

Update: Seems it's no problem to update from the xenial to the focal version of the app on a focal device. Will confirm after further testing.

Update 2: Confirmed, no problems, users can safely update.

Building

General

The standard tool to build Ubuntu Touch apps is clickable. For this, either docker or podman need to be installed. Then the python package clickable-ut (not 'clickable') can be installed via pip. For more instructions regarding the installation of clickable, see https://clickable-ut.dev and https://ubports.gitlab.io/marketing/education/ub-clickable-1/trainingpart1module1.html.

Clone this repo:

git clone https://codeberg.org/lk108/deltatouch

Building libdeltachat.so

Activate/update the deltachat-core-rust submodule:

cd deltatouch
git submodule update --init --recursive

If the submodule has been cloned for the first time or its CMakeLists.txt has been modified by an update, it needs to be patched in order to work with clickable:

patch libs/deltachat-core-rust/CMakeLists.txt < libs/patches/dc_core_rust-CMakeLists.patch

Build libdeltachat.so for your architecture (arm64 in this example, could also be armhf or amd64 if you want to use clickable desktop). This will take some time:

clickable build --libs deltachat-core-rust --arch arm64

Buidling libquirc.so.1.2

Activating/updating the quirc submodule should have already been done by running git submodule update --init --recursive for libdeltachat.so above.

Build libquirc.so.1.2 for your architecture (arm64 in this example, could also be armhf or amd64 if you want to use clickable desktop):

clickable build --libs quirc --arch arm64

Build the app

Preqrequisite: libdeltachat.so and libquirc.so.1.2 have been built for your architecture as described above. Then build the app for your architecture (arm64 in this example, could also be armhf):

clickable build --arch arm64

This will give you a .click file in build/aarch64-linux-gnu/app or build/arm-linux-gnueabihf/app that you can send to your phone and install it via OpenStore (just click on it in the file manager).

Test it on your PC

It's possible to run the app on a standard desktop computer. Prerequisite is that libdeltachat.so has been built for the architecture amd64. Then enter:

clickable desktop

For some options like dark mode or using a different language, see https://clickable-ut.dev/en/latest/commands.html#desktop.

Note that there are some limitations to clickable desktop:

  • The resolution is quite low, so don't be surprised if it looks blurred. This will not the case on the phone.
  • Anything requiring a service that's running in Ubuntu Touch will not work. As a consequence, file exchange will not be possible as it needs the so-called content hub which is not running on the desktop. This means:
    • Backups cannot be im- or exported, so accounts have to be set up via logging in to your account.
    • Images and sound files / voice recordings cannot be sent.
    • Attachments cannot be saved.
    • It's not possible to use a potentially present camera for QR code scanning.

License

Copyright (C) 2023 Lothar Ketterer

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License version 3, as published by the Free Software Foundation.

In addition, as a special exception, the author of this program gives permission to link the code of its release with the OpenSSL project's "OpenSSL" library (or with modified versions of it that use the same license as the "OpenSSL" library), and distribute the linked executables. You must obey the GNU General Public License in all respects for all of the code used other than "OpenSSL". If you modify this file, you may extend this exception to your version of the file, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranties of MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.