Skip to main content

Filtering and grouping

Route: /org/tasks · Permission: View Tasks


1. What the filter bar is​

Five independent mechanisms narrow the board, and they combine. Knowing which is which explains most "where did my task go?" moments:

MechanismWhereScope
SearchHeaderServer-side, whole project
Filters — conditions on any fieldBeside the search boxServer-side. List and Table views
Category railLeftServer-side
Milestone tabsAbove the boardServer-side
Filter barBelow the headerMixed — see below

A set of conditions can be kept under a name as a saved view and applied again later.

Grouping is not filtering. It changes how rows are arranged; it never removes one.


2. How filtering spreads across the views​

The same filter state drives all four views, so switching view keeps your filters. The Calendar view is the exception — it receives the filtered set but does not group.


3. Using the bar — step by step​

Figure 1 — The full-width filter bar, pips: 1 Group by, 2 Billing, 3 My Tasks, 4 Hide Subtasks, 5 Hide Done, 6 priority circles, 7 type circles, 8 assignee avatars, 9 Clear.

Step 1 · Group​

Group by offers seven modes:

ModeGroups byUngrouped bucket
No Grouping——
PriorityProject prioritiesNo Priority
Task TypeProject typesNo Type
AssigneeThe assigned userUnassigned
CategoryTask categoriesUncategorized
Project Phase / MilestoneMilestonesNo Phase / Milestone
TagTagsUntagged
Grouping by tag shows a task once per tag

A task with three tags appears in three groups. Group counts on that mode add up to more than the number of tasks, and that is correct behaviour rather than duplication.

With No Grouping, the list collapses to top-level rows — a subtask whose parent is also on the page is nested under it rather than shown twice.

Step 2 · Narrow​

ControlValues
BillingBilling: All · Billable Only · Non-billable Only
My TasksToggle. Reads All Tasks / My Tasks Only
Hide SubtasksToggle. Reads Hide Subtasks / Subtasks Hidden
Hide DoneToggle. Reads Hide Done / Done Hidden
PriorityColoured circles, one per priority. Multi-select
TypeIcon circles, one per type. Multi-select
AssigneeAvatars, pinned right. Multi-select

Every multi-select is OR within itself and AND across controls — two priorities selected means either priority; a priority plus a type means both must match.

"My Tasks Only" includes tasks you created

It matches assignee or creator, so a task you raised and handed to someone else stays visible. That is usually what people want and occasionally surprising.

Step 3 · Clear​

Clear appears once any assignee, priority or type is selected, or My Tasks is on. It resets assignees, priorities, types, categories, the milestone tab and My Tasks — and returns to page 1.

Clear does not reset everything

Search, Hide Done, Hide Subtasks and Billing survive a Clear. If the board still looks wrong afterwards, those four are where to look.

Step 4 · The category rail​

The rail on the left is a filter in its own right, and more:

ActionEffect
Click a categoryFilters to it. Multi-select
Clear Filter at the footDeselects all categories
Search boxFilters the rail itself. No match: "No categories match "…"."
+ on a rowCreates a task already in that category
Drag tasks onto a rowMoves them — and every one of their subtasks — into that category
CollapseNarrows the rail to icons with tooltips

Empty, the rail reads "No categories defined for this project."

Dropping tasks on a category moves their whole subtree

The move walks down the hierarchy: selected tasks and all descendants are re-categorised, and a toast reports the real count — Moved 12 task(s) to category when you dragged three.

There is no confirmation step and no undo.

Step 5 · Milestone tabs​

All Timelines plus one tab per milestone. Selecting one is a server-side filter and resets to page

  1. Only one tab at a time.

Step 6 · Build a filter from conditions​

Figure 2 — Two conditions, both must hold: high or critical work that nobody owns — 174 matching tasks.

The bar above covers the questions people ask every day. Filters, beside the search box, answers the rest: high or urgent work that is already overdue, tasks worth more than 50,000 with no assignee, anything created this week that nobody has estimated.

  1. Click Filters, then Add condition.
  2. Choose a field, then how to compare it, then the value.
  3. Add more conditions. A task is listed only when it meets all of them.

Each row applies as soon as it is complete. A half-built row stays on screen with "Not applied yet — finish the value" and changes nothing until you finish it. The panel's header shows how many tasks match, and a line under the search box reads the filter back in words — Priority is one of High, Urgent · Due date before today · 8 matching tasks — with Save view and Clear filter beside it.

Kind of fieldFieldsHow it compares
A choice from a listStatus, Priority, Type, Assignee, Category, Milestone, Created byis one of · is not one of. Assignee, Category and Milestone also offer is empty · is not empty
A dateDue date, Start date, Created, Updated, Completedbefore · after · on · is empty · is not empty
A numberEstimate, Remaining, Logged (all in hours), Points, Progress (%), Valueequals · more than · at least · less than · at most · is empty · is not empty
TextSummary, Keycontains · does not contain
TagsTagshas any of · has none of · is empty · is not empty
Yes or noBillableis

