Communities

Writing
Writing
Codidact Meta
Codidact Meta
The Great Outdoors
The Great Outdoors
Photography & Video
Photography & Video
Scientific Speculation
Scientific Speculation
Cooking
Cooking
Electrical Engineering
Electrical Engineering
Judaism
Judaism
Languages & Linguistics
Languages & Linguistics
Software Development
Software Development
Mathematics
Mathematics
Christianity
Christianity
Code Golf
Code Golf
Music
Music
Physics
Physics
Linux Systems
Linux Systems
Power Users
Power Users
Tabletop RPGs
Tabletop RPGs
Community Proposals
Community Proposals
tag:snake search within a tag
answers:0 unanswered questions
user:xxxx search by author id
score:0.5 posts with 0.5+ score
"snake oil" exact phrase
votes:4 posts with 4+ votes
created:<1w created < 1 week ago
post_type:xxxx type of post
Search help
Notifications
Mark all as read See all your notifications »
Q&A

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

+4
−0

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.
  • 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

    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.

    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.

    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

  • 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

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.

  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. ↩︎

  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. ↩︎

History
Why does this post require attention from curators or moderators?
You might want to add some details to your flag.
Why should this post be closed?

0 comment threads

Show more

1 answer

+2
−0

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:

Screenshot showing the example task list with nesting working fine in Errands


  1. There's two major differences:

    1. 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
    2. 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. ↩︎

  2. 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. ↩︎

History
Why does this post require attention from curators or moderators?
You might want to add some details to your flag.

0 comment threads

Sign up to answer this question »