DeltaTouch / Delta Chat
-
Not yet tested but here is a real nice surprise on the OpenStore and for UT. If this app reaches the level of Delta Chat on Android with automatic end-to-end encryption, it will be much more than a complement to Dekko (and already seems to be superior in the description).
-
1000 Thanks to the developer
-
@domubpkm Hi, saw your post just now. Automatic end-to-end encryption works just as with the official Delta Chat clients. So if there's a Delta user at the other end (using one of the official apps or DeltaTouch), it will be e2e encrypted automatically. If it's just a "normal" email client on the other side, then it won't be encrypted.
-
I am using this for a while and it's really awesome. It works like a charm. The only thing is that notifications don't really work (from what I understand DeltaTouch has to be open and in the foreground). So, Dekko notifies me if there is a new e-mail and if the notification of Dekko looks like it's a Delta Chat message, I'll look directly into Delta Chat. But I'm sure Lothar will solve this problem. Thank you very much for this nice app!
-
@Schlicki2808 Actually, it's me (Lothar). Great to hear that you like the app. Dekko runs a daemon in the background for notifications. There are some technical reasons why this is not so easy for DeltaTouch (let me know if you like to hear the details, it's a little bit complex). Maybe the situation will be different in the future as the use of the library provided by the Delta team that DeltaTouch is based upon will undergo some changes which might make a daemon easier to realize - not sure about that though.
For the time being, notifications depend a little bit whether you're on xenial or on focal. In any case, if background suspension is disabled for DeltaTouch, you will receive notifications if the app is running and in background. In xenial, disabling background suspension can be achieved via UT Tweak Tool. For focal, it can be done via command line (see below), or (as far as I know) a certain git version of UT Tweak Tool has to be build by yourself.
On xenial, if the app is in foreground, you will receive notifications for all accounts that are not the currently selected account (if in chatlist view) or, if you are currently viewing a chat, you will receive notifications for all conversations/accounts except for this specific chat.
On focal, UT currently suppresses any notifications for the app that is currently in foreground, I can't do anything about that.
Disabling background suspension in focal via command line (thanks to Danfro for instructions):
- Fetch current suspended apps:
gsettings get com.canonical.qtmir lifecycle-exempt-appids
- Add DeltaTouch to the list (the following assumes that the output of the previous command gave ['com.ubuntu.music'], please adapt to the output of your device):
gsettings set com.canonical.qtmir lifecycle-exempt-appids "['com.ubuntu.music', 'deltatouch.lotharketterer']"
-
@lk108 Thanks for the explanation! Yes, the technical side is very interesting for me. I disabled background suspension but because off the fact that I mostly have all apps closed, I will continue using Dekko for notifications. But I developed three apps by myself and maybe one day, I will come into the same situation
-
@Schlicki2808 Ok, I can try to explain my thoughts regarding a dedicated background service/daemon, but I might be horribly wrong on some or all of it as I am just an amateur. Anyone, don't hesitate to correct me in that case.
After the latest release which features database encryption, it's quite easy: A daemon which is started automatically does not know the database passphrase, so it won't work before you start the app for the first time after booting. Using a keyring would solve this, but to my knowledge, there's no keyring in Ubuntu Touch at the moment that is automatically unlocked along with the device. In addition, users might want to use a stronger password for the database than the unlock PIN.
Even if database encryption is not active, it's still more difficult to implement than a daemon for Dekko because Dekko doesn't support encrypted emails. In contrast, encrypted messages are the default in Delta Chat/DeltaTouch. So the daemon would have to be able to read the database on the device, talk to email servers and decrypt the messages (to be able to show a part of the message in the notification). In my app, I did not program these tasks myself. Instead, the app uses libdeltachat (deltachat-core-rust) by the developers of Delta Chat. I just added the GUI and a little bit of logic. I don't have the skills and the time to re-write all of this just for a daemon, so it would make sense for a daemon to use libdeltachat as well. However, I think that libdeltachat doesn't have a read-only mode for accessing the database (again, I might be wrong on this). So when the app starts, the daemon would have to drop the database (easy), and when the app is closed, take it up again (no idea how to reliably inform the daemon that the app has closed).
Another possibility would be that the app uses the daemon to access the database. At the moment, that would require an extensive interface. In the future, however, libdeltachat functions will be accessed via JSON-RPC, so an inter-process communication would be a lot easier. I'm not sure though whether such a setup would be fast enough.
What's more, apps that run a daemon had to be unconfined in the past. Probably this will change (or has it already?) with focal though.
-
@lk108 said in DeltaTouch / Delta Chat:
Probably this will change (or has it already?) with focal though.
It hasn't yet, and probably will not make it into focal.