Commit Graph

166 Commits

Author SHA1 Message Date
398c9f1056
fix(views): return tasks in their buckets 2024-03-19 00:47:48 +01:00
43f24661d7
feat(views): save view and position in Typesense 2024-03-19 00:47:47 +01:00
14353b24d7
feat(views): set default position 2024-03-19 00:47:47 +01:00
ca4e3e01c5
feat(views): recalculate all positions when updating 2024-03-19 00:47:47 +01:00
8ce476491e
feat(views): only update the bucket when necessary 2024-03-19 00:47:47 +01:00
f2a0d69670
feat(views)!: make updating a bucket work again 2024-03-19 00:47:47 +01:00
a13276e28e
feat(views)!: decouple bucket <-> task relationship 2024-03-19 00:47:47 +01:00
9cf84646a1
feat(views)!: move done and default bucket setting to view 2024-03-19 00:47:47 +01:00
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
a5c51d4b1e feat: emoji reactions for tasks and comments (#2196)
All checks were successful
continuous-integration/drone/push Build is passing
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: #2196
Co-authored-by: kolaente <k@knt.li>
Co-committed-by: kolaente <k@knt.li>
2024-03-12 19:25:58 +00:00
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
87c027aafd
chore(filters): cleanup old variables 2024-03-09 19:06:35 +01:00
de320aac72
feat(filters): basic text filter works now 2024-03-09 19:06:34 +01:00
307ffe11c4
feat(filters): very basic filter parsing 2024-03-09 19:06:31 +01:00
ac8751e1be
fix(task): move done tasks to the done bucket when they are moved between projects and the new project has a done bucket
All checks were successful
continuous-integration/drone/push Build is passing
2024-03-03 18:13:47 +01:00
10ff864e0c
fix(projects): load projects only one when fetching subscriptions for a bunch of projects at once
All checks were successful
continuous-integration/drone/push Build is passing
This change ensures already loaded projects are passed down when fetching their subscription  instead of re-loading each project with a single sql statement. When loading all projects, this meant all projects were loaded twice, which was highly inefficient. This roughly added 25ms to each request, assuming the per page limit was maxed out at 50 projects.

Empirical testing shows this change reduces load times by ~20ms. Because the request is already pretty fast, this is ~30% of the overall request time, making the loading of projects now even faster
2024-03-02 14:27:11 +01:00
119c68be9d
feat: rename frontend url config to public url 2024-02-09 14:41:55 +01:00
a20f6ac815
fix(task): delete the task after all related attributes to prevent task not found errors
All checks were successful
continuous-integration/drone/push Build is passing
2024-01-28 12:23:25 +01:00
1ed65d306d
fix(docs): remove duplicate paths (params) in swagger docs
All checks were successful
continuous-integration/drone/push Build is passing
2023-11-16 13:07:01 +01:00
Miguel Arroyo
225d65268d feat(caldav): Add support for subtasks (i.e. RELATED-TO property) in CalDAV (#1634)
All checks were successful
continuous-integration/drone/push Build is passing
As I mentioned [here](vikunja/api#1442 (comment)), this is mainly a cleanup of @zewaren 's original [PR](vikunja/api#1442).

It adds support for the `RELATED-TO` property in CalDAV's `VTODO` and the `RELTYPE=PARENT` and `RELTYPE=CHILD` relationships. In other words, it allows for `ParentTask->SubTask` relations to be handled supported through CalDAV.

In addition to the included tests, this has been tested by both @zewaren & myself with DAVx5 & Tasks (Android) and it's been working great.

Resolves vikunja/api#1345

Co-authored-by: Miguel A. Arroyo <miguel@codeheads.dev>
Co-authored-by: Erwan Martin <public@fzwte.net>
Reviewed-on: vikunja/api#1634
Reviewed-by: konrad <k@knt.li>
Co-authored-by: Miguel Arroyo <mayanez@noreply.kolaente.de>
Co-committed-by: Miguel Arroyo <mayanez@noreply.kolaente.de>
2023-11-10 22:44:03 +00:00
a1ea77f751
feat: accept hex values which start with a #
Some checks failed
continuous-integration/drone/push Build is failing
2023-10-24 16:12:22 +02:00
56625b0b90
fix: lint
Some checks failed
continuous-integration/drone/push Build is failing
2023-10-10 20:35:43 +02:00
feacbbff74 fix(caldav): do not update dates of tasks when repositioning them (#1605)
Some checks failed
continuous-integration/drone/push Build is failing
When a task is updated, the position of the tasks of the whole project/bucket are updated. This leads to column "updated" of model Task to be updated quite often. However, that column is used for the ETag field of CALDAV.
Thus, changing a task marks all the other tasks as updated, which prevents clients from synchronizing their edited tasks.

Co-authored-by: Erwan Martin <erwan@pepper.com>
Reviewed-on: vikunja/api#1605
Co-authored-by: Erwan Martin <public@fzwte.net>
Co-committed-by: Erwan Martin <public@fzwte.net>
2023-09-27 16:17:52 +00:00
bfcefa0217
fix(caldav): check for related tasks synced back from a caldav client
Some checks failed
continuous-integration/drone/push Build is failing
Related discussion https://community.vikunja.io/t/tasks-org-subtask-syncing-issue/737/9
2023-09-07 11:29:44 +02:00
bfb01898c2
fix(api tokens)!: make sure task create routes are available to use with the api
Some checks failed
continuous-integration/drone/push Build is failing
BREAKING CHANGE: The api route to create a new task is now /projects/:project/tasks instead of /projects/:project
2023-09-06 10:33:52 +02:00
60bd5c8a79
feat: make default bucket configurable
All checks were successful
continuous-integration/drone/pr Build is passing
2023-09-03 15:17:17 +02:00
bbbb45d224
feat: move done bucket setting to project 2023-09-03 15:01:35 +02:00
e518fb1191
chore: remove year from copyright headers
Some checks failed
continuous-integration/drone/push Build is failing
Resolves vikunja/api#1483
2023-09-01 08:32:28 +02:00
2ca193e63b
feat(tasks): make sorting and filtering work with Typesense 2023-08-28 19:10:18 +02:00
010b4ce783
feat(tasks): add searching via typesense 2023-08-28 12:14:50 +02:00
1dc9c50d64 fix(deps): update module github.com/imdario/mergo to v1 (#1559)
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: vikunja/api#1559
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2023-06-20 10:02:21 +00:00
cernst
4a4ba041e0 chore: remove reminderDates after frontend is migrated to reminders (#1448)
All checks were successful
continuous-integration/drone/push Build is passing
Co-authored-by: ce72 <christoph.ernst72@googlemail.com>
Reviewed-on: vikunja/api#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
4ed2d305f0
fix(task): don't build partial task identifier
Some checks failed
continuous-integration/drone/push Build is failing
2023-06-07 20:33:18 +02:00
43ef5f98d8
fix(projects): don't fail to fetch a task if there's a broken subscription record associated to it 2023-06-07 20:30:14 +02:00
e66344c21e
fix(task): don't try to return a project identifier if there is no project 2023-06-07 20:29:35 +02:00
69bd023b62
fix(tasks): return a correct task identifier if the list does not have a good one set
Some checks failed
continuous-integration/drone/push Build is failing
2023-06-07 18:17:08 +02:00
1a840c8b87
fix(tasks): make sure task deleted notification actually has information about the deleted task
Some checks failed
continuous-integration/drone/push Build is failing
2023-06-07 18:14:20 +02:00
a51bbd1159
fix: don't get favorite task projects filter multiple times 2023-05-24 15:52:33 +02:00
353279cbff
fix: fetch all tasks for all projects 2023-05-24 15:52:33 +02:00
5d02d93d31
fix(tasks): don't check for namespaces in filters 2023-05-24 15:51:54 +02:00
Dominik Pschenitschni
cca430810d fix(image): json type of struct property (#1469)
Some checks failed
continuous-integration/drone/push Build is failing
Co-authored-by: Dominik Pschenitschni <mail@celement.de>
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#1469
Reviewed-by: konrad <k@knt.li>
Co-authored-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
Co-committed-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
2023-04-06 09:53:09 +00:00
f76bb2b4a9 fix: align task ID param
All checks were successful
continuous-integration/drone/push Build is passing
2023-04-05 12:14:10 +00:00
cd90db3117 chore: fix spelling 2023-04-05 12:14:10 +00:00
b6d5605ef6 fix: align "ID" param for Delete and Update method of Task model 2023-04-05 12:14:10 +00:00
cernst
3f5252dc24 feat: Add relative Reminders (#1427)
All checks were successful
continuous-integration/drone/push Build is passing
Partially resolves #1416

Co-authored-by: ce72 <christoph.ernst72@googlemail.com>
Reviewed-on: vikunja/api#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
4d5ad8f50e
chore(deps): update golangci-lint to 1.52.1
Some checks failed
continuous-integration/drone/push Build is failing
2023-03-24 19:17:45 +01:00
7a9611c2da
chore: cleanup
All checks were successful
continuous-integration/drone/pr Build is passing
2023-03-13 14:28:36 +01:00
349e6a5905
feat: rename lists to projects 2023-03-13 14:28:06 +01:00
066c26f83e
fix(caldav): make sure only labels where the user has permission to use them are used
Some checks failed
continuous-integration/drone/push Build is failing
Follow-up for a62b57ac62
2023-03-05 14:03:09 +01:00
534d04a1db
fix(task): correctly load tasks by id and uuid in caldav
All checks were successful
continuous-integration/drone/push Build is passing
Partially reverts 1afc72e190
2023-03-01 22:18:59 +01:00