kolaente
c2b116de70
chore(files): use absolute file path to retrieve and save files
2024-09-05 15:03:32 +02:00
kolaente
ffcc48ec87
fix(caldav): make sure colors are correctly saved and returned
...
Resolves https://community.vikunja.io/t/caldav-sync-tasks-org-strips-colour-and-end-date-values/2753/2
2024-09-04 23:08:29 +02:00
Frederick [Bot]
5aa0b6a0cf
[skip ci] Updated swagger docs
2024-09-04 20:43:53 +00:00
kolaente
b60efbd259
chore(subscription): return subscription entity type using json Marshaler
2024-09-04 22:25:03 +02:00
kolaente
34ac29fcce
fix(reminders): notify subscribed users as well
...
Resolves https://community.vikunja.io/t/no-reminder-notification-by-e-mail-from-my-colleague/2779
2024-09-04 22:11:07 +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
115d1c3618
fix(subscription): always return task subscription when subscribed to task and project
2024-09-03 22:37:53 +02:00
kolaente
06305eb6b3
fix(subscriptions): correctly inherit subscriptions
...
Resolves https://community.vikunja.io/t/e-mail-notification-twice/2740/20
2024-09-03 22:04:11 +02:00
kolaente
2c9becec10
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
2024-09-02 23:36:58 +02:00
kolaente
5c56d07215
chore(web): always set internal error
2024-09-01 19:37:27 +02:00
kolaente
6fb314b326
chore(web): use logger directly
2024-09-01 19:37:27 +02:00
kolaente
9b01666ec6
chore(web): use web auth factory directly
2024-09-01 19:37:27 +02:00
kolaente
bcfd72c645
chore(web): use config directly
2024-08-29 18:41:20 +02:00
kolaente
499f66b7ae
chore(web): directly use new db session
2024-08-29 16:31:46 +02:00
kolaente
8e37d5cb76
chore(web): remove redundant use of fmt.Sprintf
2024-08-29 16:28:37 +02:00
kolaente
57ba073874
chore(web): use errors.As instead of type assertion
2024-08-29 16:28:16 +02:00
kolaente
329de3aab3
chore(web): remove unused echo context
2024-08-29 16:20:39 +02:00
kolaente
74a74b7ec7
fix(labels): test error assertion
2024-08-29 16:16:41 +02:00
kolaente
2063da9eec
chore(web): move web handler package to Vikunja
2024-08-29 16:15:28 +02:00
kolaente
7a7e97770c
chore(errors): always add internal error to echo error
2024-08-29 15:39:34 +02:00
kolaente
bea131cfd9
fix(labels): trigger task.updated event when removing a label from a task
2024-08-29 15:19:06 +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
efde364224
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
2024-08-29 10:35:05 +02:00
kolaente
fde1763eef
fix(api): return 404 response when using a token and the route does not exist
2024-08-29 10:12:20 +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
bf56311faa
fix(task): set done at date when moving a task to the done bucket
...
Resolves https://github.com/go-vikunja/vikunja/issues/320
2024-08-28 14:21:31 +02:00
kolaente
8bfd0493b2
fix(deps): update golangci
2024-08-25 14:30:46 +00:00
kolaente
ebfd5f54d2
fix(migration): ensure project background gets exported and imported
2024-08-12 17:18:07 +02:00
kolaente
28b4eaee31
fix(migration): make sure tasks are associated to the correct view and bucket for data imported from Vikunja dump
...
This change fixes a bug where imported projects would contain the default views additionally to the ones included in the export. This also caused the tasks to not show up in the views and buckets where they should show up, the newly imported ones.
Resolves https://community.vikunja.io/t/migration-from-vikunja-export-duplicated-boards-local-to-oidc/2690
2024-08-12 17:00:16 +02:00
kolaente
b83448b7a6
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
2024-08-12 15:53:51 +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
40bb86bee5
fix(mail): do not fail testmail command when the connection could not be closed.
...
Resolves https://github.com/go-vikunja/vikunja/issues/300
2024-08-12 11:08:16 +02:00
Dominik Pschenitschni
bc5fd380e5
chore: improve error message
2024-07-21 11:03:20 +00:00
Frederick [Bot]
0984821b41
[skip ci] Updated swagger docs
2024-07-19 10:01:46 +00:00
Elscrux
75ce261f74
feat: downscaled image previews for task attachments ( #2541 )
...
As discussed in [https://community.vikunja.io/t/add-scaled-down-images-for-image-previews ](https://community.vikunja.io/t/add-scaled-down-images-for-image-previews ) this adds a query parameter in the task attachment request which returns a scaled down image for preview purposes to reduce network load and improve responsiveness.
Co-authored-by: Elscrux <nickposer2102@gmail.com>
Reviewed-on: https://kolaente.dev/vikunja/vikunja/pulls/2541
Reviewed-by: konrad <k@knt.li>
Co-authored-by: Elscrux <elscrux@gmail.com>
Co-committed-by: Elscrux <elscrux@gmail.com>
2024-07-19 09:30:06 +00: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
ecdb03aca8
fix(migration): correctly set bucket for related tasks
...
When creating a related task during the import, migrating would fail because the migration would try to add the task to a bucket before the task was created. This fix changes the order in which that happens to prevent the error.
2024-07-17 10:05:59 +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
8439c9cc1e
fix(migration): failed migration typo
2024-07-15 12:10:29 +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
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
Balázs Keresztury
136ef58820
fix: reorder mail options ( #2533 )
...
This PR fixes a bug where setting the SMTP port didn't have any effect, since it is overridden when `NewClient()` executes the `WithTLSPortPolicy()` option.
Reviewed-on: https://kolaente.dev/vikunja/vikunja/pulls/2533
Resolves https://kolaente.dev/vikunja/vikunja/issues/2534
Co-authored-by: Balázs Keresztury <b@belidzs.hu>
Co-committed-by: Balázs Keresztury <b@belidzs.hu>
2024-07-07 15:00:19 +00:00
kolaente
5e36bf797e
fix: add info log message when starting to run migrations
2024-07-05 10:26:26 +02:00
Frederick [Bot]
31d427546b
[skip ci] Updated swagger docs
2024-07-02 14:52:12 +00: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
e6ce1251f7
fix(filters): allow managing views for saved filters
2024-07-02 12:36:08 +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
d12deee977
feat(views): allow reordering views
...
Resolves https://community.vikunja.io/t/reordering-views/2394
2024-06-18 16:39:52 +02:00
kolaente
f222ecfa19
chore(mail): update logger to new interface
2024-06-18 12:42:43 +00:00
kolaente
8b028dbc4b
feat(api): add bulk endpoints to api tokens
...
Previously, the bulk api endpoint were explicitly filtered out. This meant that you couldn't use them with api tokens.
This change adds them to their "parent" token types as another option, allowing users to select and use them when creating api tokens.
Resolves https://community.vikunja.io/t/help-with-bulk-api-complete/2461
2024-06-18 14:33:57 +02:00
kolaente
6626727d92
fix(tasks): tests
2024-06-18 13:48:09 +02:00
kolaente
fa6546b6b2
feat(tasks): add tests for moving a task out of the done bucket
2024-06-18 13:40:41 +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
e7041f02d0
fix(caldav): do not crash for wrong parameters
2024-06-06 11:05:32 +02:00
kolaente
dd58d37db3
feat(typesense): move partial reindex to a flag instead of a separate command
2024-06-05 10:49:37 +02:00
kolaente
f131289d32
fix(typesense): correctly index assignee changes on tasks
...
This change fixes a bug where adding or removing an assignee to a task would not update the index in Typesense, causing filter queries for that assignee to return incorrect data. This was caused by the events being dispatched by the task update process not containing all the data.
Resolves https://github.com/go-vikunja/vikunja/issues/255
2024-06-05 10:36:25 +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
Frederick [Bot]
37c89ea826
[skip ci] Updated swagger docs
2024-06-04 16:17:19 +00:00
kolaente
1843f1d0d8
fix(docs): correctly document filter query usage
2024-06-04 18:02:31 +02:00
Frederick [Bot]
b4b17ed966
[skip ci] Updated swagger docs
2024-06-04 10:40:08 +00: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
a38e768895
fix(db migration): do not try to create a unique index
...
Related to https://kolaente.dev/vikunja/vikunja/issues/2243
2024-06-04 08:45:39 +02:00
kolaente
c17e4564e7
fix(migration): ensure tasks are put into the correct bucket when migrating from todoist
...
Resolves https://github.com/go-vikunja/vikunja/issues/254
2024-06-04 08:33:11 +02:00
Frederick [Bot]
244ca262df
[skip ci] Updated swagger docs
2024-06-03 19:51:44 +00:00
kolaente
99a67e09b1
feat(api): all usable routes behind authentication now have permissions
...
Previously, only routes which were coming from crudable entities could be used with an api token because there was no way to assign permissions to them. This change implements a more flexible structure for api permissions under the hood, allowing to add permissions for these routes and making them usable with an api token.
Resolves https://github.com/go-vikunja/vikunja/issues/266
2024-06-03 21:35:09 +02:00
kolaente
5ef140fba2
fix(tasklist): migrate old tasklist format
...
Resolves https://community.vikunja.io/t/task-list-from-0-21-0-0-23-0/2340
Resolves https://community.vikunja.io/t/general-feedback-after-trying-out-vikunja/1943/6
2024-06-03 17:39:35 +02: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
6c8299772a
fix(task): do not require admin permission to move tasks between buckets
...
Resolves https://community.vikunja.io/t/moving-between-buckets-requires-admin-permissions-now/2390
2024-06-03 16:26:07 +02:00
kolaente
a6fccfb908
fix(webhook): log errors in webhook response
2024-06-03 13:11:44 +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
66e96322ea
fix: do not remove empty openid teams when none are present
...
Maybe resolves https://community.vikunja.io/t/empty-openid-team-cleanup-cron-error-removing-empty-openid-team-database-is-locked-error-when-exporting-data/2306/3
2024-04-25 14:21:31 +02:00
kolaente
00a96663ba
fix(caldav): check if vtodo contains any components
...
Resolves https://vikunja.sentry.io/share/issue/1ae2fd1601aa40dea4aee41927cfcf78/
2024-04-25 13:40:23 +02:00
kolaente
741370b613
fix(caldav): return more than 1000 tasks
...
Resolves https://kolaente.dev/vikunja/vikunja/issues/2302
2024-04-25 13:37:04 +02:00
kolaente
409822442b
fix(backgrounds): return full project after uploading image
2024-04-22 18:33:43 +02:00
kolaente
aec60f3591
feat(backgrounds): resize images to a maximum of 4K
...
Resolves https://kolaente.dev/vikunja/vikunja/issues/1373#issuecomment-43491
2024-04-22 18:29:58 +02:00
kolaente
1f6a1f8ad4
fix(kanban): fetch project and view when checking permissions
2024-04-21 19:44:47 +02:00
kolaente
ea7527a3cf
fix(test): cast result before comparing
2024-04-21 19:43:57 +02:00
kolaente
574c7f218e
fix(labels): allow link shares to add existing labels to a task
...
Resolves https://github.com/go-vikunja/vikunja/issues/252
2024-04-21 15:12:27 +02:00
kolaente
1074a8d916
fix(views): only allow project admins to manage views
...
Resolves https://community.vikunja.io/t/manage-views-only-for-project-admins/2279
2024-04-21 14:36:09 +02:00
kolaente
e88f95e501
fix(migration): remove buckets table name when dropping index
...
Related to https://kolaente.dev/vikunja/vikunja/issues/2243
2024-04-21 13:50:03 +02:00
kolaente
0962aa4262
fix(restore): transform json fields during restore
...
Resolves https://community.vikunja.io/t/unable-to-restore-after-dump-and-export-also-not-working/2263/5
2024-04-21 13:45:49 +02:00
kolaente
ecbefdb921
fix(buckets): return correct task count for tasks in buckets
2024-04-14 17:21:53 +02:00
kolaente
d8ca1a2de1
fix(favorites): make favorites work with configurable views
2024-04-14 17:12:16 +02:00
kolaente
5756da412b
fix(project): return full project after duplicating it
2024-04-13 22:39:40 +02:00
kolaente
4e05b8e97c
fix(project): do not crash when duplicating a project with no tasks
2024-04-13 22:36:41 +02:00
kolaente
1460d212ee
fix: do not push nil errors to sentry
2024-04-13 21:46:07 +02:00
kolaente
e9de7d8a24
fix(project): delete all related entities when deleting a project
2024-04-13 21:43:44 +02:00
kolaente
ce1d7778c7
fix(export): make export work with project views and new task positions
2024-04-13 21:07:06 +02:00
kolaente
9a16f6f817
fix: license in cmd help text
2024-04-13 20:13:24 +02:00
kolaente
77e95642a9
fix(tasks): make fetching tasks in buckets via typesense work
2024-04-13 17:52:47 +02:00
kolaente
a5d02380a3
fix(typesense): make fetching task positions per view more efficient
2024-04-13 17:26:38 +02:00
kolaente
3519b8b2fe
fix(tasks): index and order by task position when using typesense
2024-04-13 17:19:27 +02:00
kolaente
cb648e5ad8
fix(typesense): fix reindexing views and positions in typesense
2024-04-13 16:38:45 +02:00
kolaente
75f830457b
fix(comments): order comments by created timestamp instead of id
...
Partially resolves https://community.vikunja.io/t/trello-import-comments-and-assignments/2174/14
2024-04-13 14:45:12 +02:00
kolaente
6e2b540394
fix(migration): import task comments with original timestamps
...
Partially resolves https://community.vikunja.io/t/trello-import-comments-and-assignments/2174/14
2024-04-13 14:44:55 +02:00
kolaente
bf3c8ac9da
fix(views): check if bucket index already exists before creating new index
...
Resolves https://kolaente.dev/vikunja/vikunja/issues/2243
2024-04-13 14:20:27 +02:00
kolaente
500b761fe6
fix(projects): do not return parent project id when authenticating as link share
...
Related to https://community.vikunja.io/t/vikunja-freezes/2246
Related to https://github.com/go-vikunja/vikunja/issues/233
2024-04-12 18:02:39 +02:00
Elscrux
61ee0bd5e2
feat(migration): include non upload attachments from Trello ( #2261 )
...
This makes the Trello migrator include attachments that are not file uploads. To include them in Vikunja without missing data, their text (usually links) will be appended to the Vikunja description.
Co-authored-by: Elscrux <nickposer2102@gmail.com>
Reviewed-on: https://kolaente.dev/vikunja/vikunja/pulls/2261
Reviewed-by: konrad <k@knt.li>
Co-authored-by: Elscrux <elscrux@gmail.com>
Co-committed-by: Elscrux <elscrux@gmail.com>
2024-04-10 22:12:06 +00:00
kolaente
bc19a2fb78
fix(migration): import card comments from Trello when migrating
...
Related: https://community.vikunja.io/t/trello-import-comments-and-assignments/2174/3
2024-04-09 13:56:17 +02:00
kolaente
994aaeb920
fix(migration): trello: only fetch attachments when the card actually has attachments
2024-04-09 13:25:03 +02:00
Elscrux
8458e77341
feat(migration): Trello organization based migration ( #2211 )
...
Migrate Trello organization after organization to limit total memory allocation.
Related discussion: https://community.vikunja.io/t/trello-import-issues/2110
Co-authored-by: Elscrux <nickposer2102@gmail.com>
Co-authored-by: konrad <k@knt.li>
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/vikunja/pulls/2211
Reviewed-by: konrad <k@knt.li>
Co-authored-by: Elscrux <elscrux@gmail.com>
Co-committed-by: Elscrux <elscrux@gmail.com>
2024-04-09 10:54:38 +00:00
kolaente
af3b0bbea1
fix: lint
2024-04-08 13:23:15 +02:00
kolaente
e10cd368bf
feat(migration): notify the user when a migration failed
...
This change introduces notifications via mail when a migration fails. It will contain the error message and a hint to post it in the forum when Sentry is disabled, otherwise the error message will be sent directly to sentry and the notification will inform accordingly.
I've tried to balance "this thing failed, go figure it out" with "here is what we know and how you can get help", we'll see how well that approach works.
2024-04-08 12:15:24 +02:00
kolaente
0b9ef27d04
fix(migration): show correct message after starting a migration
...
Related to https://github.com/go-vikunja/vikunja/issues/238
2024-04-07 15:11:59 +02:00
kolaente
8bee5aa806
fix(project): return the full project when setting a background
...
Related to https://kolaente.dev/vikunja/vikunja/issues/2246
2024-04-07 14:53:57 +02:00
kolaente
5892622676
fix(notifications): rendering of plaintext mails
2024-04-07 14:12:44 +02:00
kolaente
191a476823
fix(notifications): only sanitze html content in notifications, do not convert it to markdown
...
Resolves https://community.vikunja.io/t/trello-import-html-mails/2197
2024-04-07 13:34:53 +02:00
kolaente
ca33c0b2bc
fix: drop bucket index before recreating it
...
Resolves https://kolaente.dev/vikunja/vikunja/issues/2243
2024-04-07 12:50:42 +02:00
kolaente
c1d06c5e5a
fix(projects): do not return parent project id of parents where the user does not have access
...
This caused the frontend to not show such projects, throwing errors in the process and sometimes made it hang.
2024-04-07 12:10:20 +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
1cd5dd2b2f
fix: lint
2024-04-06 14:12:08 +02:00
kolaente
521300613f
fix: update task in typesense when adding a label or assignee to them
...
Resolves https://community.vikunja.io/t/typesense-only-works-if-i-re-index/2212
2024-04-06 14:04:04 +02:00
kolaente
037022e857
fix: do not try to fetch nonexistant bucket
2024-04-06 13:55:11 +02:00
kolaente
7b8fab33a5
fix(kanban): Make sure all saved taskBucket positions are saved with their project view id
...
When the tasks were migrated from belonging directly to a bucket to only belonging to a view, I forgot to add the view in that migration, resulting in task buckets where the view was 0. These entries were not deleted when a task was moved between buckets, but the new task bucket relation nevertheless inserted. This resulted in tasks showing up multiple times on the kanban board.
This change adds a new migration which adds the correct project view id (as derived from the bucket) and fixes the old migration as well.
Resolves https://community.vikunja.io/t/no-longer-able-to-properly-move-tasks-between-kanban-columns/2175
2024-04-06 13:04:36 +02:00
kolaente
20e2314128
fix(filters): enclose values with a slash in them as strings so that date math values work
...
Previously, in a filter like "due_date = now/d", the / was parsed as the beginning of a comment, but as it did not contain the full value, this is an invalid comment, resulting in an error message.
Resolves https://community.vikunja.io/t/filter-setting-s/1791/12
2024-04-06 12:08:57 +02:00
waza-ari
f0d695e789
fix(views): remove default filter from frontend, apply by default to new list views instead ( #2240 )
...
Fixes #2234
Co-authored-by: Daniel Herrmann <daniel.herrmann1@gmail.com>
Reviewed-on: https://kolaente.dev/vikunja/vikunja/pulls/2240
Reviewed-by: konrad <k@knt.li>
Co-authored-by: waza-ari <daniel.herrmann@makerspace-darmstadt.de>
Co-committed-by: waza-ari <daniel.herrmann@makerspace-darmstadt.de>
2024-04-02 13:49:38 +00:00
kolaente
8a6e3d5bd7
fix(views): use correct assertion in test
2024-04-02 12:42:07 +02:00
kolaente
81fe8391e4
fix(project): load full project after creating a project
...
When a new project was created, it contained all details already. This led to duplicated views and overridden attributes in the response.
Resolves https://kolaente.dev/vikunja/vikunja/issues/2242
2024-03-29 19:28:17 +01:00
kolaente
89e37b88d9
fix(views): update all fields when updating a view
...
Resolves https://kolaente.dev/vikunja/vikunja/issues/2241
2024-03-29 18:19:16 +01:00
kolaente
97b7592e7c
fix(views): do not map bucket id from xorm
2024-03-20 10:41:58 +01:00
Frederick [Bot]
e53fcd3367
[skip ci] Updated swagger docs
2024-03-20 08:35:16 +00:00
kolaente
d635fd2dd3
fix(projects): remove done bucket id field from projects struct
2024-03-20 09:21:40 +01:00
Frederick [Bot]
68d8ed5a7a
[skip ci] Updated swagger docs
2024-03-19 19:28:04 +00:00
kolaente
fee75e55a3
fix(views): stable assertion for bucket in tests
2024-03-19 17:27:03 +01: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
e7d6ee2392
fix(views): update done status of recurring tasks
2024-03-19 17:04:39 +01:00
kolaente
62ff05695f
fix(views): kanban test assertions
2024-03-19 16:59:46 +01:00
kolaente
6f51b56589
fix: lint
2024-03-19 16:49:39 +01:00
kolaente
165d291cd5
fix(views): reset bucket when moving tasks between projects
2024-03-19 14:16:05 +01:00
kolaente
e940db6d32
fix(views): return only tasks when the bucket id was already specified
2024-03-19 13:55:28 +01:00
kolaente
30b41bd143
fix(views): lint
2024-03-19 00:47:51 +01:00
kolaente
f3cdd7d15f
fix(views): import
2024-03-19 00:47:51 +01:00
kolaente
8b90eb4a15
fix(views): integration tests
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
409f9a0cc6
fix(views): test assertions
2024-03-19 00:47:51 +01:00
kolaente
9075a45cb8
fix(views): update test fixtures for new structure
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
9cc273d9bd
fix(views): move all tasks to the default bucket when deleting a bucket
2024-03-19 00:47:51 +01:00
kolaente
0f60a92873
fix(views): make kanban tests work again
2024-03-19 00:47:51 +01:00
kolaente
24fa3b206f
fix(views): create view
2024-03-19 00:47:50 +01:00
kolaente
433584813a
fix(views): view deletion
2024-03-19 00:47:50 +01:00
kolaente
3ec3bb76af
fix(views): make parsing work
2024-03-19 00:47:50 +01:00
kolaente
004f1e06bb
fix(views): do not return kanban tasks multiple times
2024-03-19 00:47:50 +01:00
kolaente
27cb6e3372
fix(views): make bucket edit work
2024-03-19 00:47:50 +01:00
kolaente
445f1c06fa
fix(views): make bucket creation work again
2024-03-19 00:47:50 +01:00
kolaente
7368a51f18
fix(views): make setting task position in saved filters work
2024-03-19 00:47:49 +01:00
kolaente
e1774cc49a
feat(views): show tasks on kanban board in saved filter
2024-03-19 00:47:49 +01:00
kolaente
61e27ae3eb
feat(views): create task bucket relation when creating a new bucket
2024-03-19 00:47:49 +01:00
kolaente
7f1788eba9
fix(views): get tasks in saved filter
2024-03-19 00:47:49 +01:00
kolaente
5451ddf58d
fix(views): return tasks directly or in buckets, no matter if accessing via user or link share
2024-03-19 00:47:49 +01:00
kolaente
f364f3bec8
feat(views): return position when retriving tasks
2024-03-19 00:47:48 +01:00
kolaente
786e67f692
feat(views): save task position
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
cb111df2b7
fix(views): make fetching tasks in kanban buckets through view actually work
2024-03-19 00:47:48 +01:00
kolaente
73e5483e87
fix(views): do not break filters when combining them with view filters
2024-03-19 00:47:48 +01:00
kolaente
6913334b17
fix(views): correctly fetch project when fetching tasks
2024-03-19 00:47:48 +01:00
kolaente
7866543198
feat(views): generate swagger docs
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
5641da27f7
feat(views): save 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
006f932dc4
feat(views)!: decouple bucket CRUD from projects
2024-03-19 00:47:47 +01:00
kolaente
0a3f45ab11
feat(views): decouple buckets from projects
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
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
238baf86f7
feat(views)!: return tasks in buckets by view
...
BREAKING CHANGE: tasks in their bucket are now only retrievable via their view. The /project/:id/buckets endpoint now only returns the buckets for that project, which is more in line with the other endpoints
2024-03-19 00:47:46 +01:00
kolaente
652bf4b4ed
feat(views): (un)marshal custom project view mode types
2024-03-19 00:47:46 +01:00
kolaente
a9020e976d
feat(views): add bucket configuration mode
2024-03-19 00:47:46 +01:00
kolaente
38457aaca5
feat(views): use project id when fetching views
2024-03-19 00:47:46 +01:00
kolaente
98b7cc9254
feat(views): do not override filters in view
2024-03-19 00:47:46 +01:00
kolaente
4149ebed3a
feat(views): create default views when creating a filter
2024-03-19 00:47:46 +01:00
kolaente
2096fc5274
feat(views): return tasks in a view
2024-03-19 00:47:46 +01:00
kolaente
e4b1a5d2db
feat(views): create default 4 default view for projects
2024-03-19 00:47:46 +01:00
kolaente
2fa3e2c2f5
feat(views): return views with their projects
2024-03-19 00:47:46 +01:00
kolaente
ee228106fc
feat(views): add new default views for filters
2024-03-19 00:47:45 +01:00
kolaente
b39c5580c2
feat(views): add crud handlers and routes for views
2024-03-19 00:47:45 +01:00
kolaente
6bdb33fb46
feat(views): add new model and migration
2024-03-19 00:47:45 +01:00
kolaente
8c826c44d2
fix(webhooks): fire webhooks set on parent projects as well
2024-03-13 19:41:34 +01:00
kolaente
5b2b7f7bdc
fix(kanban): reset done and default bucket when the bucket itself is deleted
...
Resolves https://github.com/go-vikunja/vikunja/issues/234
2024-03-12 22:23:35 +01:00
Frederick [Bot]
792bf88dcf
[skip ci] Updated swagger docs
2024-03-12 19:47:16 +00: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
Frederick [Bot]
3f380e0d61
[skip ci] Updated swagger docs
2024-03-11 16:41:16 +00:00
kolaente
0910d5d2f2
chore(auth): refactor removing empty openid teams to cron job
2024-03-11 17:20:05 +01:00
kolaente
09d5128050
fix(filters): don't escape valid escaped in queries
2024-03-11 17:02:04 +01: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
kolaente
6fc3d1e98f
fix: lint
2024-03-11 15:42:09 +01:00
kolaente
3896c680d3
fix(filters): do not require string for in comparator
2024-03-11 14:36:59 +01:00
waza-ari
6c98052176
fix(teams): fix duplicate teams being shown when new public team visibility feature is enabled ( #2187 )
...
Due to the `INNER JOIN` on the `team_members` table and the new `OR` conditions allowing teams with the `isPublic` flag set to `true`, teams are returned multiple times. As we're only after the teams, a simple distinct query should fix the issue.
Co-authored-by: Daniel Herrmann <daniel.herrmann1@gmail.com>
Reviewed-on: https://kolaente.dev/vikunja/vikunja/pulls/2187
Co-authored-by: waza-ari <daniel.herrmann@makerspace-darmstadt.de>
Co-committed-by: waza-ari <daniel.herrmann@makerspace-darmstadt.de>
2024-03-10 21:42:34 +00:00
kolaente
0057ac5836
fix(migration): only download uploaded attachments
2024-03-10 18:41:37 +01:00
kolaente
ca0de680ad
fix(migration): import card covers when migrating from Trello
2024-03-10 16:30:06 +01:00
waza-ari
ffa82556e0
feat(teams): add public flags to teams to allow easier sharing with other teams ( #2179 )
...
Resolves #2173
Co-authored-by: Daniel Herrmann <daniel.herrmann1@gmail.com>
Reviewed-on: https://kolaente.dev/vikunja/vikunja/pulls/2179
Reviewed-by: konrad <k@knt.li>
Co-authored-by: waza-ari <daniel.herrmann@makerspace-darmstadt.de>
Co-committed-by: waza-ari <daniel.herrmann@makerspace-darmstadt.de>
2024-03-10 14:04:32 +00:00
renovate
d7fdefcead
chore(deps): update golangci/golangci-lint docker tag to v1.56.2 ( #2099 )
...
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/vikunja/pulls/2099
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2024-03-10 13:47:19 +00:00
Frederick [Bot]
116b909d31
[skip ci] Updated swagger docs
2024-03-10 12:18:34 +00:00
konrad
e95159a33c
feat(filters): query-based filter logic ( #2177 )
...
Reviewed-on: https://kolaente.dev/vikunja/vikunja/pulls/2177
2024-03-10 12:01:47 +00:00
Hangya
c5e8ff66fb
fix(migration): updated Trello color map to import all labels ( #2178 )
...
Trello has [added 20 color variants](https://www.atlassian.com/blog/trello/20-new-trello-label-colors ) that were not imported, added them. Also added a fallback to save labels even if the color is not mapped yet.
Resolves https://community.vikunja.io/t/get-info-about-importation-trello/1968/16
Reviewed-on: https://kolaente.dev/vikunja/vikunja/pulls/2178
Reviewed-by: konrad <k@knt.li>
Co-authored-by: Hangya <ronkayj@gmail.com>
Co-committed-by: Hangya <ronkayj@gmail.com>
2024-03-10 11:23:38 +00:00
kolaente
654e95d99f
fix(filters): test fixture
2024-03-09 20:21:05 +01:00
kolaente
4e6e0608c7
fix(filters): lint
2024-03-09 20:08:17 +01:00
kolaente
32e1a2018a
chore: generate swagger docs
2024-03-09 19:07:31 +01:00
kolaente
05d3bb4fb6
fix(filters): swagger docs for kanban buckets
2024-03-09 19:07:31 +01:00
kolaente
d0b762d761
docs(filter): add filter query explanation
2024-03-09 19:07:31 +01:00
kolaente
28fa2c517a
feat(filters): make new filter syntax work with Typesense
2024-03-09 19:06:48 +01:00
kolaente
bc6d812eb0
fix(filters): lint
2024-03-09 19:06:35 +01:00
kolaente
87c027aafd
chore(filters): cleanup old variables
2024-03-09 19:06:35 +01:00
kolaente
65e1357705
fix(tests): make filter tests work again
2024-03-09 19:06:35 +01:00
kolaente
eebfee73d3
fix(filter): correctly filter for buckets
2024-03-09 19:06:35 +01:00
kolaente
ef1cc9720c
feat(filter): add in keyword
2024-03-09 19:06:35 +01:00
kolaente
c6b682507a
feat(filter): add better error message when passing an invalid filter expression
2024-03-09 19:06:35 +01:00
kolaente
9d3fb6f81d
chore(filter): cleanup
2024-03-09 19:06:35 +01:00
kolaente
3ea81db836
feat(filter): migrate existing saved filters
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
764bc15d49
fix(filter): allow filtering for "project"
2024-03-09 19:06:34 +01:00
kolaente
3fc4aaa2a1
fix(filter): allow filtering on "in" condition
2024-03-09 19:06:34 +01:00
kolaente
9f73e2c5f9
fix(filter): don't crash on empty filter
2024-03-09 19:06:34 +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
307ffe11c4
feat(filters): very basic filter parsing
2024-03-09 19:06:31 +01:00
Christoph Ritzer
86983f50d4
fix(migration): Trello checklists ( #2140 )
...
Trello checklists are now properly converted to html checklists and put into the description.
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/vikunja/pulls/2140
Reviewed-by: konrad <k@knt.li>
Co-authored-by: Christoph Ritzer <chris@cloumail.at>
Co-committed-by: Christoph Ritzer <chris@cloumail.at>
2024-03-09 09:01:02 +00:00
kolaente
e65c3ffe6b
fix(migration): convert trello card descriptions from markdown to html
2024-03-09 09:31:57 +01:00
kolaente
dc291a51f5
fix(migration): do not expire trello token
2024-03-06 15:13:54 +01:00
waza-ari
d69fc28125
fix(openid): OIDC teams should not have admins ( #2161 )
...
This PR fixes an issue discussed in #2152 . Before this PR, the user who triggered team creation automatically got the admin flag set for this group, which makes perfect sense for the normal UI workflow. OIDC managed teams cannot be edited in Vikunja, and they're created automatically by the first user logging in having this team assigned. This PR therefore makes sure that OIDC managed team members do not receive the admin flag.
Co-authored-by: Daniel Herrmann <daniel.herrmann1@gmail.com>
Reviewed-on: https://kolaente.dev/vikunja/vikunja/pulls/2161
Reviewed-by: konrad <k@knt.li>
Co-authored-by: waza-ari <daniel.herrmann@makerspace-darmstadt.de>
Co-committed-by: waza-ari <daniel.herrmann@makerspace-darmstadt.de>
2024-03-05 22:08:39 +00:00
waza-ari
a3154e805c
fix(auth): use (issuer, name) to check for uniqueness of oidc teams ( #2152 )
...
The change introduced in #2150 introduces a bug where a Team would be re-created every time a user logs in, as the check if a team already exists was based on both the unique `oidcID` and the `name`. This PR proposes to only base the check on the ID, as this should be unique.
Co-authored-by: Daniel Herrmann <daniel.herrmann1@gmail.com>
Reviewed-on: https://kolaente.dev/vikunja/vikunja/pulls/2152
Reviewed-by: konrad <k@knt.li>
Co-authored-by: waza-ari <daniel.herrmann@makerspace-darmstadt.de>
Co-committed-by: waza-ari <daniel.herrmann@makerspace-darmstadt.de>
2024-03-04 20:26:45 +00:00
kolaente
ac8751e1be
fix(task): move done tasks to the done bucket when they are moved between projects and the new project has a done bucket
2024-03-03 18:13:47 +01:00
kolaente
f5b90517c4
fix(sentry): send unwrapped error to sentry instead of http error
2024-03-03 17:36:57 +01:00
kolaente
fe27dd59ad
feat(subscription): use a recursive cte to fetch subscriptions of parent projects
...
Testing this locally resulted in improved response times from ~50ms to ~20ms when creating a project. It looks like even though the code running these sql queries uses different go routines, they affect each other (caused by IO or context switching?)
2024-03-03 15:34:18 +01:00
kolaente
22933dac4a
fix(project): typo in table name
2024-03-03 12:47:00 +01:00
kolaente
fe02f4da2c
fix(project): check for project nesting cycles with a single recursive cte instead of a loop
2024-03-03 11:40:43 +01:00
Frederick [Bot]
4bb09b69be
[skip ci] Updated swagger docs
2024-03-02 14:50:56 +00:00
kolaente
379b0b24b3
fix(auth): test assertion
2024-03-02 15:38:01 +01:00
kolaente
a4a0ea973a
feat(auth): update team name in Vikunja when it was changed in the openid provider
2024-03-02 15:27:15 +01:00
kolaente
fc4303a778
chore(auth): add oidc suffix to openid team name in db
...
Related to https://kolaente.dev/vikunja/vikunja/issues/2150
2024-03-02 15:23:19 +01:00
kolaente
4f1f96f1e9
chore(auth): refactor openid team creation
2024-03-02 15:22:37 +01:00
kolaente
10ff864e0c
fix(projects): load projects only one when fetching subscriptions for a bunch of projects at once
...
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
kolaente
a3932a0a19
fix(projects): return correct project pagination count
2024-03-02 13:30:34 +01:00
viehlieb
ed4da96ab1
feat: assign users to teams via OIDC claims ( #1393 )
...
This change adds the ability to sync teams via a custom openid claim. Vikunja will automatically create and delete teams as necessary, it will also add and remove users when they log in. These teams are fully managed by Vikunja and cannot be updated by a user.
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/vikunja/pulls/1393
Resolves https://kolaente.dev/vikunja/vikunja/issues/1279
Resolves https://github.com/go-vikunja/vikunja/issues/42
Resolves https://kolaente.dev/vikunja/vikunja/issues/950
Co-authored-by: viehlieb <pf@pragma-shift.net>
Co-committed-by: viehlieb <pf@pragma-shift.net>
2024-03-02 08:47:10 +00:00
kolaente
5b70609ba7
fix: usage of limit and order by usage in recursive cte
2024-02-28 14:35:09 +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
e40a0043d4
fix(migration): do not halt the whole migration when copying a background file failed
2024-02-19 19:21:06 +01:00
kolaente
2dab2ccedd
feat: allow using sqlite in memory database
...
This allows running vikunja for testing purposes. You almost never want to run this in production.
2024-02-15 10:48:48 +01:00
kolaente
415c6380a5
feat(api tokens): add task attachment to api scopes
...
This explicitly adds download and upload of task attachments. Because these are not handled with the usual CRUDables, they were not picked up automatically.
Resolves https://github.com/go-vikunja/vikunja/issues/112
2024-02-14 15:00:16 +01:00
kolaente
162741e940
fix: lint
2024-02-13 22:24:46 +01:00
kolaente
205f330f8a
fix(migration): make sure to correctly check if a migration was already running
...
This change fixes a bug where Vikunja would not correctly check if a migration was already running. That meant it was not possible for users who had never before migrated anything to start a migration, because Vikunja assumed they already had a migration running for them.
This state was neither properly reflected in the frontend, which is now fixed as well.
2024-02-13 22:21:59 +01:00
kolaente
a12c169ce8
fix: do not send etag when serving the frontend index file
...
Without this change, the browser may serve an outdated index.html file which usually does not work, showing the user only a blank page.
2024-02-13 21:32:41 +01:00
kolaente
2facbae0d7
fix(dump): only allow imports from the same version they were dumped on
...
Previously, Vikunja would allow imports from any version which then caused problems since the table structure might have changed between releases. This change now checks if the current version is the same as the one the dump was created on.
2024-02-13 21:25:31 +01:00
kolaente
77a779acea
fix(dump): do not export files which do not exist in storage
2024-02-13 21:14:31 +01:00
kolaente
641fec1215
fix: never return frontend on routes starting with /api
...
This fixes a problem where Vikunja would sometimes return the html for the frontend when accessing an api route for a nonexistent ressource, because the static handler was the next best.
Resolves https://kolaente.dev/vikunja/vikunja/issues/2110
2024-02-13 10:05:15 +01:00
kolaente
1ab6fef70a
fix(metrics): typo
2024-02-12 14:23:16 +01:00
kolaente
d4a389279c
chore: don't send http errors with a status < 500 to sentry
2024-02-11 15:29:27 +01:00
kolaente
8752ae2a0b
fix(webhook): fetch all event details before sending the webhook
...
Resolves https://community.vikunja.io/t/webhook-comment-data-issues/1952
2024-02-10 14:15:32 +01:00
kolaente
7edb53ca12
fix(export): don't crash when an exported file does not exist
...
Related to https://github.com/go-vikunja/vikunja/issues/110
2024-02-10 13:45:12 +01:00
kolaente
5ab9fb89bb
fix(tasks): check for cycles during creation of task relations and prevent them
2024-02-10 13:30:41 +01:00
kolaente
d36b1608cf
fix: lint
2024-02-09 15:32:12 +01:00
kolaente
ca68b52991
feat: replace api url with public url
2024-02-09 14:44:41 +01:00
kolaente
2d32d900c8
feat: replace api url with public url
2024-02-09 14:42:07 +01:00
kolaente
119c68be9d
feat: rename frontend url config to public url
2024-02-09 14:41:55 +01:00
kolaente
78df83ee69
feat: replace api url
2024-02-09 14:38:54 +01:00
kolaente
db2ec45378
feat: move custom logo setting to api
2024-02-09 14:33:21 +01:00
kolaente
d7dc209f15
feat: move allow icon changes setting to api
2024-02-09 14:30:21 +01:00
kolaente
a0e770438d
feat: move sentry configuration from frontend to api
2024-02-09 14:24:29 +01:00
kolaente
b3228794c7
feat: add caching rules for more files
2024-02-09 13:42:05 +01:00
kolaente
8b3cf2ed7e
chore: remove static path config option
2024-02-09 13:41:51 +01:00
kolaente
9c45d9ca15
feat: cache header and etag generation
2024-02-09 13:41:51 +01:00
kolaente
81455242ae
chore: copy static file handler
2024-02-09 13:41:50 +01:00
kolaente
6c5194b892
feat: bundle frontend files with api in one static bundle
2024-02-09 13:41:50 +01:00
kolaente
fceb638e75
docs: remove mention of vikunja/api and vikunja/frontend repos
2024-02-08 14:31:02 +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
7f46914d5e
fix(project): pass user id to error message
2024-01-31 13:50:21 +01:00
Frederick [Bot]
ba0cb022b1
[skip ci] Updated swagger docs
2024-01-28 14:43:54 +00:00
kolaente
96b4f2d1db
fix(projects): don't remove parent project id if the parent project is available in the same run
...
Resolves https://github.com/go-vikunja/frontend/issues/139
2024-01-28 15:28:08 +01:00
kolaente
30a2dcd04c
fix: lint
2024-01-28 15:27:14 +01:00
kolaente
0d24ba12bb
chore: rename function
2024-01-28 13:36:13 +01:00
kolaente
d9875e476c
fix(assignees): make sure task assignee created event contains the full task
2024-01-28 13:23:27 +01:00
kolaente
e4fec01d52
fix(assignees): subscribe assigned users directly to the task, not async
...
Resolves https://community.vikunja.io/t/richer-email-notifications/1891
2024-01-28 13:15:43 +01:00
kolaente
b2970c6c04
fix(assignees): prevent double notifications for assignees
2024-01-28 13:11:50 +01:00
kolaente
e03920b84a
fix(assignees): improve wording for assignee emails
2024-01-28 13:11:37 +01:00
kolaente
ce53663a88
fix(openid): use the calculated redirect url when authenticating with openid providers
2024-01-28 12:41:35 +01:00
kolaente
a20f6ac815
fix(task): delete the task after all related attributes to prevent task not found errors
2024-01-28 12:23:25 +01:00
kolaente
1630e4fc08
fix: tests
2024-01-28 11:52:16 +01:00
kolaente
90ad975ca0
fix(typesense): update tasks in Typesense directly when the change happened
...
Resolves https://community.vikunja.io/t/no-filters-working-assignee-date-task-done-etc/1910
2024-01-28 11:47:17 +01:00
kolaente
ae9b382963
fix(webhooks): make sure all events with tasks have the full task
...
Resolves https://kolaente.dev/vikunja/api/issues/1676
2024-01-27 00:16:17 +01:00
kolaente
d38050f2b8
fix(subscriptions): don't crash when a project is already deleted
2024-01-26 23:53:22 +01:00
kolaente
33a47b7f43
fix(relations): don't allow creating relations which already exist
...
Resolves https://github.com/go-vikunja/frontend/issues/144
2024-01-26 23:37:59 +01:00
kolaente
ad8fa93cae
fix(user): make disable command actually work
2024-01-21 12:24:41 +01:00
kolaente
3ff4d81618
fix(migration): ignore tasks with empty titles
2024-01-19 23:04:24 +01:00
kolaente
4d48d814c9
fix: update function signatures
2024-01-16 14:06:44 +00:00
kolaente
27a5f6862b
fix: convert everything which looks like an url to a <a href html element
...
Related https://elk.zone/social.linux.pizza/@vikunja/111756305763288228
2024-01-14 22:59:31 +01:00
kolaente
2c84688a40
fix: lint
2024-01-14 22:23:33 +01:00
kolaente
ec6e3e99e0
chore: check if import zip contains a VERSION file
2024-01-14 22:21:55 +01:00
kolaente
514ea71d93
fix(api): make sure permission to read all tasks work for reading all tasks per project
...
Resolves https://github.com/go-vikunja/api/issues/105
2024-01-14 22:17:22 +01:00
kolaente
09696aec1b
fix: create webhooks table for fresh installation
...
Resolves https://github.com/go-vikunja/api/issues/104
Resolves https://kolaente.dev/vikunja/api/issues/1655
2023-12-30 11:58:02 +01:00
kolaente
a5a6aba7c8
fix(auth): don't reset user settings when updating name or email from external auth provider
...
Resolves https://github.com/go-vikunja/api/issues/102
2023-12-25 17:09:19 +01:00
kolaente
32611dc2d7
feat(reminders): persist reminders in the db
2023-12-23 15:40:03 +01:00
kolaente
c05f51b923
chore(deps): update golangci-lint rules
2023-12-19 13:34:31 +01:00
kolaente
57bd5aca80
fix(webhooks): send application/json header
2023-12-06 14:09:49 +01:00
kolaente
74e40ccfb4
fix(files): keyvalue init in tests
2023-12-06 14:05:08 +01:00
kolaente
6ef1bc3944
fix: lint
2023-12-06 14:01:09 +01:00
kolaente
cca42b9188
feat(metrics): add total number of attachments metric
2023-12-03 15:30:39 +01:00
kolaente
fd0b2d103d
feat(metrics): add total number of files metric
2023-12-03 15:22:41 +01:00
kolaente
0ce110fa52
feat(metrics): add active link share logins
2023-12-03 15:12:43 +01:00
kolaente
8a3f16fcfb
fix(labels): make sure labels of shared sub projects are usable
...
Resolves https://community.vikunja.io/t/cannot-filter-on-projets-labels/1736
2023-12-03 14:33:43 +01:00
kolaente
d35c30dd0c
fix(import): make sure importing works if parent / child projects are created in a different order
...
Resolves https://community.vikunja.io/t/migrating-from-self-hosted-instance/1805
2023-12-03 14:14:27 +01:00
kolaente
66b44da85b
fix(projects): delete child projects when deleting a project
2023-12-01 17:27:40 +01:00
kolaente
c6c465c273
feat: make unauthenticated user routes rate limit configurable
2023-11-28 22:27:51 +01:00
kolaente
bbc8da1e80
fix(tests): pass the map
2023-11-20 12:22:44 +01:00
kolaente
df1f95871a
fix(projects): correctly set project's archived state if their parent was archived
...
Resolves https://kolaente.dev/vikunja/frontend/issues/3795
2023-11-17 20:00:08 +01:00
Frederick [Bot]
5da1075f88
[skip ci] Updated swagger docs
2023-11-16 12:20:35 +00:00
kolaente
1ed65d306d
fix(docs): remove duplicate paths (params) in swagger docs
2023-11-16 13:07:01 +01:00
kolaente
b9a54b019d
fix(tests): remove duplicate projects from assertions
2023-11-15 13:17:04 +01:00
kolaente
61bce2b349
fix(projects): don't return child projects multiple times
2023-11-15 12:56:36 +01:00
kolaente
ab2eda4bd5
fix(openid): make sure usernames with spaces work
2023-11-13 11:38:24 +01:00
Miguel Arroyo
225d65268d
feat(caldav): Add support for subtasks (i.e. `RELATED-TO` property) in CalDAV ( #1634 )
...
As I mentioned [here](https://kolaente.dev/vikunja/api/pulls/1442#issuecomment-55215 ), this is mainly a cleanup of @zewaren 's original [PR](https://kolaente.dev/vikunja/api/pulls/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 https://kolaente.dev/vikunja/api/issues/1345
Co-authored-by: Miguel A. Arroyo <miguel@codeheads.dev>
Co-authored-by: Erwan Martin <public@fzwte.net>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/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
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
Frederick [Bot]
91146f139b
[skip ci] Updated swagger docs
2023-11-08 23:29:34 +00:00