Task List
The "All Tasks" page displays all project tasks in a table, supporting multi-dimensional filtering and search. It is ideal for quickly locating and managing large numbers of tasks.
The page uses a full-width layout and avoids document-level horizontal scrollbars: the table scrolls inside its own container, only the "Title" column is flexible, and the other columns have fixed widths. Filter controls stay on one line when there is enough room; "Clear filters" is rendered only when filters are active, so it does not take up invisible space. Scrollbars use a thin style that matches the theme and stays unobtrusive in both light and dark modes.
Entering the Task List Page
After starting the Web interface, click the "All Tasks" tab in the top navigation bar to enter the task list page. The page shows task ID, title, status, priority, assignee, labels, associated milestone, and other key information in a table layout.
Using Filters
A set of filter controls above the table can be stacked to find tasks precisely.
Filter by Status
Click the "Status" dropdown and check the statuses you want to view. Multiple statuses can be selected at once; for example, checking Todo and In Progress shows all pending and in-progress tasks.
Click "Clear" or uncheck all statuses to restore all tasks.
Exclude by Status
Next to the "Status" filter is an Exclude status dropdown (StatusExcludedDropdown) for inverse filtering: tasks whose status is checked are hidden. For example, after checking Done, the table shows only unfinished tasks. Include and exclude dropdowns can be used together, and filter states are synced to URL query parameters for easy sharing.
Filter by Priority
Click the "Priority" dropdown and select High, Medium, or Low. Priority filtering is single-select; after switching, only tasks of the selected priority are shown.
Filter by Label
Click the "Label" dropdown and check target labels. Multi-select is supported; a task only needs to contain one of the selected labels to match.
Labels are sorted in alphabetical order (case-insensitive), making them easy to scan. Mixed case, accented characters, and fullwidth/halfwidth Unicode equivalents are all sorted stably.
Filter by Milestone
Click the "Milestone" dropdown and select a specific milestone to show only tasks belonging to that milestone. Select "No milestone" to filter out tasks without a milestone.
Show Completed Tasks
The filter bar also provides a "Show completed" checkbox: when checked, historical tasks in backlog/completed/ are shown alongside active tasks (with a Completed badge), the state is synced to the URL, and clicking opens a read-only popup. See the section of the same name in Board View.
Acceptance Criteria Progress Bar
For tasks in In Progress that have acceptance criteria, the title column shows a fixed-width rounded progress bar with a checked/total count; each row has the same height. Tasks without acceptance criteria show nothing.
Global Search
The search box at the top of the task list is a trigger button (showing "Search (⌘K)..."). Clicking it, or pressing Ctrl+K / Cmd+K, opens the global search dialog for searching tasks, documents, decisions, and Wiki pages.
The full dialog description (type filtering, grouped results, keyboard operations, shareable links, position memory) is in Global Search.
- Search supports both Chinese and English; keywords are highlighted in result titles and resource IDs.
- The dialog is always global in scope and does not stack with the list page filters. To narrow tasks by status, priority, label, or milestone, use the filter dropdowns on the page.
- The sidebar and list page no longer provide inline search result dropdowns.
Opening Task Details
Find the target task in the table and click anywhere on the row (usually the task title or ID) to open the task detail modal.
Modal and Background Page
Task details are shown in a modal centered on the screen; the underlying page (task list) remains visible:
- The modal overlays the current page; the background page is slightly dimmed but still recognizable.
- Closing the modal returns you to the original task list page without losing the current filters and sort state.
- When accessing
/task/:iddirectly (such as/task/506), the system opens the corresponding task modal with the task list as the background.
Stable URLs and Sharing
When task details are opened, the address bar updates to the /task/:id/:title format:
http://localhost:6420/task/506/Fix-CLI-actualStart-actualEnd-missing-local-to-UTC-conversion
- URLs support prefix-agnostic matching: both
/task/123and/task/back-123open the same task. - A bare
/task/:idlink automatically redirects to the full URL with the title slug. - You can copy the address-bar link and share it with team members; when they open it, the task detail is shown over the default view (board).
Dependency Drill-Down
In the Dependencies area of task details, each dependency is shown as a blue tag. Clicking a tag drills into that dependency without returning to the list:
- After drilling in, a ← Back button appears on the left side of the modal title bar; click it to return to the parent task.
- Supports continuous multi-level drill-down (for example A → B → C).
- The browser forward/back buttons also correctly traverse the drill-down history.
- The × close button in the upper right is equivalent to the browser back button: it consumes one history level per click. A task opened directly from the list closes with one click; when drilled into a subtask, the first click returns to the parent, and a second click from the outermost level closes the modal.
- The ← back arrow behaves the same as ×, consuming only one history level.
Drill-down navigation is only available in preview mode; clicking dependency tags in new-task or edit-task mode does nothing.
Parent/Child Task Hierarchy
If the current task has a parent or subtasks, a hierarchy block appears below the modal title:
- PARENT row: shows the parent task's ID, title, and status tag; click to open the parent task directly inside the modal.
- SUBTASKS section: shows subtask completion count (such as
1/6), a progress bar, and a collapse arrow; click the section header to expand or collapse.- Each subtask shows a completion dot, ID, title, status tag, and drill arrow; click to open that subtask inside the modal.
Tasks that have neither a parent nor subtasks do not show this block, and the modal looks the same as before.
Acceptance Criteria Numbering
Acceptance criteria (AC) list items in task details show sequence numbers (#1, #2 ...), making it easy to reference specific items in discussions or on the command line.
Outline Drawer (Modal Table of Contents)
Task details, Wiki previews, file previews, and similar modals show a bookmark-style "Contents" tab at the middle of the left edge: clicking the tab hides the tab and opens a floating outline panel on the left side of the modal that is the same height as the modal—the modal width itself does not change, so there is no layout jitter. Clicking an entry smoothly scrolls to the corresponding section (scrollspy highlights the current position); closing the panel restores the bookmark tab.
When the window is narrow and docking on the outside would go off-screen, the drawer automatically switches to floating mode over the modal content: it does not render a close button, and clicking any entry or the semi-transparent background closes it. On narrow screens the bookmark tab also moves inside the panel, ensuring the entry is always reachable.
The file preview modal width has been increased accordingly, making long document previews more comfortable.
Dependency Graph Toggle
The Dependencies area header in the task detail modal has a graph button on the right. Clicking it switches the modal body to an interactive dependency subgraph centered on the current task (zoom, pan, legend filtering, node drill-down); each task's view state is remembered independently. See Graph View for details.
The modal also lists the dependency closure of "waiting for / waited on by" by hop count, marking root blockers and unresolvable references; rejected dependency edits (such as those that would create a cycle) are rolled back with a reason.
References and Modified Files Tabs
The References and Modified Files sections in the modal are combined into a tabbed panel, with the tab titles showing counts (such as References(5)):
- The default tab depends on task status: completed tasks default to Modified Files; other tasks default to References. Switching tabs only affects the current task.
- Modified files are shown as monospace path chips; click to open in file preview. Only project-relative paths are allowed; URL-style inputs are rejected.
- When opening a document that contains YAML frontmatter in file preview, the top
--- … ---block is shown as an independent metadata panel and no longer mixed into the rendered body (partial previews, line-range previews, and files without frontmatter keep the original behavior). - Both lists support add/remove in edit mode; changes are saved to the task file.
UTC Hover Tooltips for Dates
Date-times in the interface are displayed in the local time zone; hovering over a date that includes time shows a tooltip with the original string stored in the Markdown file, labeled (UTC). Pure date values (YYYY-MM-DD) have no hover tooltip. This rule covers task details, task list, board cards, milestones, drafts, and the stats page.
Read-Only Popup for Completed Tasks
Completed tasks opened from "Show completed" or search results are read-only: edit and status-change buttons are not shown, and a read-only notice banner appears below the title bar. Cross-branch tasks have the same read-only behavior.
Auto-Linking Entity IDs
Task / document / decision IDs written in Markdown bodies such as task descriptions, notes, and comments (for example back-123, doc-5, decision-3) are automatically converted to clickable links when rendered. Clicking opens the corresponding entity:
- Resolution is fail-closed: IDs that cannot be uniquely resolved are displayed as plain text, never guessed.
- Prefix-agnostic matching:
123andback-123point to the same task. - Ranges and lists: ranges like
back-101~105and slash lists likeback-101/102/103are rendered as a single trigger; clicking opens a portal dropdown listing each ID in the range, making it easy to reference a continuous or related set of tasks in one place. - When typing bare numbers in the Web editor input, prefixes are auto-completed based on context, with an insert-link hint.
- All three entity types share the same normalized identity keys, so rendering and input behavior are consistent.
Preserving Unsaved Edits
When editing a task, if the task file is modified in the background by another process (for example by another user or an external editor save), the modal does not reset your unsaved input—the system only merges fields that were not touched after the refresh. Your unsaved changes to title, description, plan, notes, dates, AC, DoD, references, and documents are all preserved.
Comments
In the Comments area of task details, you can view all comments for the task:
- Comment list: shown read-only, including sequence number, author (if any), timestamp, and Markdown-rendered body.
- Input form: as long as the task is editable (including in preview mode), a comment input form appears at the bottom of the area; you do not need to enter edit mode first.
- Author input (placeholder "Commenter"): optional, enter the comment author's name.
- Add a comment... text box: a rich Markdown editor with a toolbar, paste-to-Markdown, image / Word document drag-and-drop upload, and
[[entity-link autocompletion. Pasted images are automatically promoted from the temporary directory toassets/paste/on save (a standalone---line is still preserved as a separator and cannot be used as comment content). - Add comment button: after submitting, the comment list refreshes immediately and keeps the current mode—adding a comment in preview mode does not switch the modal to edit mode.
- Delete comment: a delete button appears when hovering over a comment; the Comments area header also has a Clear comments button to remove all comments at once. The command-line equivalents are
--remove-comment <number>and--clear-comments. - Read-only cross-branch tasks show the comment list but do not provide the input form or delete actions.
- Comment bodies support Markdown, but standalone
---lines cannot appear in comments (they are preserved as separators).
Table Sorting
All table header columns (ID, Title, Status, Priority, Milestone, Created) support click sorting.
Default Ordinal Sort
The list is sorted by task ordinal by default, consistent with the board, without any explicit action. When no column is in an active sort state, the table returns to ordinal sort mode.
Triple-Click Cycle
Clicking any header column cycles sorting in a triple-click pattern:
- First click: sort ascending by that column.
- Second click: switch to descending.
- Third click: clear the column sort and restore default ordinal sort.
Double-Arrow Sort Icons
Each header column shows a pair of arrows on the right:
- Inactive: both
↑and↓are light gray. - Ascending active: the left
↑is highlighted; the right↓remains gray. - Descending active: the right
↓is highlighted; the left↑remains gray.
The outer frame width is identical across the three states, so header text does not jitter when switching sort direction.