Skip to main content

Element Troubles

I have been using Element to communicate with colleagues lately. Element has come a long way, and it is starting to look really good! Unfortunately, I am unable to read any messages that are posted while I am not logged in. After hearing about the introduction of threads on Linux Action News 238 this morning, I decided to take some time to investigate the issue further.

When I first logged into Element, I made a backup of my key. I was able to read messages from people throughout the first day without problem. When I logged out at the end of the day, Element notified me that I needed to backup my key if I wanted to be able to read messages. I had already done so, but I was (again) warned that I would not be able to read messages when I tried to just exit. I went ahead and did the backup again, noting that the key was different from the key that I backed up at the beginning of the day.

When logging in, I now use the second key. Since there is trouble, I tried the first key and found that it does not work. Though I am able to read all messages posted while I am logged in, I am unable to read any messages that are posted while I am not logged in. The following error message is displayed.

Unable to decrypt: The sender’s device has not sent us the keys for this message.

There is a link to request keys from the sender, but I tried requesting the keys from all senders and still have the issue. A colleague was recently away for a conference and found that he had the same issue upon returning.

So far, I have generally avoided the problem by staying logged in. This works, but I do not like having many browser tabs open. (I sometimes have many tabs open when I am in the middle of something, but I generally find that managing browser tabs helps me focus.) I am not a fan of running applications in my browser in the first place, but the desktop client unfortunately uses Electron, and an extra browser tab uses less resources.

The issue may be browser-related, however. I use Firefox with pretty strict security and privacy settings. In an issue about the various causes of this error message, there is indeed discussion about Firefox security settings. My college reported the using the desktop client did not help, but I decided to give it a try after seeing that issue.

I am currently using Arch Linux, and there are various user packages available. I very rarely have issues with Arch itself, but I have often run into issues with user packages. The element-desktop-git package, which builds the application from the source repository, has recent comments that indicate that it is currently not building, which is why I have not tried the desktop application yet.

Today, I looked at the element-desktop-nightly-bin package, which installs a binary build instead of building locally. I had previously avoided this because I prefer to run a stable release, but I found that it simply extracts the application from the .deb file! I can do the same using a release. I am doing it by hand for testing, and I will create a PKGBUILD file if I decide to continue using the desktop client.

On my system, I have a ~/sys/opt directory for installing such software, and I have a ~/bin directory that is in my path. I do not have a “desktop” or application menus, so I do not care about program icons and stuff like that. The release .deb packages are available in a package repository. I installed it as follows.

$ mkdir -p /tmp/element
$ cd /tmp/element
$ wget https://packages.element.io/debian/pool/main/e/element-desktop/element-desktop_1.10.11_amd64.deb
$ ar x element-desktop_1.10.11_amd64.deb
$ tar -Jxf data.tar.xz
$ mv opt/Element ~/sys/opt/element-1.10.11
$ cd ~/sys/opt
$ rm -rf /tmp/element
$ ln -s element-1.10.11 element
$ cd ~/bin
$ ln -s ../sys/opt/element/element-desktop

Checking the shared object dependencies using ldd, everything looks fine. The application runs without issue. I logged into our server and (once again) requested the keys for messages that cannot be decrypted. We shall see how it goes.

Author

Travis Cardwell

Published

Tags
Related Blog Entries