Commit Graph

83 Commits

Author SHA1 Message Date
kolaente
c7c63e8ead test: add result count assertions for ParadeDB search tests
Address review feedback: assert exact result counts when ParadeDB is
active. fuzzy(1, prefix=true) broadens matches via edit distance,
returning 6 projects for "TEST10", 14 tasks for "number #17", and
12 projects for "Test1".
2026-03-05 13:57:05 +01:00
kolaente
6268c48f15 test: adjust ParadeDB search tests for fuzzy prefix match broadening
ParadeDB fuzzy(1, prefix=true) returns more results than ILIKE due to
edit-distance tolerance on tokenized terms. Adjust assertions to check
containment rather than exact result sets when ParadeDB is active.
2026-03-05 13:57:05 +01:00
kolaente
3568aaacee test: add task #48 to expected results in feature tests
The new fixture task #48 (Landingpages update, project 1) needs to
appear in all feature test expected result sets that list project 1
tasks. Also bumps the expected next index in TestTask_Create.
2026-03-05 13:57:05 +01:00
kolaente
1943d6993c fix: only merge range comparators in sub-table filter grouping
Restrict the AND-joined sub-table filter merging to range comparators
(>, >=, <, <=) only. Equality and negative comparators (=, !=, in,
not in) must remain as separate EXISTS/NOT EXISTS subqueries because
each matching value lives in its own row.

Merging equality filters like `labels = 4 && labels = 5` into a single
EXISTS would produce an unsatisfiable condition (no single row has
label_id=4 AND label_id=5). Merging negative filters like
`labels != 4 && labels != 5` into NOT EXISTS(label_id IN 4 AND
label_id IN 5) would be trivially true.

