Commit Graph

205 Commits

Author SHA1 Message Date
kolaente
c54181eeda fix(deps): update module github.com/typesense/typesense-go to v2 2024-09-19 15:30:13 +02:00
kolaente
45ff5907e6 fix(view): correctly resolve bucket filter when paginating 2024-09-13 19:45:48 +02:00
kolaente
20724f6fb5 fix(task): cyclomatic complexity 2024-09-12 10:24:16 +02:00
kolaente
55dd7d2981 fix(task): specify task index when creating multiple tasks at once
This change allows to specify the task index when creating a task, which will then be checked to avoid duplicates and used. This allows us to calculate the indexes for all tasks beforehand when creating them at once using quick add magic.
The method is not bulletproof, but already fixes a problem where multiple tasks would have the same index when created that way.

Resolves https://community.vikunja.io/t/add-multiple-tasks-at-once/333/16
2024-09-11 17:58:42 +02:00
kolaente
68636f27da fix(files): use absolute path everywhere 2024-09-06 12:59:48 +02:00
kolaente
cf94cc8cab chore(docs): clarify usage of related model creation
Resolves https://github.com/go-vikunja/vikunja/issues/323
2024-09-06 12:06:12 +02:00
kolaente
75f3e930cd fix(subscriptions): do not panic when a task does not have a subscription 2024-09-04 21:55:14 +02:00
kolaente
4ff8815fe1 fix(subscriptions): cleanup and simplify fetching subscribers for tasks and projects logic
Vikunja now uses one recursive CTE and a few optimizations to fetch all subscribers for a task or project. This makes the relevant code easier to maintain and more performant.
2024-09-04 19:55:17 +02:00
kolaente
2063da9eec chore(web): move web handler package to Vikunja 2024-08-29 16:15:28 +02:00
kolaente
5a0d1f1dc6 feat(event): simplify dispatching task updated event from only a task id 2024-08-29 15:18:03 +02:00
kolaente
429c7ca2c1 feat(task): always insert new tasks at the top
Resolves https://community.vikunja.io/t/kanban-cards-in-wrong-order/2731
2024-08-28 15:30:40 +02:00
kolaente
eed783e42f fix(task): move task into new kanban bucket when moving between projects
Resolves https://github.com/go-vikunja/vikunja/issues/290
Resolves https://community.vikunja.io/t/tasks-moved-from-one-project-to-another-do-not-show-up-in-kanban/2689
2024-08-12 15:35:37 +02:00
kolaente
12474e5be6 fix(kanban): make sure tasks which changed their done status are moved around in buckets
This fixes a bug where tasks which had their done status changed were not moved in the correct bucket. This affected both frontend and api. The move of the task between buckets is now correctly done in the api and frontend - with a bit of duplicated logic between the two. This could be optimized further in the future.

Resolves https://kolaente.dev/vikunja/vikunja/issues/2610
2024-07-18 12:39:29 +02:00
kolaente
744b40e7f7 fix: missing error handling 2024-07-17 11:43:38 +02:00
kolaente
58e492872a fix(kanban): put task into correct bucket when creating via kanban board 2024-07-17 09:36:33 +02:00
kolaente
62412ce29b fix(kanban): do not move repeating task into a different bucket 2024-07-12 13:19:50 +02:00
kolaente
7c42fb5d75 fix: lint 2024-07-12 11:49:03 +02:00
kolaente
8711f7a935 fix(typesense): do not use modified opts for db fallback search 2024-07-11 12:52:09 +02:00
kolaente
7f27cee6a3 fix(tasks): do not use typesense modified options to search with database 2024-07-11 12:41:40 +02:00
kolaente
0b424fe95e fix(typesense): do not crash after creating a project when tasks are not yet indexed
Before this fix, creating a project with Typesense enabled would fail with an error because the tasks it fetches as part of that process do not have the task position property in their index. We now fall back to using the db for searching in that case.

In the long run, we should use typesense joins for the task position to make this more efficient.
2024-07-11 12:07:22 +02:00
kolaente
359b07dabb fix(views): move bucket update to extra endpoint
BREAKING CHANGE: The bucket id of the task model is now only used internally and will not trigger a change in buckets when updating the task.

