kolaente ac853537e9 fix(tasks): make subtask root condition NULL-safe and search-aware
When expanding subtasks, a task was excluded from the roots via NOT over
LEFT-JOINed parent columns. Any filter predicate evaluating to NULL on
the parent row (e.g. due_date <= X with a dateless parent) made the
whole condition NULL, silently dropping the child from the result — it
was neither a root nor nested anywhere. This hit saved filters, list
views with date filters and the gantt view by default.

Rebuild the root condition as a correlated NOT EXISTS subquery, where a
NULL predicate collapses to a clean FALSE, and mirror the free-text
search into the parent predicate so searching for a subtask by title no
longer hides it when its parent does not match the search.
2026-07-15 19:31:14 +02:00

Build Status License: AGPL-3.0-or-later Install Docker Pulls Swagger Docs Go Report Card

Vikunja

The Todo-app to organize your life.

If Vikunja is useful to you, please consider buying me a coffee, sponsoring me on GitHub or buying a sticker pack. I'm also offering a hosted version of Vikunja if you want a hassle-free solution for yourself or your team.

Table of contents

Security Reports

If you find any security-related issues you don't want to disclose publicly, please use the contact information on our website.

Features

See the features page on our website for a more exhaustive list or try it on try.vikunja.io!

Docs

All docs can be found on the Vikunja home page.

Roadmap

See the roadmap (hosted on Vikunja!) for more!

Contributing

Please check out the contribution guidelines on the website.

License

Most of this repository is licensed under AGPL3.0orlater. The contents of desktop/ are licensed under GPL3.0orlater.

Unsplash Images

Background images from Unsplash are distributed under the Unsplash License. The license requires giving credit to the photographer and Unsplash. See Unsplashs terms for more information.

Description
No description provided
Readme AGPL-3.0 1.2 GiB
Latest
2026-04-09 13:43:41 -05:00
Languages
Go 48.5%
JavaScript 32.9%
TypeScript 9.2%
Vue 8.7%
SCSS 0.4%
Other 0.1%