Table filter on dueDate inconsistently returns results and ignores "Include tasks without value" setting #2411

Closed
opened 2026-03-22 14:06:37 -05:00 by GiteaMirror · 5 comments
Owner

Originally created by @Plong-Wasin on GitHub (Nov 11, 2025).

Description

There is an issue with filtering tasks in the table view by dueDate where the filter results do not match the expected outcome and the "Include tasks which don't have a value set" option is not respected.

Steps to reproduce:

  1. Create a new project.
  2. Create 2 tasks.
  3. Go to the table view.
  4. Set the dueDate for 1 task, for example: 2025-01-01.
  5. Apply a filter on the table view where dueDate > 2026-01-01.
  6. Make sure that the checkbox "Include tasks which don't have a value set" is not checked both times you apply filters.

Expected behavior:

  • Since the dueDate of the task is before 2026-01-01, no tasks with a dueDate after 2026-01-01 should appear if the checkbox is unchecked.
  • Tasks without dueDate should be excluded when the checkbox is unchecked.

Actual behavior:

  • Initially, no tasks appear which is expected.
  • Moving the Table view before the List view and filtering for tasks without dueDate does show those tasks even with the checkbox unchecked.
  • Moving the Table view back to its original position then shows one task unexpectedly.
  • In both filtering attempts, the "Include tasks which don't have a value set" option is turned off but still tasks without dueDate appear.

This indicates inconsistent filter behavior and that the "Include tasks which don’t have a value set" option is not properly applied. The filter results seem to depend on the order or position of the views, possibly revealing a caching or state management bug.

Vikunja Version

v1.0.0-rc2-146-113025a1

Browser and version

No response

Can you reproduce the bug on the Vikunja demo site?

Yes

Screenshots

Image Image
Originally created by @Plong-Wasin on GitHub (Nov 11, 2025). ### Description There is an issue with filtering tasks in the table view by dueDate where the filter results do not match the expected outcome and the "Include tasks which don't have a value set" option is not respected. Steps to reproduce: 1. Create a new project. 2. Create 2 tasks. 3. Go to the table view. 4. Set the dueDate for 1 task, for example: 2025-01-01. 5. Apply a filter on the table view where dueDate > 2026-01-01. 6. Make sure that the checkbox "Include tasks which don't have a value set" is **not** checked both times you apply filters. Expected behavior: - Since the dueDate of the task is before 2026-01-01, no tasks with a dueDate after 2026-01-01 should appear if the checkbox is unchecked. - Tasks without dueDate should be excluded when the checkbox is unchecked. Actual behavior: - Initially, no tasks appear which is expected. - Moving the Table view before the List view and filtering for tasks without dueDate does show those tasks even with the checkbox unchecked. - Moving the Table view back to its original position then shows one task unexpectedly. - In both filtering attempts, the "Include tasks which don't have a value set" option is turned off but still tasks without dueDate appear. This indicates inconsistent filter behavior and that the "Include tasks which don’t have a value set" option is not properly applied. The filter results seem to depend on the order or position of the views, possibly revealing a caching or state management bug. ### Vikunja Version v1.0.0-rc2-146-113025a1 ### Browser and version _No response_ ### Can you reproduce the bug on the Vikunja demo site? Yes ### Screenshots <img width="1642" height="351" alt="Image" src="https://github.com/user-attachments/assets/f3310b2a-886a-41f0-a7d8-83032e3e9f31" /> <img width="1643" height="397" alt="Image" src="https://github.com/user-attachments/assets/941db533-e676-4b1d-a4a8-c8a21f4e773f" />
Author
Owner

@Plong-Wasin commented on GitHub (Nov 11, 2025):

Tested further with doneAt >= 2025-12-12 filter and it also does not work as expected.
It seems that when the view is moved, the filter option "Include tasks which don't have a value set" is ignored.
From what I observed, the API request includes the key filter_include_nulls, but it appears to disregard the value even if it's set to false.

@Plong-Wasin commented on GitHub (Nov 11, 2025): Tested further with `doneAt >= 2025-12-12` filter and it also does not work as expected. It seems that when the view is moved, the filter option "Include tasks which don't have a value set" is ignored. From what I observed, the API request includes the key `filter_include_nulls`, but it appears to disregard the value even if it's set to false.
Author
Owner

@kolaente commented on GitHub (Nov 11, 2025):

The filter dueDate > 2026-01-01 will show all tasks with a due date greater than 2026-01-01. This seems to contradict with what you explained, are you sure the filter is correct?

Is the behaviour you see with the filter being applied and unapplied reproducible with the filter in a view (the "Filter" button on the top right)?

@kolaente commented on GitHub (Nov 11, 2025): The filter `dueDate > 2026-01-01` will show all tasks with a due date **greater** than `2026-01-01`. This seems to contradict with what you explained, are you sure the filter is correct? Is the behaviour you see with the filter being applied and unapplied reproducible with the filter in a view (the "Filter" button on the top right)?
Author
Owner

@Plong-Wasin commented on GitHub (Nov 11, 2025):

Yes, the filter logic itself is correct (e.g., dueDate > 2026-01-01 should only show tasks with due dates after that date). The initial behaviour is as expected—no tasks appear because our tasks have due dates earlier than 2026-01-01.

The first screenshot shows the correct result.
The second screenshot shows the incorrect result.

This is video i reproduce

https://github.com/user-attachments/assets/f0b902a0-6735-490f-b001-d5362e9621dd

@Plong-Wasin commented on GitHub (Nov 11, 2025): Yes, the filter logic itself is correct (e.g., `dueDate > 2026-01-01` should only show tasks with due dates after that date). The initial behaviour is as expected—no tasks appear because our tasks have due dates earlier than 2026-01-01. The first screenshot shows the correct result. The second screenshot shows the incorrect result. This is video i reproduce https://github.com/user-attachments/assets/f0b902a0-6735-490f-b001-d5362e9621dd
Author
Owner

@kolaente commented on GitHub (Nov 11, 2025):

Thanks for the video!

My guess is the moving of the view sets a default value for the include_nulls property which then overrides whatever is set in the request itself.

@kolaente commented on GitHub (Nov 11, 2025): Thanks for the video! My guess is the moving of the view sets a default value for the `include_nulls` property which then overrides whatever is set in the request itself.
Author
Owner

@github-actions[bot] commented on GitHub (Nov 11, 2025):

This issue has been fixed in 22fc19c, please check with the next unstable build (should be ready for deployment in ~30min, also on the demo).

@github-actions[bot] commented on GitHub (Nov 11, 2025): This issue has been fixed in [`22fc19c`](https://api.github.com/repos/go-vikunja/vikunja/commits/22fc19cd246b178e92c13e5c1044c4517b4e596a), please check with the next unstable build (should be ready for deployment in ~30min, also on [the demo](https://try.vikunja.io)).
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/vikunja#2411