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.
Post History
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 ...
#1: Initial revision
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](https://github.com/sabre-io/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](https://github.com/nextcloud/tasks/?tab=readme-ov-file#apps-which-sync-with-nextcloud-tasks-using-caldav). 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. * 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. [^1]: 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. ## 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 ![Screenshot showing four tasks in Kontact nesting weirdly. The parent task lacks a checkbox. The parent has two immediate subtasks, one of which has its a subtask of its own. The subtask with another subtask, unlike the parent task, retained the checkbox next to it.](https://powerusers.codidact.com/uploads/we87tvwae53xp4cq4yaiz7aueala) For comparison, the expected behaviour would be identically to how tasks.org handles it: ![Screenshot from the tasks.org app, showing the same task structure as the previous screenshot, with four tasks, where two are children of a parent task, and the last is a child of a child task. However, all tasks have checkboxes. ](https://powerusers.codidact.com/uploads/r4owpwl2id9dhpfg0k28qxklnr7v) 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: ![Screenshot from Thunderbird showing the same four tasks from the Kontact example, but with the structure completely flattened, and no hierarcy shown](https://powerusers.codidact.com/uploads/qng0p8t8b2k2xvcoiegt0a55mhl1) * Evolution: Like Thunderbird, it doesn't seem to support subtasks, and flattens the hierarchy: ![Same four tasks as in all previous examples, once again flattened into hierarcy-less tasks](https://powerusers.codidact.com/uploads/i6ve5anj5bp2q6ns1ze9lfik1flk) [^2]: 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. ## Honourable mentions * Endeavour, Gnome's own task manager: while a good candidate, it [does not yet support CalDAV](https://gitlab.gnome.org/World/Endeavour/-/issues/478). Solid future candidate if nothing else exists yet. * Planify: [Doesn't support generic CalDAV implementations](https://github.com/alainm23/planify/issues/1149). 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.