this post was submitted on 26 Nov 2025
36 points (97.4% liked)

Selfhosted

53386 readers
128 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

  7. No low-effort posts. This is subjective and will largely be determined by the community member reports.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 2 years ago
MODERATORS
 

Hello all, I just released v0.1.7 of Cfait, a CalDAV task / TODO manager with most of the features I've always wanted and I'm starting to find it usable and enjoyable so I think it's time to announce it :) I've finally starting organizing my todo list the way it should always have been.

Some of the features I'm particularly happy about are the sane sorting (first by date then by priority), the tags / categories navigation (with a choice of AND or OR), and the ability to link tasks (e.g. a parent task or (a) task(s) blocking (an)other task(s), this is the only thing I wanted from a tool like Jira).

I hope you all enjoy it too :-)

It has both GUI and TUI, I try to keep them on the same level. (Except the config. file which has to be written manually when using the TUI)

So far I've only tested it on Arch Linux (there's an AUR package: cfait / cfait-git) with the Radicale CalDAV server but I assume it will work on any distribution (there's even an experimental Windows build under releases) and server, feel free to let me know what works or not.

Source code, .deb (and .exe) builds, screenshots, features list and README on https://github.com/trougnouf/cfait (also available as a rust crate: https://crates.io/crates/cfait )

Don't forget to backup your tasks list before trying it.

you are viewing a single comment's thread
view the rest of the comments
[–] dbkblk@lemmy.world 2 points 1 week ago* (last edited 1 week ago) (2 children)

Hey, thank you for this! I'll test it later. I was planning to eventually do the same thing (and in rust too).

Thus said, something that I always find impractical with simple todo lists, is that you cannot use it with subtasks. For example, if I want to manage a large project with it, I would need to create a task "Refactor this worker", and add subtasks "Delete old function", "Handle the new property", etc.

I cannot flatten the subtasks in the list because their names wouldn't be explicit, and making their names explicit would make it a burden to read, and it would make it difficult to follow the main task progress. How do you handle such things with your software?

[–] trougnouf@lemmy.world 3 points 1 week ago* (last edited 1 week ago) (1 children)

My pleasure! :)

Subtasks is the main reason I made this program. I have it in the "Tasks" Android app and I wanted it on desktop too.

The main way it's implemented is clicking on Link next to a parent task in the GUI (or selecting yank in the TUI), then selecting Child on another task makes it a sub-task of the parent.

I've also implemented part of RFC 9253 Support for iCalendar Relationships (Blocked-By logic); after selecting Link/yank on a parent task, there is also the option to select Block on another task and the blocked task appears grayed out and lists the tasks that are blocking it in its description. This is something I haven't seen in any other CalDAV tasks software and the only thing I would have missed from something like Jira.

And of course one can filter by tags/categories (with AND or OR) so only a (sub-)project is shown (and I've added tag aliases, e.g. #refactor_this_worker could autocomplete to #refactor_this_worker, #program_name, #software_development, to make that more convenient).

Parent/child: Blocked-by:

[–] dbkblk@lemmy.world 1 points 1 week ago

Interesting! I'll definitely have a look 🙂