Bug: completed_at filter missing from Views filter dropdown in UI
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 68/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Quiet
- Tech stack
- python, typescript
Research direction
Start by locating the frontend code for the Views filter dropdown and compare its date-filter options with the backend support in apps/api/plane/utils/issue_filters.py, including ISSUE_FILTER. Add Completed at alongside the existing date filters, then verify that a View can set, display, save, and retain the completed_at filter through the UI.
Written by the indexing model from the issue text.
Description
Bug: completed_at filter missing from Views filter dropdown in UI
Problem
When configuring filters on a View (e.g., "Done this month"), the filter dropdown in the UI does not include a Completed at option. The available date-based filters shown in the dropdown are:
- Start date
- Target date
- Created at
- Updated at
Completed at is missing despite being fully supported by the backend.
Evidence
The backend explicitly handles completed_at as a filter key in apps/api/plane/utils/issue_filters.py:
def filter_completed_at(params, issue_filter, method, prefix=""):
if method == "GET":
completed_ats = params.get("completed_at").split(",")
if len(completed_ats) and "" not in completed_ats:
date_filter(
issue_filter=issue_filter,
date_term=f"{prefix}completed_at__date",
queries=completed_ats,
)
else:
if params.get("completed_at", None) and len(params.get("completed_at")):
date_filter(
issue_filter=issue_filter,
date_term=f"{prefix}completed_at__date",
queries=params.get("completed_at", []),
)
return issue_filter
And it is registered in the ISSUE_FILTER dictionary:
ISSUE_FILTER = {
...
"completed_at": filter_completed_at,
...
}
The IssueView model also has filters and query JSON fields that correctly process completed_at when set via API. The filter works end-to-end at the backend level — it's just not exposed in the frontend filter dropdown.
Expected behaviour
Completed at should appear in the Views filter dropdown alongside the other date filters (Start date, Target date, Created at, Updated at), allowing users to filter work items by their completion date (e.g., "completed in the last 30 days", "completed this month").
Workaround
The completed_at filter can be set via the API by PATCHing the view:
PATCH /api/workspaces/{slug}/projects/{project_id}/views/{view_id}/
Content-Type: application/json
{
"filters": {
"state_group": ["completed", "cancelled"],
"completed_at": ["2026-06-29;after"]
}
}
This correctly sets completed_at__date__gte in the view's query field and the filter works. However, since the frontend doesn't render the completed_at filter, it is not visible in the UI and may be lost if the user edits and saves the view through the UI.
Environment
- Plane CE v1.3.1
- Self-hosted
- Dominant language
- TypeScript
- Stars
- 59.6k
- Forks
- 5.8k
- Avg merge
- 1d 22h
- Merged PRs (30d)
- 49
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from makeplane/plane
-
[bug]: Expired session causes endless reload loop / error boundary instead of the sign-in screen Open
Difficulty 1/5 Under an hour Newbie friendliness 88/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
Eynzof/Hermes-CN-Desktop#610 ·
-
bug clawsweeper:linked-pr-open clawsweeper:needs-live-repro clawsweeper:no-new-fix-pr impact:message-loss issue-rating: 🐚 platinum hermit P2 regression
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
calcite-components needs triage refactor
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
Esri/calcite-design-system#15203 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 90/100
danielmiessler/LifeOS#2218 ·