I just began using Delta Chat and have been using Telegram and a couple of other messaging apps before. The promise of no central server and total encryption while sharing between phones, tablets and computers and a Telegram-like interface are the important features for me. With that said, I do have a couple of questions:
I just discovered the use of an AutoCrypt message to make sure new messages show up on all devices, combined with bcc copy-to-self to make sure outgoing messages are also synced. This seems to work but only seems to sync messages /after/ the AutoCrypt numbers have been entered on a new device. Is it possible to sync old messages as well to a new device and if so, how?
I originally downloaded the app on three phones and on one of them (not the first one set up) my first Delta Chat friend’s name shows up together with the e-mail address, on the others only the e-mail address. Is this possibly a bug?
What is the maximum size of a file/video/other message that can’t be sent? Is this dependent on the e-mail systems in use between the sender and receiver(s)?
I like the fact that in Telegram I send a webpage, Telegram renders an excerpt of the beginning of the webpage which is very nice. This does not seem to be the case in DC. Is this something you plan to do?
To check what is visible in my e-mail account I logged in as a regular user using their web interface. I found what seems to be a new folder DeltaChat that contains both sent and received messages. To my surprise, the first two messages my friend sent to me - sent before I accepted the friend request - can be seen in cleartext here. Am I correct in assuming that this is always the case until the second person has accepted the friend request?
Generally Delta Chat does not download old messages. You can trick it into doing so by removing the messages both on the server and locally and then copying them back to the Delta Chat folder so they appear as new messages, but they will appear as the new messages at the end of the chat. Preferred way to setup new devices is to backup on the old device, which has all the messages, and restore the backup on the new device. Make sure to enable “Send copy to self” manually. See Multiclient FAQ section for details: FAQ - Delta Chat
Name is attached to the contact when you receive a message with the name in the From: field. Also the name can be imported from the address book on your phone, which may contain the name on one phone but not the other.
The upper limit is 49 MiB, above which Delta Chat refuses to send the messages, but it is recommended to keep the size around 25 MiB. The problem here is that it is possible that your receiver side provider may reject the message if it is too large, and we don’t know the size each receiver provider accepts in advance.
It does not matter whether a contact request is accepted. Each message sent by Delta Chat contains an Autocrypt header with the sender public key. Until you receive such a public key from your friend, you cannot encrypt messages to them, so they are sent unencrypted. This is indicated by the lack of a small padlock on the message in the UI. Messages are not encrypted if there is no public key available or one of the users switched off the setting “prefer encryption”. In groups it is decided by “majority vote” whether it is encrypted or not.
On Android, you can check the encryption status in the contact profile, “Encryption” menu item. If you want to be 100% sure messages are encrypted, you can also verify with your friend via the QR-code and create a “verified group” after that, where messages are never sent if they are not going to be encrypted. In the future there is a plan to rename this into “protected chats” and allow to switch protection on for 1:1 chats too.
Not sure how to reply to your reply using the nice format you used where the reply is interspersed with the questions… Anyway, I will reply using separate paragraphs for each of my comments:
Understood. Moving and then restoring previous messages resulting in a distorted timeline is not good. I will follow your suggestion and use backup/restore when adding a new device. Right now I have three phones and one tablet, all running Android, but will add a couple of computers later once I know how to compile the code myself. I have indeed enabled “Send copy to self.”
There might be a bug here since the name of the sender only showed up on 1 of 4 devices. On the other three I had to add/edit the name of the contact myself.
Noted about message size and that the e-mail providers’ limits might come into play. Somewhere in the back of my head I remember something about an RFC only requiring message sizes up to 10 MB?? But, one solution could be that larger files are automatically split into multiple encrypted messages and then reassembled on the recipient’s system? (And of course, on any other devices the sender also has.) This would allow program files/videos etc etc to be shared seamlessly.
I read your link to Generate link preview and learned something new. I would love to see it though and, as you mentioned, an opt-in setting might be a good solution.
I plan to use DC only for encrypted messages, at least for now, so I will only accept contact requests from other DC users (or other compatible AutoCrypt systems). On that note, if someone gets access to my mail provider’s backend (or the other party’s backend server), will they be able to read old messages?
With the above said, I think I have found some bugs. My use-case is multiple devices and being seamlessly able to read/send/delete messages on any of them with the expectation that they will all be up-to-date (naturally having previously synced the keys and enabled send-to-self.)
With the four systems, I have carefully watched to see if notifications show up on all four systems which would be expected and that is /not/ the case. Typically 3 of 4 systems show notification messages although even the system that does not show a notification message is up to date with messages. Also, reading new messages on a device does not remove the notification prompt on the other devices. Is it possible that there is some sync issue between each device and the IMAP backend?
I have also surprisingly noticed that deleting a message on one device does not automatically delete it on the other devices which is what one would expect since all devices should be fully synced. This can hardly be as designed. Could this be a sync issue?
I forgot to add that one of the incoming messages was filtered to the spam-folder outside DC. This is not the fault of DC, of course, but something one should be aware of and monitor, either manually or disabling spam-checking on the e-mail account entirely.
You can select part of the text, then click “quote” appearing near selection.
Could it be that it is the only device which has the name in the address book? Did you give address book access to Delta Chat? Just in case, Delta Chat never sends the addresses collected from the address book anywhere, only displays them in the list of contacts.
I’m not aware of this, and in practice it is possible to send messages more than 10 MiB, so no reason to change this limit.
If you have the setting “Show classic emails” set to “No, chats only”, then Delta Chat will only show messages from other Delta Chat clients and they are almost always encrypted unless one of the user requests to disable encryption explicitly.
They will be able to see what you see in the web interface. This means first unencrypted messages. If you want, you can enable message deletion from the server, say “after 4 weeks” (“after 5 weeks” in the new versions of DC) in the settings, so messages are deleted eventually, but make sure to make this time span large enough for your other devices to pick up the messages. You can also use “disappearing messages” feature per-chat, it will enable deletion on the other side too (unless they disagree and disable it back).
How did you find the device which did not show notification has got the message? Maybe it downloaded the message only when you opened the app? If notifications don’t work reliable, you can try to enable “permanent notification” in the settings (assuming you are on android), it sometimes prevent the app from being killed or at least lets you see if the app is running. Could be that the app is killed, see https://dontkillmyapp.com/ It is usually ok for apps that use Google services for notifications, but not ok for Delta Chat, XMPP clients etc. who maintain their own network connections.
This is currently not implemented. We can watch for the flags change and remove the notification if message is marked as seen, but currently Delta Chat also marks the message as seen on the server even before you read it. The logic should be revised here to mark the message as seen when you read it, and remove notification when IMAP says some other device has marked the message as seen.
This is by design, IMAP is used as a “feed”, we download messages from it but don’t rely on them being stored on the server afterwards. Some users have low quota on the server and periodically delete or archive to local disk all messages there, in which case we still want to store messages in Delta Chat. “Delete message” feature deletes locally and on the server, but not on the other devices.
Great, trying that now As I tried to send this carefully edited message it turned out that new users can not have more than two links in a message…
The three phones are of the same model, running the same version of Android 9, the address books are fully synced and the rest of the software is 97% identical between the phones, they simply have different phone numbers. But, I very carefully reviewed the settings for DC and I did see that on the unit the user’s name was correct, access to Contacts was indeed enabled. I think we can consider this solved.
I looked for the notification messages on the screen of the various units but did not open DC. I have not enabled “permanent notifications” on any of the devices but might try it later. Battery saving is disabled on them all.
This would be very important. I have three phones, one tablet and will have multiple computers in different places that I would like to be completely in sync, just like Telegram works.
On Android you can try nightly version, which periodically checks the Spam folder: Index of /android/nightly/ Unfortunately, there are many pending improvements like this which we can’t release until we stabilize the code and update Desktop and iOS to use all the new features introduced in the core. If you use nightly, make sure to reinstall via backup and restore and don’t forget to switch back to mainline version once it released, because nightly version never auto-updates: Use of nightly-versions android - #4 by link2xt
Thank you, this actually the least important of the "issues’ I brought up. It is a really useful enhancement but I still have to manually monitor my spam folder for other messages. But, if I do not need to do it specially for DC, it is, of course, good.
By the way, are there any plans to add the ability to add photos to conversation contacts in DC? Or is that perhaps already possible of you have a photo for the contact in your address book? It’s not a very important feature but since Telegram offers that I thought I would ask.
I was thinking about this again. Personally, I think it would be great if there is another setting in DeltaChat - suggested for the section for “IMAP folder handling” - for “Synchronize DeltaChat folder”. This would automatically download any missing DC messages from the server to the device as well as delete any messages from the device that have been deleted from the server perhaps done on another device.
When this setting is disabled DC would function as today, when enabled it would allow the user to keep all his/her devices synchronized automatically, ie messages missing/deleted/update read status.
What do you think? This is the main shortcoming of DC today from my perspective.