This resolves a problem where the task update routine needs to know the view context it is in. Because that's not really what it should be used for, the extra endpoint takes all required parameters and handles the complexity of actually updating the bucket.
This fixes a bug where it was impossible to move a task around between buckets of a saved filter view. In that case, the view of the bucket and the project the task was in would be different, hence the update failed.
2024-07-02 16:34:53 +02:00
kolaente
2690c99438 fix(filters): explicitly use tasks.id as task id filter column
This fixes an error where filtering for labels or other related entities would fail with an error "ambiguous column name id"
2024-06-19 16:58:04 +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
1843f1d0d8 fix(docs): correctly document filter query usage 2024-06-04 18:02:31 +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
c47d8c6dbe fix(task): do not try to set bucket for filtered bucket configuration 2024-06-03 17:02:50 +02:00
kolaente
4ce761eba7 fix(filter): trim search term before searching 2024-06-03 16:28:04 +02:00
kolaente
7837bcfaae fix(task): only count unique tasks in a bucket when checking bucket limit
This fixes a bug where the current number of tasks in a bucket was computed wrong when moving tasks into a bucket with a limit. Sometimes the bug would prevent adding a task to a bucket which seemed to have space left but ultimately failed when moving the task.
2024-05-06 20:07:06 +02:00
kolaente
e9de7d8a24 fix(project): delete all related entities when deleting a project 2024-04-13 21:43:44 +02:00
kolaente
2f6b395334 feat(kanban): set task position to 0 (top) when it is moved into the done bucket automatically after marking it done 2024-04-06 14:35:05 +02:00
kolaente
97b7592e7c fix(views): do not map bucket id from xorm 2024-03-20 10:41:58 +01:00
kolaente
e7d6ee2392 fix(views): update done status of recurring tasks 2024-03-19 17:04:39 +01:00
kolaente
165d291cd5 fix(views): reset bucket when moving tasks between projects 2024-03-19 14:16:05 +01:00
kolaente
30b41bd143 fix(views): lint 2024-03-19 00:47:51 +01:00
kolaente
803f58f402 fix(views): return correct error 2024-03-19 00:47:51 +01:00
kolaente
b7b3169169 fix(views): count task buckets 2024-03-19 00:47:51 +01:00
kolaente
d4bdd2d4e8 fix(views): duplicate all views and related entities when duplicating a project 2024-03-19 00:47:51 +01:00
kolaente
004f1e06bb fix(views): do not return kanban tasks multiple times 2024-03-19 00:47:50 +01:00
kolaente
f364f3bec8 feat(views): return position when retriving tasks 2024-03-19 00:47:48 +01:00
kolaente
398c9f1056 fix(views): return tasks in their buckets 2024-03-19 00:47:48 +01:00
kolaente
43f24661d7 feat(views): save view and position in Typesense 2024-03-19 00:47:47 +01:00
kolaente
14353b24d7 feat(views): set default position 2024-03-19 00:47:47 +01:00
kolaente
ca4e3e01c5 feat(views): recalculate all positions when updating 2024-03-19 00:47:47 +01:00
kolaente
8ce476491e feat(views): only update the bucket when necessary 2024-03-19 00:47:47 +01:00
kolaente
f2a0d69670 feat(views)!: make updating a bucket work again 2024-03-19 00:47:47 +01:00
kolaente
a13276e28e feat(views)!: decouple bucket <-> task relationship 2024-03-19 00:47:47 +01:00
kolaente
9cf84646a1 feat(views)!: move done and default bucket setting to view 2024-03-19 00:47:47 +01:00
kolaente
2502776460 feat(views)!: move task position handling to its own crud entity
BREAKING CHANGE: the position of tasks now can't be updated anymore via the task update endpoint. Instead, there is a new endpoint which takes the project view into account as well.
2024-03-19 00:47:46 +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
a66e26678e feat(filters): pass timezone down when filtering with relative date math
Resolves https://community.vikunja.io/t/my-vikunja-instance-creates-tasks-with-due-date-time-of-9am-for-tasks-with-the-word-today-word-in-it/2105/8
2024-03-11 16:28:25 +01:00