lk108/deltatouch
7
32
Fork
You've already forked deltatouch
6
Decentralized, secure messenger app, powered by the chatmail core library. Fediverse: @deltatouch@social.tchncs.de
  • QML 42.9%
  • C++ 33.4%
  • HTML 20.1%
  • JavaScript 2.2%
  • CMake 0.5%
  • Other 0.8%
Lothar Ketterer 7221af9639
All checks were successful
ci/woodpecker/push/workflow Pipeline was successful
fix: Don't try to access key isMuted for archive link ( #284 )
The key `isMuted` does not exist in a `ChatListItemFetchResult` of kind `ArchiveLink`, so trying to access this key for the archive link to set a boolean property in `Main.qml` resulted in errors like
```
qrc:/Main.qml:2452: Warning: qrc:/Main.qml:2452:21: Unable to assign [undefined] to bool
```
Reviewed-on: #284
Reviewed-by: d2weber <d2weber@noreply.codeberg.org>
2026年07月11日 14:38:18 +02:00
.woodpecker chore: Build separate click package for UT noble; build for noble by default ( #241 ) 2026年05月26日 10:45:06 +02:00
assets lk108/calls-webapp-infos, update calls-webapp ( #280 ) 2026年07月11日 14:08:48 +02:00
extra fix: Add fontconfig for qt5 compatible emoji font ( #193 ) 2026年02月04日 22:02:12 +01:00
libs chore: Use chatmail/core 2.53.0 ( #271 ) 2026年06月17日 13:40:00 +02:00
package chore: Find deltachat via PkgConfig ( #275 ) 2026年06月19日 16:26:14 +02:00
po chore: Update translations for 2.53.0 ( #274 ) 2026年06月17日 21:50:14 +02:00
qml fix: Don't try to access key isMuted for archive link ( #284 ) 2026年07月11日 14:38:18 +02:00
src chore: Find deltachat via PkgConfig ( #275 ) 2026年06月19日 16:26:14 +02:00
.gitignore chatmail specifics in chat creation and advanced settings 2025年02月16日 22:23:38 +01:00
.gitlab-ci.yml initial commit (again) 2023年04月07日 14:29:02 +02:00
.gitmodules adapt to new name of chatmail core library; add snap instructions to README 2025年04月03日 22:38:23 +02:00
BUILDING.md chore: add gstreamer dependency to docs ( #252 ) 2026年05月31日 18:20:46 +02:00
CHANGELOG chore: Update translations for 2.53.0 ( #274 ) 2026年06月17日 21:50:14 +02:00
clickable.yaml chore: Find deltachat via PkgConfig ( #275 ) 2026年06月19日 16:26:14 +02:00
CMakeLists.txt chore: Find deltachat via PkgConfig ( #275 ) 2026年06月19日 16:26:14 +02:00
CONTRIBUTING.md chore: Update README; add CONTRIBUTING and BUILDING ( #197 ) 2026年02月20日 15:46:33 +01:00
deltatouch-SBOM.spdx adapt to new name of chatmail core library; add snap instructions to README 2025年04月03日 22:38:23 +02:00
deltatouch.desktop.in Add categories and keywords to .desktop file ( #111 ) 2025年11月07日 10:36:01 +01:00
flake.lock feat: add nix flake ( #154 ) 2025年12月10日 10:15:02 +01:00
flake.nix chore: Find deltachat via PkgConfig ( #275 ) 2026年06月19日 16:26:14 +02:00
LICENSE omit non-license part from license copy 2025年04月01日 22:45:24 +02:00
README.md chore: Update README; add CONTRIBUTING and BUILDING ( #197 ) 2026年02月20日 15:46:33 +01:00
snapcraft.yaml chore: Use chatmail/core 2.53.0 ( #271 ) 2026年06月17日 13:40:00 +02:00

DeltaTouch

Messaging app compatible with the official Delta Chat clients. Originally created for for Ubuntu Touch, now also available as flatpak and snap, on Nix and probably more.

DeltaTouch is powered by the chatmail core library.

OpenStore Get it from the Snap Store

Screenshots

Screenshot Chat List Screenshot Chat View

How to install

Ubuntu Touch 20.04 (focal) and 24.04 (noble)

Open the OpenStore app and search for deltatouch.

Ubuntu Touch 16.04 (xenial)

The version available on the OpenStore is outdated and does not interact well with recent Delta Chat clients. We cannot update it because the OpenStore does not accept updates that target UT 16.04 (xenial) anymore.

Instead, look for the most recent xenial release on the Releases page, download the .click package that suits the architecture of your device and open it with the OpenStore app for installation.

Note, however, that development for UT 16.04 has officially stopped.

flatpak

flatpak install flathub page.codeberg.lk108.deltatouch

Start via the icon or with

flatpak run page.codeberg.lk108.deltatouch

snap

sudo snap install deltatouch

If you want the app to have access to cam and mic, connect the corresponding interfaces:

sudo snap connect deltatouch:camera
sudo snap connect deltatouch:audio-record

If the app does not start after clicking the icon, enter deltatouch in a terminal window. If you see these lines

qt.qpa.xcb: could not connect to display :0
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.

then you are hit by this bug for which no solution has been found yet (help wanted).

If there are no lines mentioning "xcb", but the app still doesn't start, try connecting Lomiri UI Toolkit:

sudo snap connect deltatouch:lomiri-ui-toolkit lomiri-ui-toolkit-core24

Building

Please refer to BUILDING.md.

Logs

Logs can be obtained from within the app or via the log file.

Except for a few lines at startup (and when the app exits due to a fatal error), logs are redirected to ${HOME}/.cache/deltatouch.lotharketterer/logfile.txt by default and are not printed to stdout/stderr to prevent sensitive information from leaking to syslog.

For the snap package, the location of the log file is ${HOME}/snap/deltatouch/current/.cache/deltatouch.lotharketterer/logfile.txt

For flatpak, it's ${HOME}/.var/app/page.codeberg.lk108.deltatouch/cache/deltatouch.lotharketterer/logfile.txt.

Note that the cache including the log file is automatically deleted when the app is closed. If you want to keep the log file, export it via Settings -> Advanced Settings -> View Log or copy the log file before closing the app.

The redirection of the log can be suppressed by setting an env var:

export NOSTDERRREDIRECT=1

Environment variables

The behaviour of DeltaTouch can be modified via some env vars:

  • NOSTDERRREDIRECT: See section Logs above.
  • EXTRADEBUG: If this var is set, the log will be more verbose.
  • OPEN_OSK_VIA_DBUS: DeltaTouch tries detect automatically whether the DBus interface sm.puri.OSK0 is present. If yes, DeltaTouch will try to use this DBus interface to summon the on-screen keyboard (OSK) via corresponding DBus calls. Setting this env variable to 1 will override the automatic detection and always make the corresponding DBus calls. Setting the var to 0 will suppress any DBus calls to sm.puri.OSK0.
  • DT_DO_NOT_ACCESS_CAMERA: If this env var is set, DeltaTouch will not try to access the camera stack via Qt (the framework used by DeltaTouch). This is needed in some rare cases where camera access via Qt will freeze the app (reported for Mobian on the Pinephone).

Contributing

Please refer to CONTRIBUTING.md

License

Copyright (C) 2023 - 2026 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.

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/.

Sponsors

The project to bring Webxdc to DeltaTouch is generously funded by the NLnet foundation through the NGI0 Entrust fund.