Tasks
A task is the only object in Conatus that carries work. Projects, sections, labels and filters exist to arrange tasks.
Fields
Section titled “Fields”| Field | Limit | Notes |
|---|---|---|
| Name | 1–500 characters, required | The one field a task cannot be without. |
| Description | up to 2000 characters | Free text, shown under the name in the task view. |
| Priority | P1–P4, default P4 | P1 is most urgent. P4 means “no priority set”. |
| Due date | YYYY-MM-DD |
When you plan to work on it. |
| Due time | HH:mm |
Requires a due date. |
| Deadline | YYYY-MM-DD |
Must-finish-by. Independent of the due date. |
| Duration | 1–1440 minutes | Estimated length. Sizes the block in Calendar week view. |
| Repeat | a recurrence rule | Requires a due date. See Recurring tasks. |
| Repeat ends | YYYY-MM-DD |
Requires a repeat rule, and cannot be before the due date. |
| Labels | any number | Shared across all your projects. |
| Assignee | one project member | Only offered in a project with more than one member. |
| Project | required | Every task lives in exactly one project. |
| Section | optional | A task with no section sits in the unnamed group at the top. |
| Parent | optional | Makes it a subtask. |
Priority
Section titled “Priority”Priority drives the checkbox colour and one of the list sort orders:
| Priority | Colour | Meaning |
|---|---|---|
| P1 | red | Most urgent |
| P2 | orange | |
| P3 | blue | |
| P4 | grey | Default, no priority set |
In the filter language, p4 and no priority are the same term.
Due date vs. deadline
Section titled “Due date vs. deadline”These are two different columns and Conatus never derives one from the other.
- Due date is when you intend to work on something. It drives Focus, Upcoming, Calendar and every date term in the filter language.
- Deadline is when it has to be finished. It shows as a flag chip, turns amber on the day and red once it has passed, and it is otherwise inert. It does not put the task in Focus and no filter term reads it.
A due time requires a due date. Clearing the due date clears the time and the repeat rule with it.
Duration
Section titled “Duration”Duration is stored in minutes and displayed as 90m, 2h or 1h 30m. Calendar
week view uses it to size the block; everywhere else it renders as a small timer
chip. It is independent of the due time, so a task can have an estimate without
being scheduled.
Subtasks
Section titled “Subtasks”Any task can be dragged under another to become a subtask. Nesting is limited to five levels, and the server refuses a move that would exceed it or that would make a task its own ancestor.
- Dragging a parent takes its whole subtree with it.
- A parent row shows a chevron to collapse and expand its children.
- The task view lists subtasks with a
done/totalcounter and has its own add form for new ones. - Deleting a parent moves its whole subtree to Trash together; restoring the parent brings the subtree back.
Creating tasks
Section titled “Creating tasks”Every add form parses quick-add syntax, so
Renew passport tomorrow at 9am p1 #Admin @errand fills in the date, time,
priority, project and label in one line.
You can add a task:
- from New task in the sidebar (or the
qshortcut), which lands in Inbox; - from the add form at the bottom of any section;
- from Add task above / Add task below on an existing row, which inserts it at that exact position rather than at the end;
- from Add subtask on a row, or the add form inside the task view.
Explicit form fields win over parsed tokens. If you type p1 in the text and
also pick P3 in the priority select, the task is created as P3.
The row action menu
Section titled “The row action menu”Every task row carries a ⋯ menu:
| Action | What it does |
|---|---|
| Add task above / below | Inserts a sibling at that position |
| Add subtask | Inserts a child |
| Open | Opens the full task view |
| Set date… | Opens the inline date, time, deadline and duration editor |
| Assign… | Only in a shared project |
| Labels | Toggle labels without leaving the list |
| Quick date | Today, Tomorrow, Next week, No date |
| Quick priority | P1–P4 |
| Deadline | Inline deadline editor |
| Reminders | Inline reminder editor |
| Move to… | Move the task to another project |
| Duplicate | Copies every field and the labels, inserted right below |
| Copy link to task | A URL that opens the project with the task view already open |
| Move to Trash | Soft delete, recoverable |
The task view
Section titled “The task view”Clicking a task’s name opens a dialog with the whole record. The left column holds the name, description, subtasks, comments and attachments; the right rail holds project, date, repeat, deadline, duration, priority, labels, assignee and reminders.
- Name and description are click-to-edit and save on blur.
- The
↑/↓buttons in the header step through the list without closing. - The
⋯menu offers Copy link to task and Move to Trash. Esccloses it. Focus is trapped inside while it is open and returns to where it was when it closes.
Comments
Section titled “Comments”Comments are plain text, up to 2000 characters. Everyone with access to the project can read and post; you can only edit and delete your own. Projects have their own comment thread too. See Collaboration.
Attachments
Section titled “Attachments”Attach files from the paperclip in the comment box. Any file type is accepted up to 10 MB. Files are stored in the MinIO bucket, not in PostgreSQL, so back both up together.
Completing tasks
Section titled “Completing tasks”Ticking the checkbox completes the task and shows an Undo toast. The write is deferred until the toast expires, so undoing costs nothing.
Recurring tasks are the exception: completing one writes immediately, because the task is not leaving the list, it is advancing to its next occurrence. The undo toast still offers a real inverse, which restores the previous due date.
Completed tasks leave the active lists and appear on Completed. Unticking a completed task brings it back.
Deleting and Trash
Section titled “Deleting and Trash”Deleting is a soft delete. Tasks and projects move to Trash and stay there until you restore them. Conatus has no permanent-delete action anywhere in the UI or the API. The only ways data leaves the database are deleting your account and dropping the database yourself.
Trash lists root items only. Restoring a task restores its deleted subtree with it, and restoring a subtask whose parent is still deleted is refused with “Restore the parent task first”.
Bulk editing
Section titled “Bulk editing”Project options → Select tasks turns on selection mode (Esc exits). Tick
any number of rows and a toolbar appears with:
- Complete
- Move to Trash
- Move to another project
- Set priority
- Set a due date
- Add a label
Complete and delete both go through the same undo toast as a single task. The other actions apply immediately.
Sorting and reordering
Section titled “Sorting and reordering”A project’s list view sorts by Manual, Due date, Priority or Name; the choice is per-project and persists locally. Manual order is drag-and-drop and is the only mode in which dragging is enabled. Under any other sort the drag handles are inactive, because there is no manual position to write.
Dragging works with a mouse (5 px to start) and on touch (hold 250 ms), so a normal swipe still scrolls the page. Horizontal movement while dragging changes nesting depth; it takes about three quarters of an indent to shift one level, so drift while dragging vertically never accidentally nests a task.
