1
0

762 Commits

Author SHA1 Message Date
kolaente
b94802169c
fix(task): cyclomatic complexity
(cherry picked from commit 20724f6fb57128fd212544cb3a6b55b90f38c316)
2024-09-20 14:26:00 +02:00
kolaente
d23484c8f3
fix(project): reset id before creating
Resolves https://vikunja.sentry.io/share/issue/6f1e37d4b8b248188e20650234a45cde/

(cherry picked from commit 8d730543c3c7bbb8e4f3a8b18022275a35ce5330)
2024-09-20 14:25:57 +02:00
kolaente
5bfd99dd77
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

(cherry picked from commit 55dd7d298187dcc8393ae67340117d66d45dc4ef)
2024-09-20 14:25:48 +02:00
kolaente
c5f043c346
fix(label): ignore existing ID during creation
(cherry picked from commit e698ac5a346785df623553104c5650566d1a9bcd)
2024-09-20 14:25:39 +02:00
kolaente
0b9f3070fd
fix(files): use absolute path everywhere
(cherry picked from commit 68636f27da707f3ee87ba0e4f1ff100504486608)
2024-09-20 14:25:02 +02:00
kolaente
cca02a3f2e
chore(docs): clarify usage of related model creation
Resolves https://github.com/go-vikunja/vikunja/issues/323

(cherry picked from commit cf94cc8cab1c438eb30e63b0b02819c503b32e20)
2024-09-20 14:25:00 +02:00
kolaente
e70f5bcce3
chore(attachments): refactor building image preview
(cherry picked from commit 02c1de55c4b21863bb7500811e04bc0de9177089)
2024-09-20 14:24:53 +02:00
kolaente
0a29a88a26
chore(subscription): return subscription entity type using json Marshaler
(cherry picked from commit b60efbd259466637cd9331e5a2101eced07808e8)
2024-09-20 14:22:43 +02:00
kolaente
313b99e296
fix(reminders): notify subscribed users as well
Resolves https://community.vikunja.io/t/no-reminder-notification-by-e-mail-from-my-colleague/2779

(cherry picked from commit 34ac29fcceec0b9f5f0c3c9fb22c015858f357d5)
2024-09-20 14:22:41 +02:00
kolaente
95ef4e1045
fix(subscriptions): do not panic when a task does not have a subscription
(cherry picked from commit 75f3e930cd8072fc6709d1e653b177263d02c8ce)
2024-09-20 14:22:39 +02:00
kolaente
8b8ec19bb3
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.

(cherry picked from commit 4ff8815fe1bfe72e02c10f6a6877c93a630f36a4)
2024-09-20 14:22:37 +02:00
kolaente
c8f7a57566
fix(subscription): always return task subscription when subscribed to task and project
(cherry picked from commit 115d1c3618811560b4f2c87d764da196bafc1c06)
2024-09-20 14:22:34 +02:00
kolaente
fc8252e751
fix(subscriptions): correctly inherit subscriptions
Resolves https://community.vikunja.io/t/e-mail-notification-twice/2740/20

(cherry picked from commit 06305eb6b3300bf1c989e06e54766e427bcc749a)
2024-09-20 14:22:33 +02:00
kolaente
a462697b30
fix(notifications): only add project subscription as task subscription when the user is not already subscribed to the task
Before this fix, a project subscription object was added twice to the list of subscriptions for a task when the user did not subscribe to the task directly. This caused the user to receive a comment notification twice for a given task.
This was probably a regression from efde364224.

Resolves https://community.vikunja.io/t/e-mail-notification-twice/2740/18

(cherry picked from commit 2c9becec101c14dd744444fffe244510e8394323)
2024-09-20 14:22:29 +02:00
kolaente
be8ecb6d36
fix(labels): test error assertion
(cherry picked from commit 74a74b7ec719c450dd0e4fe7b404ae46807aafdb)
2024-09-20 14:22:09 +02:00
kolaente
4c73c74587
chore(web): move web handler package to Vikunja
(cherry picked from commit 2063da9eecf8d0980a62106a627d7f00da172138)
2024-09-20 14:22:08 +02:00
kolaente
39d0409f57
fix(labels): trigger task.updated event when removing a label from a task
(cherry picked from commit bea131cfd9dcf2c0bc726cf370c7ea2a5478b16a)
2024-09-20 14:21:16 +02:00
kolaente
7b804efbe2
feat(event): simplify dispatching task updated event from only a task id
(cherry picked from commit 5a0d1f1dc6430f80788ae4cfacbe7da58f704841)
2024-09-20 14:21:14 +02:00
kolaente
1a131d79f9
fix(subscriptions): ignore task subscription when the user is subscribed to the project
Resolves https://community.vikunja.io/t/e-mail-notification-twice/2740/12
Resolves https://github.com/go-vikunja/vikunja/issues/316