Also fix the join tracking to use the first filter's join type
(how the group connects to the previous element) instead of the last.
2026-02-19 12:40:29 +01:00
kolaente
302b58dac0 style: fix alignment in test case 2026-02-19 12:40:29 +01:00
kolaente
a93f6bf160 test: add OR-joined reminder filter regression test
Verify that OR-joined conditions on the same sub-table still produce
separate EXISTS subqueries and match independently, as expected.
2026-02-19 12:40:29 +01:00
kolaente
cd72231502 test: add failing test for sub-table filter multi-row matching bug #2245
Add task47 variable (with reminders straddling the test window) and new
test cases that verify AND-joined sub-table filters match the same row.
The test "filtered reminder dates should not match task with reminders
outside window" will fail until the fix is applied.
2026-02-19 12:40:29 +01:00
Biagio00
5b42724205 fix(kanban): repeating tasks dates won't update when moved in done bucket (#1638) 2025-11-14 16:57:53 +00:00
kolaente
a81a3ee0e5 feat!: rename right to permission (#1277) 2025-08-13 11:05:05 +02:00
kolaente
4042f66efa feat: show user export status in settings (#1200) 2025-07-30 15:50:26 +00:00
kolaente
7985a6500a fix: use assertions which are more specific 2025-07-18 23:18:04 +02:00
kolaente
3db1ddcee4 feat(tasks): add support for ParadeDB when searching tasks 2025-07-18 23:18:04 +02:00
kolaente
510b1f246a refactor: move test 2025-07-02 23:16:05 +02:00
kolaente
59a0b9c40d feat(auth): require auth to fetch avatars (#930) 2025-06-14 13:12:41 +00:00
Dominik Pschenitschni
296577a875 fix: correct license header references (#882)
See originals:
- https://www.gnu.org/licenses/agpl-3.0.txt
- https://www.gnu.org/licenses/gpl-3.0.txt
2025-06-10 12:18:38 +02:00
Vladimir
c3fffefcf4 fix(db): refactor filtering with subqueries (#701)
Resolves #285
2025-05-12 10:52:48 +02:00
kolaente
e887cdeb5e feat(task): expand reactions via parameter 2025-01-24 11:39:51 +01:00
kolaente
6673adf0b5 fix(filter): do not show tasks in filter results when they are filtered out by labels
This fixes a bug where tasks which were filtered out by their label would still be shown. That was caused by the way the filter query was translated to sql under the hood.

Resolves https://github.com/go-vikunja/vikunja/issues/394
2025-01-20 14:05:42 +01:00
kolaente
57c6f2cd10 feat(filters): add "not in" operator for filters
Resolves https://community.vikunja.io/t/feature-requests-regarding-view-ordering-project-reference-in-kanban-and-a-notin-operator/2728
2024-10-29 12:03:16 +01:00
kolaente
a88124cfce feat: make used bcrypt rounds configurable
This allows to configure the used bcrypt rounds and set it to 4 in tests, greatly speeding up the tests. It's not really required to set this to another value but it might be in the future as computers get faster.
2024-10-13 15:38:04 +02:00
kolaente
2063da9eec chore(web): move web handler package to Vikunja 2024-08-29 16:15:28 +02:00
kolaente
409f9a0cc6 fix(views): test assertions 2024-03-19 00:47:51 +01:00
kolaente
a5c51d4b1e feat: emoji reactions for tasks and comments (#2196)
This PR adds reactions for tasks and comments, similar to what you can do on Gitea, GitHub, Slack and plenty of other tools.

Reviewed-on: https://kolaente.dev/vikunja/vikunja/pulls/2196
Co-authored-by: kolaente <k@knt.li>
Co-committed-by: kolaente <k@knt.li>
2024-03-12 19:25:58 +00:00
kolaente
09d5128050 fix(filters): don't escape valid escaped in queries 2024-03-11 17:02:04 +01:00
kolaente
654e95d99f fix(filters): test fixture 2024-03-09 20:21:05 +01:00
kolaente
87c027aafd chore(filters): cleanup old variables 2024-03-09 19:06:35 +01:00
kolaente
ef1cc9720c feat(filter): add in keyword 2024-03-09 19:06:35 +01:00
kolaente
9d3fb6f81d chore(filter): cleanup 2024-03-09 19:06:35 +01:00
kolaente
76ed2cff5f feat(filter): nesting 2024-03-09 19:06:35 +01:00
kolaente
e43349618b feat(filter): more tests 2024-03-09 19:06:35 +01:00
kolaente
9624cc9e97 fix(filter): translate all tests 2024-03-09 19:06:35 +01:00
kolaente
de320aac72 feat(filters): basic text filter works now 2024-03-09 19:06:34 +01:00
kolaente
307ffe11c4 feat(filters): very basic filter parsing 2024-03-09 19:06:31 +01:00
kolaente
6b1e67485b feat: fetch all projects with a recursive cte instead of recursive query
This change modifies the fetching of all projects to use a recursive common table expression instead of recursively calling the method.
2024-02-28 13:42:45 +01:00
kolaente
e518fb1191 chore: remove year from copyright headers
Resolves https://kolaente.dev/vikunja/api/pulls/1483
2023-09-01 08:32:28 +02:00
kolaente
02184663e5 fix(filter): assignee search by partial username test 2023-08-29 11:40:53 +02:00
kolaente
117c569721 fix(projects): return subprojects which were shared from another user 2023-07-03 11:45:29 +02:00
kolaente
895263f054 fix(filters): sorting tasks from filters
Resolves https://community.vikunja.io/t/filter-table-view-not-sorting/1416
2023-06-21 14:59:40 +02:00
cernst
4a4ba041e0 chore: remove reminderDates after frontend is migrated to reminders (#1448)
Co-authored-by: ce72 <christoph.ernst72@googlemail.com>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1448
Reviewed-by: konrad <k@knt.li>
Co-authored-by: cernst <ce72@noreply.kolaente.de>
Co-committed-by: cernst <ce72@noreply.kolaente.de>
2023-06-10 17:21:36 +00:00
kolaente
ef94e0cf86 feat(projects): don't allow deleting or archiving the default project 2023-06-07 21:29:46 +02:00
kolaente
4ed2d305f0 fix(task): don't build partial task identifier 2023-06-07 20:33:18 +02:00
kolaente
8235c63f60 fix(tests): task collection fixtures 2023-05-24 15:51:56 +02:00
kolaente
6bb42ced9d fix(tasks): read all tests 2023-05-24 15:51:55 +02:00
kolaente
537ba60f2d fix(tasks): get all tasks from parent projects 2023-05-24 15:51:55 +02:00
kolaente
afe756e4c1 fix(tests): make the tests compile again 2023-05-24 15:51:55 +02:00
cernst
3f5252dc24 feat: Add relative Reminders (#1427)
Partially resolves #1416

Co-authored-by: ce72 <christoph.ernst72@googlemail.com>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1427
Reviewed-by: konrad <k@knt.li>
Co-authored-by: cernst <ce72@noreply.kolaente.de>
Co-committed-by: cernst <ce72@noreply.kolaente.de>
2023-03-27 20:07:06 +00:00
kolaente
349e6a5905 feat: rename lists to projects 2023-03-13 14:28:06 +01:00
kolaente
7f28865903 feat: search by assignee username instead of id 2022-08-16 21:27:32 +00:00
kolaente
8869adfc27 feat: add setting to change overdue tasks reminder email time 2022-06-16 16:20:26 +02:00
konrad
e52c45d5aa fix: sort tasks logically and consistent across dbms (#1177)
This PR changes the behavoir of sorting tasks. Before, tasks were sorted with null values first. Now, null values are always sorted last which is usually what you want.

Partial fix for https://github.com/go-vikunja/frontend/issues/54

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1177
2022-05-30 20:53:58 +00:00