Welcome to the Power Users community on Codidact!
Power Users is a Q&A site for questions about the usage of computer software and hardware. We are still a small site and would like to grow, so please consider joining our community. We are looking forward to your questions and answers; they are the building blocks of a repository of knowledge we are building together.
Linux task app with support for CalDAV sync
I'm looking for a Linux task app that syncs tasks with an existing CalDAV server.
I already have a CalDAV server set up (Baikal), and the relevant calendars have been set up with task support, so everything server-sided is ready. CalDAV servers are out-of-scope for the recommendations. For the record, on Android, I use DAVx5 and Tasks.org, which works fine out of the box.
On desktop, I've been using Thunderbird so far just for the calendar, but for reasons I'll get back to, it doesn't cooperate well with tasks. I'm now looking for alternative clients that support CalDAV-based tasks, and support a task hierarchy.
Requirements
- It has to support CalDAV tasks, and sync with CalDAV. CalDAV doesn't have to be the only option it supports, but it has to be an option.
- It has to interface with my existing Baikal server, and not be a CalDAV server. Generally speaking, it should support CalDAV, not one or a few specific CalDAV implementation. For example Planify, mentioned later, does allegedly sync via CalDAV when using NextCloud tasks. However, this means NextCloud tasks is a CalDAV server, and Planify syncs with one specific implementation of CalDAV rather than any generic CalDAV server.
- It has to support subtasks, and it has to treat parent tasks like normal tasks (meaning the parent task and subtasks both have checkboxes)
- Subtasks are supported by Baikal. The resulting calendar files contain a
RELATED-TO;RELTYPE=PARENT:[task identifier]
field, which is passed along to the clients. It seems Thunderbird simply doesn't use this field. It also doesn't support creating subtasks, so it isn't simply a matter of standard differences.
- Subtasks are supported by Baikal. The resulting calendar files contain a
- It has to run on Linux, and has to have a GUI. I would prefer it being a Linux-native app, but I would accept a self-hostable[1] webapp - as long as it has CalDAV sync to a CalDAV server that isn't part of the task webapp.
- It doesn't have to exclusively be a task app. Some of the potential alternatives mentioned later aren't dedicated task apps, but full suites of semi-related tools (email + calendar + tasks is fairly common in some of the established alternatives).
- It must be open-source, or at the very least strongly privacy-oriented. Just on account of Linux being a requirement, I'd imagine open-source alternatives are more likely.
Nice-to-have
- A built-in calendar; not critical, but definitely nice-to-have. But: if it supports a calendar, tasks must (have an option to) show directly in the calendar.
What doesn't work
-
Kontact: parent tasks are treated more like a category than a parent task. When making subtasks, the parent loses its checkbox. Annoyingly, this only affects top-level tasks, and not subtasks with subtasks
For comparison, the expected behaviour would be identically to how tasks.org handles it:
Infuriatingly, it meets every requirement, other than the handling of parent tasks.[2]
-
Thunderbird: as mentioned, it doesn't support subtasks, and the UX is pretty bad. Example of flattened task hierarchies:
-
Evolution: Like Thunderbird, it doesn't seem to support subtasks, and flattens the hierarchy:
Honourable mentions
- Endeavour, Gnome's own task manager: while a good candidate, it does not yet support CalDAV. Solid future candidate if nothing else exists yet.
- Planify: Doesn't support generic CalDAV implementations. It only supports NextCloud, and though allegedly using CalDAV for syncing with NextCloud, I don't use NextCloud, so it's off the table until proper CalDAV support is implemented. Also a solid future candidate.
-
As long as it isn't part of NextCloud's ecosystem. I'm not fundamentally opposed to NextCloud, but it has next to nothing else I need that isn't better addressed by other systems I have set up. It's simply completely overkill to install NextCloud for a webapp for CalDAV tasks, if one exists. NextCloud/tasks (or nextcloud proper) appears to bundle a full CalDAV server as well, and I don't want to replace Baikal. ↩︎
-
It could look nicer, but my standards have dropped after seeing that there's extremely few options available - which is weird. I would expect an open standard to see far more use than CalDAV seems to get. ↩︎
1 answer
Managed to find one; mrvladus/Errands.
It's Linux-only, and it's mostly consistent with how tasks.org does stuff[1].
It supports CalDAV, though non-NextCloud providers aren't guaranteed to work. It worked fine with Baikal after tweaking the URL[2], and that's good enough for me. Does seem like supporting other CalDAV providers is a goal, and they seem to be further along than most of the potential alternatives that haven't implemented anything yet.
Instantly picked up my calendars once I synced manually, and it does support task nesting:
-
There's two major differences:
- Errands supports task colours that tasks.org doesn't seem to support. They aren't cleared by tasks.org when modifying, they just aren't rendered in tasks.org. As far as compatibility goes, that's not the worst option
- Tasks.org supports recurrence, while Errands does not. I assumed this was a CalDAV feature and not an app feature, but I was wrong. The tasks still complete as normal when done from Errands, they just aren't recreated or modified as the recurrence from tasks.org called for.
Neither of these are dealbreakers for me (and recurrence wasn't explicitly mentioned in the requirements anyway, and having seen the pool of available task apps with CalDAV support, that requirement further complicates finding apps), but it's worth keeping in mind. ↩︎
-
I had to use the URL
https://caldav.{domain}/dav.php/calendars/
to get it to work. Just using the base URL did not work, but many of the calendar apps seem to use various different URLs. There's an open issue for it, but it's extremely minor once you know the trick. ↩︎
0 comment threads