(cherry picked from commit efde364224cf744c448a5b8e069776f18652d314)
2024-09-20 14:21:11 +02:00
kolaente
c85da01294
fix(task): set done at date when moving a task to the done bucket
Resolves https://github.com/go-vikunja/vikunja/issues/320

(cherry picked from commit bf56311faa55146cac05dbf1ee7e02e542d22a90)
2024-09-20 14:21:06 +02:00
kolaente
de9f686480
fix(migration): ensure project background gets exported and imported
(cherry picked from commit ebfd5f54d2e4644aa2076c57a9b50ed5b87deaa9)
2024-08-12 20:17:10 +02:00
kolaente
0434a96c3a
fix(views): do not create task bucket and task position entries when duplicating a project
Resolves https://github.com/go-vikunja/vikunja/issues/297
Resolves https://community.vikunja.io/t/duplicating-a-board-puts-the-buckets-in-the-original-board/2579

(cherry picked from commit b83448b7a6d78fea07e3e88af45a468b7d5b968b)
2024-08-12 20:17:07 +02:00
kolaente
2b9b77bef2
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

(cherry picked from commit eed783e42f3158e6a1fdd1fffcaf6b578d0caa64)
2024-08-12 20:17:05 +02:00
Dominik Pschenitschni
6e38bcf349
chore: improve error message
(cherry picked from commit bc5fd380e55252f360059d90b894ddbe60688d94)
2024-08-12 20:16:30 +02:00
kolaente
ef0bf3156e
fix(project): do not use project id of nil project in error 2024-07-18 16:39:30 +02:00
kolaente
bea81f83f7
fix(filters): only insert task buckets and positions when there are any 2024-07-18 15:38:29 +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
f8fb9d7407
fix(filters): add tasks to filter buckets when updating the filter 2024-07-17 12:57:52 +02:00
kolaente
5cc420b289
fix(filters): add task to buckets of saved filters when creating the task 2024-07-17 12:57:51 +02:00
kolaente
744b40e7f7
fix: missing error handling 2024-07-17 11:43:38 +02:00
kolaente
1e42e54db1
fix(projects): do not create buckets in the original project when duplicating a project 2024-07-17 10:24:47 +02:00
kolaente
8a6689f4fa
fix(projects): do not create backlog bucket when duplicating views 2024-07-17 10:24:03 +02:00
kolaente
092a65b025
feat(project): add " - duplicate" suffix to duplicated projects title 2024-07-17 10:23:33 +02:00
kolaente
5e04abaa06
chore(project): rename receiver 2024-07-17 10:23:01 +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
bb25a3397b
fix(kanban): use correct assertion in the test 2024-07-12 14:21:46 +02:00
kolaente
918c2224d8
fix(kanban): move task to done bucket in all views when moved to done bucket in one view 2024-07-12 13:59:59 +02:00
kolaente
323ecdaab6
fix(kanban): move repeating task back to old bucket when moved to the done bucket 2024-07-12 13:44:45 +02:00
kolaente
51040cf1af
fix(kanban): dispatch task updated event when task position is updated
This fixes a bug where a task would not be indexed in Typesense when its position changed.
2024-07-12 13:31:27 +02:00
kolaente
e5e0db1f6a
fix(kanban): dispatch task updated event when task is moved between buckets
This fixes a bug where a task would not be indexed in Typesense when its bucket changed.
2024-07-12 13:29:15 +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
5644130f01
fix(filters): do not create a default filter for list view when creating a saved filter
Because a default filter in a filter is highly unexpected, it can lead to these filters cancelling each other out, resulting in confusing behaviour. See https://kolaente.dev/vikunja/vikunja/issues/2547#issuecomment-65180
2024-07-11 12:29:09 +02:00
kolaente
38c30d1eee
fix(filters): trim spaces when parsing filter values
This fixes a bug where values would not be trimmed before parsing them. That resulted in a value like " 2" being invalid, even though it's a perfectly fine number.
Because the frontend sends the filters for projects and other values with comma-separated spaces like "1, 2, 3", this essentially broke filtering by these values.

Resolves https://kolaente.dev/vikunja/vikunja/issues/2547
2024-07-11 12:20:32 +02:00
kolaente
471d0fcd4a
fix(typesense): reindex tasks when their position changed 2024-07-11 12:07:48 +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
70615d6843
fix(filter): make sure filter values are properly escaped before executing them
Resolves https://community.vikunja.io/t/filtering-unexpected-character-relative-dates/2544
Resolves https://github.com/go-vikunja/vikunja/issues/286
2024-07-11 11:27:19 +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