Value is offered only in a project that puts a value on its tasks.

Pick "Today", not today's date

A date can be a day on the calendar, or one that moves: Today, Yesterday, Tomorrow, 7 days ago, In 7 days, 30 days ago, In 30 days. Due date before Today still means overdue next week; the same filter built with a fixed date quietly stops meaning it.

"Is not one of" includes tasks with nothing set

Category is not one of Design lists every task outside Design — including tasks with no category at all. Add Category is not empty if you want only categorised tasks.

Filters works in the List and Table views. Kanban and Calendar are not narrowed by it and do not show the button; switching to them and back keeps your conditions.

Step 7 · Save it as a view​

Figure 3 — Views: your saved views for this project, and Save view for the filter on screen.
  1. With the filter on screen, click Save view (under the search box) or open Views.
  2. Type a name and click Save.

Views lists what you have saved in this project. Choosing one applies its conditions at once, and the button then shows the view's name. If you change the conditions of the view you are on, Views offers Update "…" with this filter. The bin icon beside a view deletes it, after you confirm.

Saved views are…Meaning
PersonalNobody else sees yours, and you do not see theirs
Per projectEach project has its own list — a view names that project's statuses and categories
Conditions onlyColumns are chosen separately — see Table view

Two of your views in one project cannot share a name. A view whose condition names something since removed — a deleted category, say — still applies; that condition simply matches nothing.


4. Field reference — where each filter runs​

FilterServerClientResets page
Search✅✅
Filters (conditions) and saved views✅✅
Assignee✅also re-applied
Priority✅also re-applied
Type✅also re-applied
Category✅
My Tasks✅also re-applied✅
Milestone✅✅
Billing✅✅
Hide Done✅ only
Hide Subtasks✅ only
Hide Done and Hide Subtasks act on the current page of 50

They are applied after the page arrives. On a project with more than 50 matching tasks the result is a page that has been thinned rather than a filtered query — the next page will contain done tasks again.

Hide Done behaves differently in Kanban than in List and Table

This is a real divergence, not a rounding error:

ViewHow "done" is decided
KanbanBy the status's category — anything in Done is hidden. Falls back to the ids done and cancelled when a status has no category
List and TableBy hard-coded status id only — done, completed, cancelled

So a custom status named Closed, correctly filed under the Done category, is hidden on the Kanban board and still visible in the list. Tick Hide Done, switch view, and the count changes.

If you use custom status ids, Kanban is the view that respects your configuration.

Where each filter's values come from​

FilterSource
Priority circlesProject priority configuration
Type circlesProject type configuration
Category railProject task categories
Assignee avatarsProject members
Milestone tabsProject milestones

How the bar adapts to width​

It measures itself and collapses in four stages rather than wrapping:

WidthBehaviour
WideFull labels; priority and type circles inline
Below ~1180pxToggles become icon-only, labels move into tooltips
Below ~820pxPriority and Type fold into dropdown popovers
Below ~600pxGroup, My Tasks, Subtasks, Done and Billing fold into one Filters menu

Assignee avatars and Clear stay pinned right throughout.

The category filter appears in the bar only in full screen

Full screen covers the left rail, so the bar grows a category control to compensate. In normal layout, categories are filtered from the rail.


5. The admin contract​

PrerequisiteEffect if absent
Priorities configuredNo priority circles
Types configuredNo type circles
Categories configuredEmpty rail; no category grouping
MilestonesOnly the All Timelines tab
Project membersNo assignee avatars

6. Downstream​

Filters are not persisted — not in the URL, not in storage. Reloading the page, or opening the link somewhere else, starts from the default state: no grouping, no filters, All Timelines, Billing: All.


7. Don't confuse this with…​

ThingWhereWhy it is different
Group byThe barRearranges rows
FiltersThe barRemoves rows
Category railLeftA filter, a drop target, and a create shortcut
Milestone tabsAbove the boardOne at a time; the bar's controls are multi-select
SortThe headerA button that is present but performs no sorting
My Tasks page/org/my-tasksA different screen; the My Tasks toggle here only filters this board
The Sort button does nothing

There is a Sort button beside the view switcher with no behaviour attached — clicking it has no effect. Order comes from grouping and the server's default ordering.


8. Troubleshooting​

SymptomCause
A task vanishedCheck the category rail and the milestone tab — both are easy to leave set
Hide Done left done tasks visibleTheir status id is not done/completed/cancelled
Counts look wrong after Hide DoneIt filters the fetched page only
Clear did not restore everythingSearch, Hide Done, Hide Subtasks and Billing survive Clear
Tag groups add up to more than the task countTag grouping repeats a task per tag
Dragging to a category moved more than I selectedSubtasks come along
Filters lost on reloadFilter state is not persisted
Sort does nothingIt has no behaviour