Commit Graph

59 Commits

Author SHA1 Message Date
kolaente
3db1ddcee4 feat(tasks): add support for ParadeDB when searching tasks 2025-07-18 23:18:04 +02:00
kolaente
9b579d282c fix(tasks): do not return subtasks multiple times when they are related
to multiple tasks

Resolves https://community.vikunja.io/t/tasks-with-parent-tasks-appear-duplicated-in-list-views/3676
2025-07-02 23:16:05 +02:00
kolaente
c6c18d1ca1 fix(task): ambiguous description search (#1032)
test: relocate search regression
2025-06-26 20:05:04 +00:00
kolaente
53264d350e fix(kanban): make bucket query fixed per-view (#1007) 2025-06-25 11:38:24 +00:00
kolaente
f9b31ab4bf fix: ambiguous title column in task search (#1012) 2025-06-24 20:38:35 +00:00
kolaente
4f99bdb50c fix(tasks): ambiguous done column in task sorting (#1011)
fix: prefix task fields in sorting
2025-06-24 20:37:25 +00:00
kolaente
49963d88a6 fix(task): add tasks table prefix for sort order (#1003)
fix: qualify task index for mysql order
2025-06-24 09:55:00 +00:00
kolaente
048e09ee12 fix(tasks): subtasks missing in list view (#1000) 2025-06-24 11:08:01 +02: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
7f6cb1e06e feat: expand buckets 2025-01-24 11:03:40 +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
feb6b708e3 fix(tasks): prefix created and updated columns when sorting by them
Resolves https://github.com/go-vikunja/vikunja/issues/350
2024-11-18 12:07:29 +01:00
kolaente
b9366ca9e3 fix(filter): use correct syntax for not in query in typesense
Related to https://github.com/typesense/typesense/issues/2038
2024-10-29 17:23:16 +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
3ad5797307 fix: do not prefix tasks all the time
Fixes a regression from 29b9001078
2024-10-21 10:32:14 +02:00
kolaente
d81f2db6ef chore: replace all uses of bucket_id with the const 2024-10-02 10:43:51 +02:00
kolaente
425f6378c6 fix(kanban): make loading tasks for a bucket work
This fixes two closely-related bugs:
1. When loading tasks from a bucket of a saved filter, the saved filter query would override the user-supplied filter, which would cause to only tasks matching the saved filter query to be returned.
2. When a filter query for a bucket was specified, the function would only check if one of the top level filters was a filter for tasks in a specific bucket. That means a filter like "bucket_id = 42 && labels = foo" would return the expected result, while a filter like "labels = foo && (bucket_id = 42 && priority = 1)" would fail with an error 500 because the task_buckets table was not joined to the sql query. The fix from the first bug caused such filter queries.
2024-10-02 10:41:38 +02:00
kolaente
754d56ca82 fix(filters): increase year value when using mysql and year < 1
Mysql cannot handle year values < 1. That means filtering for a date value like 0000-01-01 won't work with mysql. Additionally, dates like 0001-01-01 could under some circumstances not work either when the date in combination with the time zone would resolve to something like 0000-12-31 - for example when the server is located (and configured) in UTC, but the user running the query is in New York. This could be observed by setting the time zone manually using the filter_timezone query parameter.

Resolves https://vikunja.sentry.io/share/issue/42bce92c15354c109eb1e6488b6a542b/
Resolves https://vikunja.sentry.io/share/issue/ef81451b0c7b43f1bff2d3a86ba393bb/
2024-09-30 08:41:24 +02:00
kolaente
d22bc79d3c chore(tasks): add more details to error message
Trying to debug https://vikunja.sentry.io/share/issue/ef81451b0c7b43f1bff2d3a86ba393bb/
2024-09-29 21:44:28 +02:00
kolaente
1fe5e9cc55 chore(tasks): add more details to error message
Trying to debug https://vikunja.sentry.io/share/issue/ef81451b0c7b43f1bff2d3a86ba393bb/
2024-09-29 21:05:55 +02:00
kolaente
c54181eeda fix(deps): update module github.com/typesense/typesense-go to v2 2024-09-19 15:30:13 +02:00
kolaente
2063da9eec chore(web): move web handler package to Vikunja 2024-08-29 16:15:28 +02:00
kolaente
2982acc0ec fix(tasks): limit to max 250 entries when using typesense
Resolves https://community.vikunja.io/t/typesense-250-hits-limit/2536/8
2024-07-11 10:06:39 +02:00
kolaente
2c6bc7742f fix(tasks): explicitly add task position to select statement when looking up tasks with Typesense
Resolves https://kolaente.dev/vikunja/vikunja/issues/2546
Resolves https://community.vikunja.io/t/version-0-24-0-internal-server-error-breaking-change/2558/5
2024-07-11 09:28:22 +02:00
kolaente
d3f397b036 fix(tasks): do not crash when order by id and position 2024-06-13 16:36:02 +02:00
kolaente
acf4e3aa18 fix(tasks): ambiguous column name error when fetching favorite tasks 2024-06-06 21:50:30 +02:00
kolaente
e56b2232bb fix(typesense): do not try to sort by position when searching in a saved filter
This change fixes a bug where Typesense would try to sort by the project view of a saved filter. The view position is not indexed in Typesense, hence filtering fails. Because sorting by position is not a feature in saved filters, I've removed the logic for sorting saved filters with Typesense.
2024-06-05 10:24:28 +02:00
kolaente
506ce66434 fix(typesense): correctly join task position table when sorting by it
This change fixes a bug where the project view to use for joining was empty, since Typesense only supports 3 sorting parameters. When using more than that, the logic to fetch the view ID parameter would not return the correct parameter, but the logic building the order by statement would. That led to inconsistencies where the task position was included in the order by statement, but the table would not be joined, failing the query.
2024-06-05 09:54:55 +02:00
kolaente
b386dfae87 fix(typesense): only return distinct tasks once 2024-06-04 18:22:05 +02:00
kolaente
5fc4ec48b7 fix(typesense): correctly incorporate existing filter when it is empty 2024-06-04 18:22:05 +02:00
kolaente
48676050d7 feat(tasks): expand subtasks (#2345)
This change adds a parameter to expand subtasks - if provided, Vikunja will ensure all subtasks are present in the results list.

Resolves https://community.vikunja.io/t/subtasks-show-on-different-pages/2292
Reviewed-on: https://kolaente.dev/vikunja/vikunja/pulls/2345
Co-authored-by: kolaente <k@knt.li>
Co-committed-by: kolaente <k@knt.li>
2024-06-04 10:27:23 +00:00
kolaente
ecbefdb921 fix(buckets): return correct task count for tasks in buckets 2024-04-14 17:21:53 +02:00
kolaente
77e95642a9 fix(tasks): make fetching tasks in buckets via typesense work 2024-04-13 17:52:47 +02:00
kolaente
3519b8b2fe fix(tasks): index and order by task position when using typesense 2024-04-13 17:19:27 +02:00
kolaente
fa137b1ffc fix(views): include order by fields in distinct clause when sorting by task position 2024-03-19 17:05:12 +01:00
kolaente
004f1e06bb fix(views): do not return kanban tasks multiple times 2024-03-19 00:47:50 +01:00
kolaente
398c9f1056 fix(views): return tasks in their buckets 2024-03-19 00:47:48 +01:00
kolaente
ee6ea03506 feat(views): sort by position 2024-03-19 00:47:47 +01:00
kolaente
43f24661d7 feat(views): save view and position in Typesense 2024-03-19 00:47:47 +01:00
kolaente
d1d07f462c feat(views): sort tasks by their position relative to the view they're in 2024-03-19 00:47:46 +01:00
kolaente
28fa2c517a feat(filters): make new filter syntax work with Typesense 2024-03-09 19:06:48 +01:00
kolaente
87c027aafd chore(filters): cleanup old variables 2024-03-09 19:06:35 +01:00
kolaente
76ed2cff5f feat(filter): nesting 2024-03-09 19:06:35 +01:00
kolaente
c1e137d8ee fix(filter): make sure single filter condition works 2024-03-09 19:06:34 +01:00
kolaente
de320aac72 feat(filters): basic text filter works now 2024-03-09 19:06:34 +01:00
kolaente
b95b92a23a fix(filters): add explicit check for string slice filter
Resolves https://github.com/go-vikunja/api/issues/109
2024-02-05 22:08:17 +01:00
kolaente
8efdc96d02 chore(filters): log type if unknown filter type 2024-02-01 16:19:22 +01:00
kolaente
4d48d814c9 fix: update function signatures 2024-01-16 14:06:44 +00:00
kolaente
6169c2e12e fix(typesense): correctly convert date values for typesense
Resolves https://kolaente.dev/vikunja/api/issues/1636
2023-11-09 12:29:52 +01:00