It has been almost three months since the last update. This gap is not because we have been slacking off, but quite the contrary. We have been working hard on the changes listed below, and two other things that we will hopefully be able to elaborate on by the next update.

EteSync DAV (desktop bridge)

If you are using the desktop bridge, please make sure you are using the latest version.

A few months ago we fixed a bug in the desktop bridge that can cause the sync to stop working due to integrity errors because of miscalculated integrity values. While this bug is easily worked around, it required manual intervention and is generally a pain. All you need to do in order to avoid it, is make sure you're up to date.

We also fixed an issue with contacts, events and tasks that contain a forward slash (/) in their UID, which would make the bridge error and just not sync these items. It's very rare for a UIDs to contain forward slashes, but some client, like Outlook apparently do generate such UIDs. The problem with forward slashes is that it's also the same character that's used for delimiting URL path components, so the desktop bridge would treat them as such, instead of as a UID.

We additionally fixed passing --version to etesync-dav in order to get its version information. Until recently it would just print the Radicale version. Now it correctly prints both the etesync-dav and the Radicale versions.

While not yet released and still requires some testing, it looks like we have fixed an issue when syncing with KAddressBook. So if you have been having issues with that, please keep an eye out for an etesync-dav release in the next week or two.

Android

We have implemented importing tasks from file, so you can now import any tasks you have created on another service (e.g. NextCloud) directly in the app, just like you can with contacts and calendar events.

We also took this opportunity to make the import process look existing items that match the imported items (based on their UID) and if an item already exist, update it, instead of creating a new one. What does this mean in practice? Implementing the same file multiple times will no longer result in duplicate entries.

We also fixed a few niche crashes that would only be triggered for some users in rare circumstances.

Web client

We recently implemented journal membership management to the web client. This means you can now view a shared journal's list of members as well as adding and removing members.

In addition, the web client now handles wrong encryption passwords more gracefully. Before this change it used to show a cryptic message about integrity checks and force you to log in from scratch. Now it will show a nice error message and just ask you to re-enter your encryption password rather than having to log in again.

There have been a number of exciting improvements since the last update, so without further ado, here they are:

Self hosting

Thanks to a lot of great work by Pierre-Alain TORET, self hosting has just become much easier!

The server is now packaged for both Arch (AUR) and Fedora (COPR), so for those you can just easily install a package and get started.

You now no longer need to edit the settings.py for basic setups, there is now a much simpler configuration file that you can edit instead.

Mastodon

In case you have never heard of it, Mastodon is a federated and self-hosted social media service. Think of it as an open and federated version of Twitter.

Since we are not very active on social media, it took us a while to create a Mastodon account, but we finally did it.

You can follow us here: @EteSync@mastodon.social.

Feedback, suggestions and contributions

As usual, I would like to take this opportunity to remind you that we would like to hear your thoughts. Do you have some suggestions? Noticed an issue? Please send patches, report issues, or contact us.

In addition, your contributions are always welcome! Be it testing, design, code, reporting issues or helping us spread the word! Every bit helps in making EteSync better for everyone. If you are interested in contributing and don't know where to start, please, just contact us!

Until next time…