kolaente
9fc6cdd076
feat: log request headers when debug logs are enabled
...
Related to https://github.com/go-vikunja/vikunja/issues/415
2025-03-08 14:47:21 +01:00
Frederick [Bot]
de403c365a
[skip ci] Updated swagger docs
2025-03-02 19:00:53 +00:00
kolaente
61333c9b7f
fix: lint
2025-03-02 19:43:41 +01:00
Marc
f4a0c0ef31
feat(auth): sso fallback mapping ( #3068 )
...
Reviewed-on: https://kolaente.dev/vikunja/vikunja/pulls/3068
Reviewed-by: konrad <k@knt.li>
Co-authored-by: Marc <marc88@free.fr>
Co-committed-by: Marc <marc88@free.fr>
2025-03-02 15:21:09 +00:00
Frederick [Bot]
b489703d6f
[skip ci] Updated swagger docs
2025-03-02 15:09:28 +00:00
kolaente
4e93806a44
fix(auth): load oidc provider before trying to use it
...
Resolves https://kolaente.dev/vikunja/vikunja/issues/3067
2025-03-02 14:09:02 +01:00
kolaente
bbbfbb36bb
fix(filters): ignore invalid task fields when recomputing task positions
...
Resolves https://vikunja.sentry.io/issues/6025547266/
2025-03-02 14:00:31 +01:00
kolaente
734033c843
fix(avatars): always return correct mime type for cached avatar
2025-03-02 13:33:40 +01:00
kolaente
2ead48c1e9
fix(migration): do not crash when relating a task to itself
...
Resolves https://community.vikunja.io/t/vikunja-import-error-tried-to-relate-a-task-with-itself/1105
2025-03-02 13:24:55 +01:00
kolaente
c6cade3aeb
feat(i18n): automatically set language during registration
2025-03-02 13:21:24 +01:00
kolaente
4e90c6bb78
chore(deps): update golangci-lint
2025-03-02 13:00:18 +01:00
kolaente
1d1295e065
feat(i18n): add translations for migration notifications
2025-03-02 12:33:30 +01:00
kolaente
250bb8ec99
fix(i18n): pass language to notification mail function
2025-03-02 12:29:31 +01:00
kolaente
f662b79abb
fix(i18n): use only one function to get translations
2025-03-02 12:27:10 +01:00
kolaente
c00768499f
fix(notifications): test assertion
2025-03-02 12:05:17 +01:00
kolaente
e11a3026b9
feat: translate notifications
2025-03-02 11:41:38 +01:00
kolaente
b230bb94a4
chore(webhook): refactor reloading event data
2025-02-24 18:18:38 +01:00
kolaente
70e1fdae91
feat: always add project to webhook payload
...
Resolves https://github.com/go-vikunja/vikunja/issues/410
2025-02-21 19:45:07 +01:00
kolaente
398d0c7ab5
fix: add missing error messages to translations
2025-02-21 17:27:52 +01:00
kolaente
65df9e5ef9
fix: return meaningful error message when selecting an invalid timezone
2025-02-21 17:20:51 +01:00
das_j
989a40ad42
fix(caldav): return other status codes than 500 when projects are not found ( #3065 )
...
This allows CalDav clients to behave properly. In particular, DavX5 will error out on syncing the collections list rather than removing deleted projects from its local cache.
Resolves: https://community.vikunja.io/t/deleting-a-project-breaks-caldav/3315/3
Co-authored-by: Janne Heß <janne@hess.ooo>
Reviewed-on: https://kolaente.dev/vikunja/vikunja/pulls/3065
Reviewed-by: konrad <k@knt.li>
Co-authored-by: das_j <das_j@noreply.kolaente.dev>
Co-committed-by: das_j <das_j@noreply.kolaente.dev>
2025-02-06 12:38:27 +00:00
kolaente
e9d9f04763
chore: improve debug logging
2025-02-03 17:42:17 +01:00
jyte
e9444159c5
Add Issuer and Subject to user list command ( #3063 )
...
I believe that it is possible to endup in the following situation :
- A user logs in using an authorized OIDC provider
- A vikunja user is created with the issuer & subject from the OIDC provider
- The same user logs in using another OIDC provider
- A 2nd vikunja user is created with a different issuer (possibly all other fields beside `created`, `updated` and `id` are equals)
I think it is important to be able to distinguish them in the `user list` command.
Reviewed-on: https://kolaente.dev/vikunja/vikunja/pulls/3063
Co-authored-by: jyte <marc88@free.fr>
Co-committed-by: jyte <marc88@free.fr>
2025-01-30 17:22:02 +00:00
Frederick [Bot]
60aa9485b1
[skip ci] Updated swagger docs
2025-01-28 10:18:36 +00:00
kolaente
90bf5ba81b
chore(auth): refactor registration enabled setting in /info
2025-01-28 09:59:08 +00:00
kolaente
9dc351f5a4
feat(auth): show login form when only ldap is enabled
2025-01-28 09:59:08 +00:00
kolaente
f898bdaf2d
feat(auth): use config variable to check if we should verify tls
2025-01-28 09:59:08 +00:00
kolaente
03412dd358
feat(auth): verify ldap config before trying to connect
2025-01-28 09:59:08 +00:00
kolaente
d22c3fb19e
feat(auth): make ldap user filter configurable
2025-01-28 09:59:08 +00:00
kolaente
f01dd2ff52
feat(auth): make sure local auth and ldap can both work when configured at the same time
2025-01-28 09:59:08 +00:00
kolaente
71cad7aa13
chore(auth): refactor creating users in openid and ldap
2025-01-28 09:59:08 +00:00
kolaente
38bb8de4f1
feat(auth): authenticate users via ldap
2025-01-28 09:59:08 +00:00
kolaente
ef01c2217b
fix(task): correctly validate all task fields
2025-01-25 14:38:25 +01:00
kolaente
acf1ce862a
fix(filter): validate fields before using them
...
Resolves https://vikunja.sentry.io/share/issue/0e99ec2d0ee64e7aa40ea78098d5a316/
2025-01-24 19:06:59 +01:00
Frederick [Bot]
878b443ce6
[skip ci] Updated swagger docs
2025-01-24 14:04:14 +00:00
kolaente
5c02527d2d
fix!(config): read all env variables into config store explicitly
...
This changes the way environment variables are read into Vikunja's config.
With this change, Vikunja loads the config from all env variables into the config store explicitly, after all config files have been processed. The breaking change here is that values from env variables now may override values from a config file when both are specified.
This allows specifying openid providers using only environment values. Previously this still required a config file to work, because viper wouldn't know about these values otherwise.
Resolves https://community.vikunja.io/t/configure-openid-via-environment/628/16
2025-01-24 14:42:27 +01:00
kolaente
9aa197b196
fix: swagger docs
2025-01-24 14:20:07 +01:00
kolaente
6b7c3ffef3
feat(tasks): add parameter to expand comments on a task
2025-01-24 13:00:06 +01:00
kolaente
75bd569a93
fix(projects): return list of projects when accessing as link share
2025-01-24 11:46:45 +01:00
kolaente
e887cdeb5e
feat(task): expand reactions via parameter
2025-01-24 11:39:51 +01:00
kolaente
68d07a8c0f
feat(webhooks): expand buckets in webhooks
...
Resolves https://community.vikunja.io/t/bucket-id-is-0-in-webhook-payload-after-moving-task-between-columns/2993/2
2025-01-24 11:21:53 +01:00
kolaente
333e35e648
feat: add expand property to read one task
2025-01-24 11:20:23 +01:00
kolaente
7f6cb1e06e
feat: expand buckets
2025-01-24 11:03:40 +01:00
kolaente
bc0c0b103f
feat: validate expand api parameter
2025-01-24 10:09:36 +01:00
kolaente
88761db2b1
fix(auth): check for existence of field before casting
...
Resolves https://vikunja.sentry.io/share/issue/6a21a679011a40b290ac531dd96c2adc/
2025-01-22 09:45:14 +01:00
Frederick [Bot]
94da5c1c4e
[skip ci] Updated swagger docs
2025-01-21 15:46:37 +00:00
kolaente
090dd4b2f6
fix(user): do not allow changing name in settings when the user originates from an external auth provider
...
This improves the UX because it does not allow external users to change their name in Vikunja, since that change would be overridden once they log in again.
Resolves https://github.com/go-vikunja/vikunja/issues/357
2025-01-21 16:27:06 +01:00
kolaente
760f6d6800
fix(projects): adjust test assumptions
...
This adjusts the test for the changes made in f6bfe2f13c
2025-01-21 12:43:01 +01:00
kolaente
f6bfe2f13c
fix(quick actions): show saved filters in search results
...
This fixes a bug where saved filters would not show up in quick actions search results. It was caused by explicitely only searching for projects.
During the debugging of this, I've discovered the search parameter is ignored when searching for filters.
Resolves https://community.vikunja.io/t/virtual-projects-a-k-a-saved-filters-do-not-show-up-in-search-bar-results/3180/4
2025-01-21 11:07:28 +01:00
kolaente
b85befb86a
fix: start server when listening on socket
...
This fixes a regression introduced in daa7ad053c where the http server was not started when listening on a unix socket instead of a http interface.
Resolves https://github.com/go-vikunja/vikunja/issues/396
2025-01-21 10:18:14 +01:00
Frederick [Bot]
20cd15fb98
[skip ci] Updated swagger docs
2025-01-21 07:27:59 +00:00
kolaente
f25f983417
feat(notifications): include link to settings in notifications
2025-01-20 17:38:18 +01:00
kolaente
debdcd4dd3
docs: clarify return value of /tasks
2025-01-20 16:23:26 +01:00
kolaente
a7be41ef04
fix(filter): do not override filter include nulls query
...
This fixes a bug where the "include nulls" query parameter would get overridden when the current view had a filter set, even if that filter didn't specify the parameter.
2025-01-20 14:23:35 +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
4858f7c82f
fix(project): transfer ownership after deleting a user
...
This fixes a bug where the ownership of a project was not transferred when the user was deleted, leading to errors when viewing the project, as the owner user could not be found.
Resolves https://kolaente.dev/vikunja/vikunja/issues/2827
2025-01-20 12:25:38 +01:00
kolaente
0e37049343
fix(migration): add more debug logging
2025-01-20 12:08:10 +01:00
Dominik Pschenitschni
47538ca810
fix: method name
2025-01-17 13:59:12 +01:00
kolaente
abae6f05e0
fix(auth): move read all notifications to notification group
...
Resolves
https://kolaente.dev/vikunja/vikunja/issues/2977
2025-01-17 12:52:42 +01:00
kolaente
45ec1a4c47
fix(auth): make sure routes from the "other" group work as intended
...
Resolves
https://kolaente.dev/vikunja/vikunja/issues/2977
2025-01-17 11:06:00 +01:00
kolaente
2522cffa61
fix(auth): return proper error when a jwt claim contains wrong data
...
Resolves https://vikunja.sentry.io/share/issue/69b578ccc3794de58cecfc7b8291ae64/
2025-01-14 16:38:49 +01:00
kolaente
33b9917c7d
fix(auth): return correct error when trying to do a user action as a link share
...
Resolves https://vikunja.sentry.io/share/issue/77f7aa4cda9442439deba3cfe2cb32c6/
2025-01-14 15:01:13 +01:00
kolaente
1db99dba47
fix(kanban): correctly check bucket limit for saved filters or view filters
...
Resolves https://github.com/go-vikunja/vikunja/issues/355
2025-01-09 16:21:28 +01:00
kolaente
017fa1b5af
fix(restore): restore encoded float values properly
...
Resolves https://kolaente.dev/vikunja/vikunja/issues/2934
2025-01-09 15:42:12 +01:00
kolaente
7e66f3ec6b
fix(restore): make sure all json columns are properly restored
2025-01-09 15:40:22 +01:00
kolaente
3d5d17336e
fix(migration): return proper error when uploaded file is not a zip file
...
Resolves https://vikunja.sentry.io/share/issue/73a7b6f60b3e446e949d072016f31c22/
2025-01-09 14:32:24 +01:00
Frederick [Bot]
0826d72e38
[skip ci] Updated swagger docs
2024-12-22 23:39:06 +00:00
kolaente
70f1b4f28b
fix(export): update only current user export file id
2024-12-22 19:48:47 +01:00
kolaente
703a88e99f
fix: lint
2024-12-17 10:53:18 +01:00
kolaente
4359819faf
fix(auth): do not allow commas in usernames
2024-12-16 23:09:35 +01:00
kolaente
47ff7d8ad3
fix(migration): fetch members when they do not exist
...
Resolves https://github.com/go-vikunja/vikunja/issues/378
2024-12-15 13:11:29 +01:00
kolaente
28a58303f0
fix(auth): convert to int when failed password value is not int
...
Resolves https://github.com/go-vikunja/vikunja/issues/377
2024-12-13 20:46:36 +01:00
kolaente
b3c93ae811
fix(task): do not update all project_view ids
...
Might fix https://community.vikunja.io/t/not-able-to-move-task-between-buckets-within-a-kanban-view-for-saved-filter/2882/6
2024-12-11 18:50:01 +01:00
kolaente
c9a68d3a63
fix(openid): lint
2024-12-11 17:10:41 +01:00
kolaente
7ac2c42e4d
fix(caldav): fetch saved filter
...
This fixes a bug which caused fetching saved filter and favorite projects to crash, because the respective project ID is not a valid project id without special handling.
2024-12-11 17:05:51 +01:00
kolaente
5abca0927b
fix(caldav): do not crash with error 400 when fetching the list of all projects
...
Because the "all projects" handler is the same as the one to fetch a single project, the handler would fail because no project was specified. However, it should return an empty project instead so that it later fetches all projects.
Resolves https://community.vikunja.io/t/http-400-when-trying-to-connect-via-caldav/3054
2024-12-11 16:51:30 +01:00
kolaente
4512045cbf
fix: check if all required keys are available when parsing openid configuration
...
Related to https://github.com/go-vikunja/vikunja/issues/371
2024-12-11 16:25:41 +01:00
kolaente
25fd0f6108
fix(filter): correctly create task positions during filter creation
...
This fixes a bug where a saved filter would contain many "dead" entries for tasks which are not part of that filter. These entries were "dead" because the filter would not match for them and thus they were not shown.
The problem was caused by a routine during the creation of the filter where all projects from all matching tasks would be used as input for fetching the tasks to add to task_positions.
https://community.vikunja.io/t/not-able-to-move-task-between-buckets-within-a-kanban-view-for-saved-filter/2882/3
2024-12-09 19:21:13 +01:00
kolaente
942c2e4af6
fix: specify cols when upgrading
...
Resolves https://github.com/go-vikunja/vikunja/issues/367
2024-12-09 17:42:31 +01:00
graves501
ed5474a28a
fix(typo): Simpl -> Simple -> GetProjectsMapSimpleByTaskIDs ( #2906 )
...
Fix typo -> GetProjectSimplByTaskID -> GetProjectSimpleByTaskID
Reviewed-on: https://kolaente.dev/vikunja/vikunja/pulls/2906
Co-authored-by: graves501 <graves501@protonmail.com>
Co-committed-by: graves501 <graves501@protonmail.com>
2024-12-09 13:55:16 +00:00
kolaente
8d8406df05
fix: task overdue at the same time as the notification
...
If a task is overdue at the same time the notification is sent, it would contain a message like "overdue since" without a time. This now shows "overdue now" instead.
2024-12-03 08:33:16 +01:00
kolaente
8732837596
chore: simplify sentry code
2024-11-22 12:05:02 +01:00
kolaente
3659b7b58d
fix(attachments): check permissions when accessing all attachments
2024-11-21 15:42:53 +01:00
kolaente
bbbd936868
fix(saved filters): check permissions when accessing tasks of a filter
2024-11-21 15:42:26 +01:00
ScribblerCoder
a5cc5e3783
Add healthcheck command ( #2856 )
...
Currently vikunja has a `/health` endpoint that was added in https://kolaente.dev/vikunja/vikunja/pulls/998 . Docker/compose cannot utilize this feature since vikunja's docker image doesn't have curl/wget as it is pruned which is great for the image size. This PR adds a `healthcheck` command that send an http request to `/health` and exits with 0 or non-zero depending on the result.
It also adds a `HEALTHCHECK` to the docker image which calls this automatically.
Reviewed-on: https://kolaente.dev/vikunja/vikunja/pulls/2856
Reviewed-by: konrad <k@knt.li>
Co-authored-by: ScribblerCoder <omar2001.oh@gmail.com>
Co-committed-by: ScribblerCoder <omar2001.oh@gmail.com>
2024-11-20 18:04:55 +00:00
kolaente
f2eac4623d
fix(filters): do not crash when paginating bucket with empty filter
...
Resolves https://community.vikunja.io/t/error-in-kanban-view-of-virtual-project-saved-filter/2876/7
2024-11-19 19:32:09 +01:00
kolaente
0b9fd2c485
fix(project): correctly set done bucket after duplicating project
...
Resolves https://community.vikunja.io/t/duplicating-projects-with-a-kanband-done-bucket-is-broken/2979
2024-11-19 19:23:08 +01:00
Frederick [Bot]
940b450a56
[skip ci] Updated swagger docs
2024-11-19 16:44:45 +00:00
kolaente
d616bab76d
fix(views): enable search in bucket filters
2024-11-19 16:27:22 +00:00
kolaente
624907ad6a
fix: make search in saved filter work
2024-11-19 16:27:22 +00:00
Maximilian Bosch
3bafaa7101
fix(tasks): also delete corresponding task positions ( #2840 )
...
Closes [#348 ](https://github.com/go-vikunja/vikunja/issues/348 )
When moving a project, the old task bucket entries (project, saved
filters) will be removed, but not the corresponding position. This has
the effect that the saved_filter event hook UpdateTaskInSavedFilterViews
wrongly assumes that the task doesn't need to be re-added to the saved
filter since the position part still exists.
Reviewed-on: https://kolaente.dev/vikunja/vikunja/pulls/2840
Co-authored-by: Maximilian Bosch <maximilian@mbosch.me>
Co-committed-by: Maximilian Bosch <maximilian@mbosch.me>
2024-11-18 16:02:05 +00:00
kolaente
b8c4e0a91e
fix(openid): log error when config is still using array value
2024-11-18 12:16:38 +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
bd3eab8c34
fix(filters): validate filter expression when creating or updating filter
...
Resolves https://github.com/go-vikunja/vikunja/issues/354
2024-11-18 11:02:21 +01:00
kolaente
1db1333d8a
chore(config): append .file to config values when reading
2024-11-18 10:35:02 +01:00
kolaente
05349ddb5c
feat!: config for auth providers now use a map instead of an array
...
The config values for openid providers now use a map with the provider as key instead of an array. For example before:
auth:
openid:
providers:
- name: foo
clientid: ...
now becomes:
auth:
openid:
providers:
foo:
clientid: ...
This allows us to read values for openid providers from files using the same syntax as everywhere and makes the configuration more predictable. It also allows configuring providers through env variables, though it is still required to set at least one value via the config file because Vikunja won't discover the provider otherwise.
2024-11-18 10:34:30 +01:00
kolaente
3479fa1228
feat(config): only read file sub-keys from files
...
This removes reading config values from _file and instead only reads from file sub keys. This should make it easier to not accidentally specify the same value twice.
The syntax via env does not change, but via a config file this:
database:
password_file: foo
becomes
database:
password:
file: foo
2024-11-18 08:52:21 +01:00
kolaente
c7914bc245
feat: load any config value from file
...
This change allows to read any config value from a file, when the path to that file is specified in the config with the target config value suffixed with _file. This works with environment variables as well.
For example, setting database.password_file=/path/to/password will load the value from /path/to/password and set it as the config value of database.password.
Resolves https://kolaente.dev/vikunja/vikunja/issues/704
Resolves https://kolaente.dev/vikunja/vikunja/pulls/1621
2024-11-04 16:47:39 +01:00
kolaente
4556cfb057
fix(attachments): return error message when attachment upload is not multipart form request
...
Resolves https://vikunja.sentry.io/issues/6041469388/
2024-11-04 12:26:53 +01:00
kolaente
3f62c013ba
fix(typesense): fetch task comments without permission check
...
Fetching the task comments during indexing would always check the permissions - in the specific case of indexing comments into Typesense, this will always return true, because we're checking with the owner of the project. Because this is a rather expensive operation, it is even more unnecessary.
2024-11-02 18:42:12 +01:00
kolaente
e393cfdfd7
fix(views): delete task buckets and task positions as well when deleting a view
2024-10-31 19:22:51 +01:00
kolaente
1fac81c8de
feat(cli): add cli command to delete orphan task positions
2024-10-31 19:19:56 +01:00
kolaente
d03f9c7b73
fix(positions): directly look in the database to fetch tasks when recalculating their position
2024-10-31 19:02:15 +01:00
kolaente
d7eff8e43b
feat(positions): add more debug logs
2024-10-31 18:46:09 +01:00
kolaente
7f5f5a4b8d
fix(events): do not crash filter event handler when triggered by a link share user
...
Resolves https://vikunja.sentry.io/issues/6030883119/events/4013802889b64b6b9d868e7c83ba4eb5/
2024-10-30 14:49:33 +01:00
kolaente
d081cf80fc
chore(caldav): refactor fetching projects
2024-10-30 08:37:27 +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
412a8ef654
chore(projects): only pass users to checks
2024-10-29 09:11:06 +01:00
kolaente
816da6bc50
fix(projects): check with the current user if they have access to the project
2024-10-29 08:40:14 +01:00
kolaente
dace07efda
fix(projects): return 0 if no parent project exists
2024-10-29 08:25:20 +01:00
kolaente
fa032a889f
fix(filters): do not crash when a filter is invalid
...
Resolves https://vikunja.sentry.io/issues/6025547266/events/a62beaa09caf482ba238b18f363956df
2024-10-28 16:16:48 +01:00
kolaente
e30374a28c
fix(projects): only add conditions to query when they are non-empty
2024-10-28 16:09:31 +01:00
kolaente
b013b294e2
fix(projects): remove unnecessary join
...
The removal of the unnecessary join condition speeds up the query 10x. Before, it would take ~700ms on Vikunja Cloud. With this removal, the otherwise same query now takes ~70ms (which still leaves plenty of room for improvements, but it's already a great step forwards).
2024-10-28 15:58:07 +01:00
kolaente
acdb45a92c
fix: lint
2024-10-28 14:04:54 +01:00
kolaente
29107e9865
fix: error message check on mysql
2024-10-28 13:50:12 +01:00
kolaente
a70c472aa3
fix: create missing indexes on postgres
2024-10-28 13:25:38 +01:00
kolaente
e1893ff573
chore: cleanup
2024-10-28 12:44:54 +01:00
kolaente
106a1c7864
fix(events): report async errors via Sentry
2024-10-28 12:44:26 +01:00
kolaente
7055d7341c
feat(sharing): add config so that users only find members of their teams
...
This adds a feature where you can enable users to only find members of teams they're part of. This makes the user search when sharing projects less confusing, because users only see other users they already know.
It is still possible to add users to teams with their email address, if they have that enabled in the user settings.
2024-10-28 11:08:06 +01:00
John Doe
28d5cd7b28
feat: allow setting schema for connection in postgres ( #2777 )
...
This PR introduce a new config for database, `database.schema`, allowing user to specify a specific schema to use for their postgres database connection. As the default value is set, it will be backward compatible.
Related discussion: https://community.vikunja.io/t/postgres-database-has-error-pq-relation-tasks-does-not-exist/1333
Reviewed-on: https://kolaente.dev/vikunja/vikunja/pulls/2777
Co-authored-by: John Doe <hugosum.dev@protonmail.com>
Co-committed-by: John Doe <hugosum.dev@protonmail.com>
2024-10-26 16:06:47 +00:00
kolaente
b5cbe99b0a
fix(cmd): report error when the connection to the mail server failed
...
When running the testmail command, Vikunja would not stop if it wasn't able to connect to the mail server. This was a regression from 950de7c954 .
This change fixes that problem.
Resolves https://kolaente.dev/vikunja/vikunja/issues/2767
2024-10-25 19:23:39 +02:00
Sterad
d784e98f8c
feat(cmd): Allow to specify custom filename for dump command ( #2775 )
...
This simplifies automated postprocessing of the backup file.
Co-authored-by: Maarten <mail@mgrothus.de>
Reviewed-on: https://kolaente.dev/vikunja/vikunja/pulls/2775
Co-authored-by: Sterad <hgasuser@gmail.com>
Co-committed-by: Sterad <hgasuser@gmail.com>
2024-10-25 12:37:17 +00:00
Sterad
1f76a8bb64
feat: preferably award admin access to project users with write access on user deletion ( #2772 )
...
Reviewed-on: https://kolaente.dev/vikunja/vikunja/pulls/2772
Co-authored-by: Sterad <hgasuser@gmail.com>
Co-committed-by: Sterad <hgasuser@gmail.com>
2024-10-24 20:42:38 +00: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
29b9001078
feat(filters): allow filtering by created and updated task fields
...
Resolves https://kolaente.dev/vikunja/vikunja/issues/2768
2024-10-18 15:15:19 +02:00
Frederick [Bot]
5eebfb3371
[skip ci] Updated swagger docs
2024-10-15 10:42:30 +00:00
kolaente
d50572c544
fix(project): permission query on mysql
2024-10-15 12:16:22 +02:00
kolaente
302424b047
fix: lint
2024-10-15 11:57:49 +02:00
kolaente
cda8155de4
fix(projects): correctly check inherited permissions
2024-10-15 11:56:51 +02:00
kolaente
92b90013ab
feat(projects): optionally return max right when querying all projects
...
This change introduces an expand query parameter which, when provided, allows to return all projects with the max right the current user has on that project. This allows to show and hide appropriate buttons in the frontend.
Resolves https://github.com/go-vikunja/vikunja/issues/334
2024-10-13 19:22:09 +02:00
kolaente
3e9c41cfc6
fix(api): allow api tokens to retrieve the user who created the token
...
Resolves https://kolaente.dev/vikunja/vikunja/issues/2644
2024-10-13 16:02:53 +02:00
kolaente
a88124cfce
feat: make used bcrypt rounds configurable
...
This allows to configure the used bcrypt rounds and set it to 4 in tests, greatly speeding up the tests. It's not really required to set this to another value but it might be in the future as computers get faster.
2024-10-13 15:38:04 +02:00
kolaente
9219f7032e
fix: error reporting
2024-10-11 08:54:50 +02:00
kolaente
35a463c984
fix(filters): prevent position and bucket ID overriding position of existing tasks
...
This fixes a bug where the task position in a task was updated and immediately overridden by the update event handler.
Resolves https://community.vikunja.io/t/not-able-to-move-task-between-buckets-within-a-kanban-view-for-saved-filter/2882
2024-10-10 16:05:31 +02:00
kolaente
8ab387396d
fix: do not try to reindex tasks into typesense when it is not set up
2024-10-10 16:01:17 +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
80d22d5060
fix(colors): truncate longer hex color values
...
Resolves https://vikunja.sentry.io/share/issue/6f1e37d4b8b248188e20650234a45cde/
2024-09-30 20:06:10 +02:00
kolaente
1eaeb8d003
fix(filters): change assertion based on the environment
2024-09-30 19:54:00 +02:00
kolaente
8d05b5cb01
fix(filters): return more details when the provided filter time zone is invalid
2024-09-30 08:42:16 +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
5478acfc09
fix(files): configure the files path in files init instead of globally
...
This fixes a regression introduced in daa7ad053c where the root path would be included twice in the file path, leading to retrieval issues.
2024-09-29 19:04:25 +02:00
kolaente
287d4f7de2
fix(filters): make sure year is always at least 1
...
Resolves https://vikunja.sentry.io/share/issue/ef81451b0c7b43f1bff2d3a86ba393bb/
Resolves https://github.com/go-vikunja/app/issues/94#issuecomment-2351818484
2024-09-29 18:56:46 +02:00
kolaente
daa7ad053c
feat: auto tls
...
This commit introduces the automatic retrieval of TLS certificates from Let's Encrypt. If the feature is enabled, Vikunja will automagically request a certificate from Let's Encrypt and configure it to server content via TLS.
2024-09-29 18:20:30 +02:00
kolaente
ca967782e8
fix(filters): explicitly search in json when using postgres
...
Resolves https://github.com/go-vikunja/vikunja/issues/330
Resolves https://community.vikunja.io/t/add-task-to-filter-view-cron-error-fetching-filters-pq-operator-does-not-exist-json-unknown/2831
2024-09-29 11:39:44 +02:00
jd
84dbc5fd84
fix: partial fix to allow list tasks in ios reminders app ( #2717 )
...
This PR introduces a partial fix for the CalDAV task listing bug (#753 ) when handling PROPFIND requests with `Depth: 1`, improving task visibility in the iOS Reminders app.
Notes:
* This might make Thunderbird somewhat usable when interacting with tasks using the `/dav/projects/{id} url`.
* This does not fully resolve the issue where the Reminders app will only display the last project after some time when adding the URL.
This is my first time working with Golang and CalDAV, so I’d really appreciate any feedback or suggestions on the code structure, style, or any improvements I could make.
Co-authored-by: JD <43763092+jdw1023@users.noreply.github.com>
Reviewed-on: https://kolaente.dev/vikunja/vikunja/pulls/2717
Reviewed-by: konrad <k@knt.li>
Co-authored-by: jd <jd@noreply.kolaente.dev>
Co-committed-by: jd <jd@noreply.kolaente.dev>
2024-09-28 09:06:32 +00:00
kolaente
261c6e6c9e
fix(files): only use service rootpath for files when the files path is not absolute
...
Resolves https://community.vikunja.io/t/images-failing-to-load-500-internal-server-error/2835
2024-09-23 14:41:00 +02:00
kolaente
207b88a286
fix(typesense): use typesense bulk insert, log all errors
2024-09-20 10:20:18 +02:00
kolaente
50a0674835
fix(typesense): force position to always be float instead of auto-inferring
...
This fixes an issue where it would be impossible to update a task in Typesense when the position for a view of it was previously saved as int64. This happened because the field is created per view on demand and its type is automatically inferred from the data saved. Now, when the first value for a particular position field is a float which could as well be an int (for example, 42.0), that field gets created as an int64 instead of float. Subsequent tries to save a float into that field will then fail.
Additionally, errors about this are silently discarded when using bulk insert. That's why the problem was not really debuggable at first.
2024-09-20 10:13:05 +02:00
kolaente
8181829c9e
fix(typesense): index tasks one by one
2024-09-20 09:18:57 +02:00
kolaente
83aeb90376
chore(logging): simplify log template string
2024-09-20 08:42:22 +02:00
kolaente
e4584109df
chore(typesense): add more debug logging
2024-09-20 08:42:21 +02:00
kolaente
3f1d0f390b
fix(typesense): use emplace instead of upsert to update documents
2024-09-20 07:54:23 +02:00
kolaente
edf206aba6
fix(typesense): make sure task positions are recreated properly when updating them
...
Related https://community.vikunja.io/t/version-0-24-0-internal-server-error-breaking-change/2558
Related https://github.com/go-vikunja/vikunja/issues/317
2024-09-19 15:57:18 +02:00
kolaente
9e39ef9397
fix(typesense): add new tasks to typesense properly
...
Maybe related to https://github.com/go-vikunja/vikunja/issues/317
2024-09-19 15:30:14 +02:00
kolaente
c54181eeda
fix(deps): update module github.com/typesense/typesense-go to v2
2024-09-19 15:30:13 +02:00
kolaente
b3bf92b7ce
fix(typesense): only fail silently when a project was not found during indexing
2024-09-19 15:30:13 +02:00
kolaente
cd0ab54d57
fix(views): add migration for filtered kanban buckets
2024-09-19 13:23:23 +02:00
kolaente
4b2b8e3b83
chore: rearrange cron registers
2024-09-19 11:24:43 +02:00
kolaente
bc52da4029
fix(filter): make sure tasks are in a correct bucket and position when they are part of a date filter
...
Whenever a task is part of a date filter, it might fall in or out of a filter bucket without anything changing, other than the current time. For example, a filter condition like due_date > now may include different tasks depending on the current time.
For these kinds of tasks to properly show up in the kanban view of a filter, there has to be an entry in the task_buckets table. These entries only got updated when either a task was updated or the filter itself was updated. To account for th changing of time, we also need to check periodically if tasks are now part or not anymore part of that filter.
This change adds a cron task to do precisely that.
We'll have to see if this works resource-wise, but the cron is not the only one doing a bunch of sql queries so it might be fine after all.
Resolves https://community.vikunja.io/t/tasks-in-saved-filter-appear-in-list-view-but-are-not-visible-in-kanban-view/2800
2024-09-19 11:19:48 +02:00
kolaente
2123da49a3
fix(task): cleanup old task positions and task buckets when adding an updated or created task to filter
2024-09-19 09:30:21 +02:00
kolaente
c53a761396
fix(task): add task to filter view after it was updated
...
Maybe resolves https://community.vikunja.io/t/tasks-in-saved-filter-appear-in-list-view-but-are-not-visible-in-kanban-view/2800
2024-09-19 09:30:20 +02:00
kolaente
c84b50b3ee
fix(labels): trigger task updated for bulk label task update
2024-09-19 08:59:34 +02:00
kolaente
c252c8f0cd
fix: reset id before creating
2024-09-17 10:46:14 +02:00
kolaente
6f27e1401a
fix(user): do not create user with existing id
...
Resolves https://vikunja.sentry.io/share/issue/6f1e37d4b8b248188e20650234a45cde/
2024-09-14 12:16:05 +02:00
kolaente
1451f6e46f
fix(kanban): correctly paginate filtered kanban buckets
...
Resolves https://github.com/go-vikunja/vikunja/issues/314
2024-09-14 09:37:21 +02:00
kolaente
45ff5907e6
fix(view): correctly resolve bucket filter when paginating
2024-09-13 19:45:48 +02:00
kolaente
1a8f12ac13
fix(kanban): do not mark first bucked as done bucket in filter bucket mode
...
Resolves https://github.com/go-vikunja/vikunja/issues/313
2024-09-13 11:52:44 +02:00
Frederick [Bot]
9dd95101f9
[skip ci] Updated swagger docs
2024-09-12 08:42:38 +00:00
kolaente
20724f6fb5
fix(task): cyclomatic complexity
2024-09-12 10:24:16 +02:00
kolaente
8d730543c3
fix(project): reset id before creating
...
Resolves https://vikunja.sentry.io/share/issue/6f1e37d4b8b248188e20650234a45cde/
2024-09-11 23:46:13 +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
44a43b9f86
fix(auth): restrict max password length to 72 bytes
...
Bcrypt allows a maximum of 72 bytes. This is part of the algorithm and not something we could change in Vikunja. The solution here was to restrict the password during registration to a max length of 72 bytes. In the future, this should be changed to hash passwords with sha512 or similar before hashing them with bcrypt. Because they should also be salted in that case and the added complexity during the migration phase, this was not implemented yet.
The change in this commit only improves the error handling to return an input error instead of a server error when the user enters a password > 72 bytes.
Resolves https://vikunja.sentry.io/share/issue/e8e0b64612d84504942feee002ac498a/
2024-09-10 18:23:06 +02:00
kolaente
1085a6583b
fix(caldav): reject invalid project id with error 400
...
Resolves https://vikunja.sentry.io/share/issue/6fc18edefa0e4db3b2e10efe36deeaa4/
2024-09-10 17:32:35 +02:00
kolaente
e698ac5a34
fix(label): ignore existing ID during creation
2024-09-10 16:45:40 +02:00
Frederick [Bot]
2539f15dfb
[skip ci] Updated swagger docs
2024-09-07 11:48:49 +00:00
kolaente
5c1b2846a1
docs(api): use correct return type for the /user endpoint
2024-09-07 13:27:06 +02:00
Frederick [Bot]
2b8515b91d
[skip ci] Updated swagger docs
2024-09-06 11:18:51 +00: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
02c1de55c4
chore(attachments): refactor building image preview
2024-09-06 09:43:59 +02:00
kolaente
9d7b6d3d9a
feat(dump): add flag to allow specifying dump path
...
Resolves https://community.vikunja.io/t/vikunja-0-24-docker-bin-sh/2621/3
2024-09-05 15:14:03 +02:00
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
kolaente
46683a2516
feat(migration): migration from other services now happens in the background
2023-11-09 00:15:11 +01:00
kolaente
707bb6f89e
fix(migration): make sub project hierarchy work when importing from other services
2023-11-08 22:56:10 +01:00
kolaente
b2866ca3da
feat(api): enable notifications for api token routes
2023-11-07 14:58:46 +01:00
kolaente
4d3ba495a7
fix(tests): use string IDs in Todoist test
2023-11-07 13:28:06 +01:00
kolaente
27984157c1
fix(migration): use string for todoist project note id
2023-11-03 12:06:23 +01:00
Frederick [Bot]
1c416ae73e
[skip ci] Updated swagger docs
2023-10-24 14:38:04 +00:00
kolaente
a375223872
fix: properly tag bucket-related operations
2023-10-24 16:13:15 +02:00
kolaente
a1ea77f751
feat: accept hex values which start with a #
2023-10-24 16:12:22 +02:00
Frederick [Bot]
4625377752
[skip ci] Updated swagger docs
2023-10-22 17:21:16 +00:00
kolaente
8a4856ad87
feat: convert all markdown content to html ( #1625 )
...
Migration for https://kolaente.dev/vikunja/frontend/pulls/2222
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1625
Co-authored-by: kolaente <k@knt.li>
Co-committed-by: kolaente <k@knt.li>
2023-10-22 13:48:22 +00:00
kolaente
10c9913e12
feat(notifications): add endpoint to mark all notifications as read
2023-10-20 16:40:47 +02:00
kolaente
66cf7ab50a
feat(reminders): include project in reminder notification
2023-10-20 13:56:14 +02:00
Frederick [Bot]
b2b4b5423f
[skip ci] Updated swagger docs
2023-10-20 11:39:17 +00:00
kolaente
55d345e236
feat(webhooks): validate events and target url
2023-10-20 12:42:28 +02:00
kolaente
61cd08fa13
fix(webhooks): add created by user object when creating a webhook
2023-10-18 22:18:45 +02:00
kolaente
72366a5b27
feat(webhooks): add created by user object when returning all webhooks
2023-10-18 20:06:07 +02:00
kolaente
b4e3d8ee47
fix(webhooks): lint
2023-10-17 20:40:09 +02:00
kolaente
7a74e491da
fix(webhooks): lint
2023-10-17 20:35:14 +02:00
kolaente
2c84cec044
docs(webhooks): add swagger docs for all webhook endpoints
2023-10-17 20:35:14 +02:00
kolaente
fc0029eed7
fix(webhooks): don't send the proxy auth header to the webhook target
2023-10-17 20:35:14 +02:00
kolaente
177f367a8c
feat(webhooks): expose whether webhooks are enabled
2023-10-17 20:35:14 +02:00
kolaente
1b82f26d3e
chore(webhooks): simplify registering webhook events
2023-10-17 20:35:13 +02:00
kolaente
ec4aa606e2
chore(webhooks): reuse webhook client
2023-10-17 20:35:13 +02:00
kolaente
831aa4a014
feat(webhooks): add support for webhook proxy
2023-10-17 20:35:13 +02:00
kolaente
b38360c9a5
feat(webhooks): add timeout config option
2023-10-17 20:35:13 +02:00
kolaente
34a92b759e
feat(webhooks): add setting to enable webhooks
2023-10-17 20:35:13 +02:00
kolaente
8cc775ac4c
fix(webhooks): routes should use the common schema used for other routes already
2023-10-17 20:35:13 +02:00
kolaente
a0d8b28813
feat(webhooks): add hmac signing
2023-10-17 20:35:13 +02:00
kolaente
a3a323cbf1
feat(webhooks): set user agent header to Vikunja
2023-10-17 20:35:13 +02:00
kolaente
4253d14367
chore(webhooks): remove WebhookEvent interface
2023-10-17 20:35:13 +02:00
kolaente
96ccf6b923
feat(webhooks): add route to get all available webhook events
2023-10-17 20:35:13 +02:00
kolaente
eb1b9247ad
feat(webhooks): prevent link shares from managing webhooks
2023-10-17 20:35:13 +02:00
kolaente
57de44694c
feat(webhooks): add index on project id
2023-10-17 20:35:13 +02:00
kolaente
8d7a492936
feat(webhooks): add filter based on project id
2023-10-17 20:35:13 +02:00
kolaente
7d1c5c50c5
feat(webhooks): add basic sending of webhooks
2023-10-17 20:35:12 +02:00
kolaente
7f3c300240
feat(webhooks): add routes
2023-10-17 20:35:12 +02:00
kolaente
c5de41f183
feat(webhooks): add event listener to send webhook payload
2023-10-17 20:35:12 +02:00
kolaente
e5b8d8bd2d
feat(webhooks): register task and project events as webhook
2023-10-17 20:35:12 +02:00
kolaente
ad7d485eb5
feat(webhooks): add basic crud actions for webhooks
2023-10-17 20:35:12 +02:00
kolaente
9a29b29a04
fix(user): allow openid users to request their deletion
...
Resolves https://community.vikunja.io/t/delete-user-not-possible-when-using-oidc/1689/4
2023-10-11 19:06:59 +02:00
kolaente
58497f29e6
fix(kanban): filter for tasks in buckets by assignee should not modify the filter directly
...
Resolves https://github.com/go-vikunja/api/issues/84
2023-10-11 18:43:28 +02:00
Frederick [Bot]
775b98b729
[skip ci] Updated swagger docs
2023-10-11 08:50:34 +00:00
KaibutsuX
0769d59054
feat(cli): added --confirm/-c argument when deleting users to bypass prompt ( #86 )
...
Reviewed-On: https://github.com/go-vikunja/api/pull/86
2023-10-10 21:24:25 +02:00
kolaente
56625b0b90
fix: lint
2023-10-10 20:35:43 +02:00
KaibutsuX
137f3bc151
chore: assume username instead of id when parsing fails for user commands ( #87 )
...
Reviewed-On: https://github.com/go-vikunja/api/pull/87
2023-10-10 18:06:10 +02:00
kolaente
f5ac3abb2a
chore(test): add task deleted assertion to project deletion test
2023-10-03 15:52:38 +02:00
Peter H0ffmann
ad04d302af
chore: reverse the coupling of module log and config ( #1606 )
...
This way the config module can already use the log module with the same result (default logging to StdOut with Level INFO, same output as before) but ENV variables can already change the logging of config file related log output). It is now possible to dump as a cronjob without having to filter the default log about the used config file.
Also:
- all logging modules are now configurable when initializing which makes testing easier
- viper dependency removed from logging
- log correct settings when configured error level is invalid
- deprecation of value "false" for log.standard and log.events (already not mentioned in https://vikunja.io/docs/config-options/ )
Co-authored-by: Berengar W. Lehr <Berengar.Lehr@uni-jena.de>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1606
Reviewed-by: konrad <k@knt.li>
Co-authored-by: Peter H0ffmann <hoffmannp@noreply.kolaente.de>
Co-committed-by: Peter H0ffmann <hoffmannp@noreply.kolaente.de>
2023-10-03 09:28:28 +00:00
kolaente
c217233e08
fix(typesense): getting all data from typesense
2023-09-29 21:26:12 +02:00
kolaente
98102e59f2
feat(typesense): add new tasks to typesense directly when they are created
2023-09-29 21:15:28 +02:00
kolaente
8f4ee3a089
fix(typesense): make sure searching works when no task has a comment at index time
2023-09-29 16:35:59 +02:00
Erwan Martin
feacbbff74
fix(caldav): do not update dates of tasks when repositioning them ( #1605 )
...
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: https://kolaente.dev/vikunja/api/pulls/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
kolaente
f065dcf4ad
fix(typesense): add typesense sync to initial structs
2023-09-15 12:53:29 +02:00
kolaente
addcbdd8ca
fix(test): don't check for error
2023-09-13 12:52:42 +02:00
kolaente
054f21821c
fix(typesense): don't try to index tasks if there are none
2023-09-13 12:19:09 +02:00
kolaente
38a3a5c6e8
fix(typesense): explicitely create typesense sync table
2023-09-13 12:05:37 +02:00
kolaente
1ee243f2bd
fix(project background): add more checks for whether a background file exists when duplicating or deleting a project
...
Related discussion: https://community.vikunja.io/t/500-internal-server-error-when-selecting-unsplash-background-image/778/18
2023-09-13 11:20:59 +02:00
kolaente
c5c74e9537
chore(caldav): improve trimming .ics file ending
2023-09-07 15:52:37 +02:00
kolaente
e34f503674
fix: lint
2023-09-07 11:31:35 +02:00
kolaente
bfcefa0217
fix(caldav): check for related tasks synced back from a caldav client
...
Related discussion https://community.vikunja.io/t/tasks-org-subtask-syncing-issue/737/9
2023-09-07 11:29:44 +02:00
kolaente
c6bdb5752a
fix(import): create related tasks without an id
2023-09-07 11:16:04 +02:00
kolaente
68d4dcd7e6
fix(projects): don't limit results to top-level projects when searching
...
Resolves https://github.com/go-vikunja/api/issues/82
2023-09-07 10:56:59 +02:00
kolaente
b2f3a23cb3
fix(import): correctly set child project relations
2023-09-07 10:45:15 +02:00
kolaente
93795d2f29
fix(import): resolve task relations by old task ids
2023-09-07 10:24:15 +02:00
kolaente
adf4b95ed3
fix(import): ignore duplicate project identifier
2023-09-07 10:12:15 +02:00
kolaente
ce3a06f03b
fix(import): don't fail when importing from dev exports
2023-09-07 10:11:59 +02:00
kolaente
2c0c3ea24e
fix(build): don't require swagger to build
2023-09-06 21:08:09 +02:00
kolaente
107b0b791f
fix(swagger): add generated swagger docs to repo
2023-09-06 18:01:45 +02:00
kolaente
424bf7647b
fix: lint
2023-09-06 14:56:25 +02:00
kolaente
06bc92556e
fix(docs): add empty swagger file so that the package exists
2023-09-06 13:13:51 +02:00
kolaente
b8e73f4fa5
fix: lint
2023-09-06 10:52:30 +02:00
kolaente
bfb01898c2
fix(api tokens)!: make sure task create routes are available to use with the api
...
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
kolaente
d6db498853
fix: lint
2023-09-04 14:25:46 +02:00
kolaente
80b40bb2c0
feat(notify): don't notify disabled users
2023-09-04 14:23:56 +02:00
kolaente
c28d1af877
fix(cmd): do not initialize asnyc operations when running certain cli commands
2023-09-04 11:22:50 +02:00
kolaente
f38535b2f4
fix(typesense): upsert all documents at once
2023-09-04 11:19:55 +02:00
kolaente
093b5b99a0
fix(typesense): pass the correct user when fetching task comments
2023-09-04 10:42:10 +02:00
kolaente
490d374cfd
fix(typesense): add more error logging
2023-09-04 10:20:51 +02:00
kolaente
21a1f02ea3
fix(typesense): add more error logging
2023-09-03 22:54:50 +02:00
kolaente
1a492722dd
fix(typesense): upsert one document at a time
2023-09-03 22:51:43 +02:00
kolaente
8a15c91a4f
chore(tasks): better error messages when indexing tasks into Typesense
2023-09-03 22:22:27 +02:00
kolaente
0e32d478d1
fix(projects): save done and default bucket when updating project
2023-09-03 15:50:47 +02:00
kolaente
60bd5c8a79
feat: make default bucket configurable
2023-09-03 15:17:17 +02:00
kolaente
bbbb45d224
feat: move done bucket setting to project
2023-09-03 15:01:35 +02:00
kolaente
97b5cd306f
feat: add demo mode flag
...
Related to https://kolaente.dev/vikunja/frontend/issues/2453
2023-09-01 17:47:43 +02:00
kolaente
b3a847e581
fix(kanban): create missing kanban buckets ( #1601 )
...
Co-authored-by: edel <edel.altares@pm.me>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1601
Co-authored-by: kolaente <k@knt.li>
Co-committed-by: kolaente <k@knt.li>
2023-09-01 15:41:31 +00:00
edel
11810c9b3e
fix: validate usernames on registration
2023-09-01 17:40:31 +02:00
konrad
60cd1250a0
feat: api tokens
...
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1600
2023-09-01 14:34:39 +00:00
kolaente
edbfc06a41
fix(kanban): don't prevent setting a different bucket as done bucket
...
Resolves https://kolaente.dev/vikunja/frontend/issues/3373
2023-09-01 16:18:59 +02:00
kolaente
769b4f8d66
fix(task): remove task relation in the other direction as well
...
Resolves https://community.vikunja.io/t/removing-parent-relationship-doesnt-remove-the-subtask-relationship/1492/3
2023-09-01 16:12:20 +02:00
kolaente
eac4e455fd
fix(api tokens): lint
2023-09-01 15:56:35 +02:00
kolaente
a4d946b4a9
fix(api tokens): test
2023-09-01 15:54:39 +02:00
kolaente
974e1878f8
chore(api tokens): add swagger docs about api token auth
2023-09-01 15:53:27 +02:00
kolaente
14c5a8ca5b
fix(api tokens): make sure read one routes show up in routes endpoint
2023-09-01 12:58:29 +02:00
kolaente
e3c5a93f4f
chore(api tokens): remove updated date from tokens as it can't be updated anyway
2023-09-01 11:16:36 +02:00
kolaente
8f3d18a809
feat(api tokens): better error message for invalid tokens
2023-09-01 10:27:56 +02:00
kolaente
e295d75e6e
feat(api tokens): move token validation middleware to new function
2023-09-01 10:19:55 +02:00
kolaente
d9bfcdab8e
feat(api tokens): add tests
2023-09-01 10:19:31 +02:00
kolaente
e3dac16398
feat(api tokens): check permissions when saving
2023-09-01 08:52:57 +02:00
kolaente
e4c71123ef
fix: lint
2023-09-01 08:39:25 +02:00
kolaente
5c6c6cd9f0
feat(api tokens): check for scopes
2023-09-01 08:36:15 +02:00
kolaente
677bd5cfc9
feat(api tokens): check for expiry date
2023-09-01 08:36:15 +02:00
kolaente
fb2a1c59db
feat(api tokens): check if a provided token matched a hashed on in the database
2023-09-01 08:36:15 +02:00
kolaente
c88cbaa973
feat(api tokens): properly hash tokens
2023-09-01 08:36:11 +02:00
kolaente
e6b25bd57b
feat(api tokens): add crud routes to manage api tokens
2023-09-01 08:35:54 +02:00
kolaente
3faf48706a
feat(api tokens): add api token struct and migration
2023-09-01 08:35:54 +02:00
kolaente
1ca93a678e
feat: endpoint to get all token routes
2023-09-01 08:35:54 +02:00
kolaente
e518fb1191
chore: remove year from copyright headers
...
Resolves https://kolaente.dev/vikunja/api/pulls/1483
2023-09-01 08:32:28 +02:00
kolaente
5811d2a13b
fix: order by clause in task comments
2023-08-31 15:44:59 +02:00
kolaente
5392ca788c
fix(comments): make sure comment sort order is stable
...
Resolves https://community.vikunja.io/t/comment-order-is-not-by-time/1147/3?u=kolaente
2023-08-29 14:09:53 +02:00
kolaente
02184663e5
fix(filter): assignee search by partial username test
2023-08-29 11:40:53 +02:00
kolaente
29317b980e
fix: lint
2023-08-29 11:32:45 +02:00
kolaente
4f2796ac58
fix(filters): make "in" filter comparator work with Typesense
2023-08-29 11:14:36 +02:00
kolaente
d0e3062bee
feat(tasks): allow filtering for reminders, assignees and labels with Typesense
2023-08-29 10:54:18 +02:00
kolaente
748651447a
feat(tasks): find tasks by their identifier when searching with Typesense
2023-08-29 09:31:36 +02:00
kolaente
2ca193e63b
feat(tasks): make sorting and filtering work with Typesense
2023-08-28 19:10:18 +02:00
kolaente
09cfe41e4f
feat(tasks): remove deleted tasks from Typesense
2023-08-28 13:34:47 +02:00
kolaente
1a82d6da44
feat(tasks): add periodic resync of updated tasks to Typesense
2023-08-28 13:26:40 +02:00
kolaente
010b4ce783
feat(tasks): add searching via typesense
2023-08-28 12:14:50 +02:00
kolaente
dee46d527a
feat(tasks): add typesense indexing
2023-08-28 11:11:30 +02:00
kolaente
693a77ae51
fix(user): don't prevent deleting a user if their default project was shared
...
Resolves https://kolaente.dev/vikunja/api/issues/1595
2023-08-25 15:14:25 +02:00
kolaente
49d8713388
fix: typo
2023-08-24 11:16:07 +02:00
kolaente
1b9c4204a8
fix(reminders): make sure reminders are only sent once per user
...
Previously, when a user was creator and assigned to a task, they would get two reminder notifications for the same task. This was caused by Vikunja first fetching all creators and then all assignees and not removing duplicates from that list.
Related: https://community.vikunja.io/t/duplicate-email-reminders/1505/3
2023-08-24 10:47:17 +02:00
kolaente
5e8084c194
fix(project): duplicating a project should not create two backlog buckets
...
Resolves https://community.vikunja.io/t/when-duplicating-a-project-the-resulting-project-has-an-extra-bucket/1524
2023-08-23 16:19:42 +02:00
kolaente
acb03c430e
fix(user): allow deleting a user if they have a default project
...
Resolves https://github.com/go-vikunja/api/issues/78
2023-08-23 16:10:51 +02:00
kolaente
40037f25f2
fix(user): don't crash when attempting to change a user's password
...
Resolves https://kolaente.dev/vikunja/api/issues/1587
Resolves https://github.com/go-vikunja/api/issues/79
2023-08-23 15:56:18 +02:00
kolaente
86f25f253b
fix(project): duplicate project into parent project
2023-07-07 12:56:15 +02:00
kolaente
b5194624e0
fix: don't try to load subscriptions for nonexistent projects
2023-07-03 18:18:13 +02:00
kolaente
32689531ec
chore(docs): move login and register routes to auth category in api docs
2023-07-03 18:10:01 +02:00
kolaente
117c569721
fix(projects): return subprojects which were shared from another user
2023-07-03 11:45:29 +02:00
kolaente
895263f054
fix(filters): sorting tasks from filters
...
Resolves https://community.vikunja.io/t/filter-table-view-not-sorting/1416
2023-06-21 14:59:40 +02:00
renovate
1dc9c50d64
fix(deps): update module github.com/imdario/mergo to v1 ( #1559 )
...
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1559
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2023-06-20 10:02:21 +00:00
kolaente
04e2c51fac
feat: allow saving frontend settings via api
2023-06-11 17:49:14 +02:00
cernst
4a4ba041e0
chore: remove reminderDates after frontend is migrated to reminders ( #1448 )
...
Co-authored-by: ce72 <christoph.ernst72@googlemail.com>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/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
kolaente
d83e3a0a03
chore: remove cache options
...
Cache was not working correctly, added more complexity and actually made response times slower. Because of this, I'm removing all cache options until we figure out a better solution.
Resolves https://kolaente.dev/vikunja/api/issues/1496
Resolves https://kolaente.dev/vikunja/api/issues/907
2023-06-08 17:05:36 +02:00
kolaente
72e0e22152
feat(kanban): return the total task count per bucket
2023-06-08 16:56:05 +02:00
kolaente
ef94e0cf86
feat(projects): don't allow deleting or archiving the default project
2023-06-07 21:29:46 +02:00
kolaente
ad0690369f
fix: lint
2023-06-07 21:00:12 +02:00
kolaente
ebfb3f9aaa
fix(filter): don't try to get the real subscription for a saved filter project
2023-06-07 20:41:59 +02:00
kolaente
4ed2d305f0
fix(task): don't build partial task identifier
2023-06-07 20:33:18 +02:00
kolaente
7b7a914560
fix(test): use correct filter id
2023-06-07 20:30:28 +02:00
kolaente
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
kolaente
e66344c21e
fix(task): don't try to return a project identifier if there is no project
2023-06-07 20:29:35 +02:00
kolaente
7755b9cd49
fix(projects): delete project in the correct order
2023-06-07 20:28:36 +02:00
kolaente
67825425a4
fix(filters): return all filters with all projects, not grouped under a pseudo project
2023-06-07 18:55:36 +02:00
kolaente
69bd023b62
fix(tasks): return a correct task identifier if the list does not have a good one set
2023-06-07 18:17:08 +02:00
kolaente
1a840c8b87
fix(tasks): make sure task deleted notification actually has information about the deleted task
2023-06-07 18:14:20 +02:00
kolaente
e3842b6df7
fix(projects): reset pagination limit when fetching subprojects
2023-06-06 17:24:27 +02:00
kolaente
e17b63b920
fix: lint
2023-06-05 19:14:26 +02:00
kolaente
d758bdc5e2
fix(projects): don't try to share for nonexisting namespace
2023-06-05 18:12:12 +02:00
kolaente
d68338b649
fix(docs): clarify error codes in swagger docs
...
Resolves https://kolaente.dev/vikunja/api/issues/1518
2023-05-30 21:37:40 +02:00
renovate
8c3ef34f75
fix(deps): update github.com/vectordotdev/go-datemath digest to 640a500 ( #1532 )
...
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1532
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2023-05-30 18:11:31 +00:00
kolaente
b56e45d743
fix: use rewrite when hosting frontend files via the api
...
Resolves https://kolaente.dev/vikunja/api/issues/1531
2023-05-30 18:56:37 +02:00
kolaente
a51bbd1159
fix: don't get favorite task projects filter multiple times
2023-05-24 15:52:33 +02:00
kolaente
4b00f224d9
fix: reminder fixture
2023-05-24 15:52:33 +02:00
kolaente
db3c7aa8b0
fix: make sure projects are correctly sorted
2023-05-24 15:52:33 +02:00
kolaente
353279cbff
fix: fetch all tasks for all projects
2023-05-24 15:52:33 +02:00
kolaente
3b0935d033
docs: remove all traces of namespaces
2023-05-24 15:52:33 +02:00
kolaente
9011894a29
feat: check for cycles when creating or updating a project's parent
2023-05-24 15:52:33 +02:00
kolaente
edcb806421
feat: remove ChildProjects project property
2023-05-24 15:52:33 +02:00
kolaente
f2d943f5c4
fix: add missing error code
2023-05-24 15:52:33 +02:00
kolaente
35964ce4a6
fix(projects): recalculate project's position after dragging when position would be 0
2023-05-24 15:52:33 +02:00
kolaente
a8b76772ff
fix(migration): revert wrongly changed url
2023-05-24 15:52:33 +02:00
kolaente
53b2ade5bb
feat(projects): return a favorites pseudo project when the user has favorite tasks
2023-05-24 15:52:32 +02:00
kolaente
b482664d82
fix(projects): don't allow making a project child of itself
2023-05-24 15:52:32 +02:00
kolaente
aafcb0bac4
fix(projects): don't return child projects twice
2023-05-24 15:52:32 +02:00
kolaente
0110f93313
feat: make the new inbox project the default
2023-05-24 15:52:32 +02:00
kolaente
f1cbe50605
fix: rename project receiver variable
2023-05-24 15:52:32 +02:00
kolaente
746ac1098f
fix(test): adjust fixture bucket and list ids
2023-05-24 15:52:32 +02:00
kolaente
d7396fac57
fix(test): adjust fixture id
2023-05-24 15:52:32 +02:00
kolaente
3b00a5c200
fix(test): fixtures
2023-05-24 15:52:32 +02:00
kolaente
a21bff3ffb
fix: compile errors
2023-05-24 15:52:32 +02:00
kolaente
ebc3dd2b3e
fix: lint errors
2023-05-24 15:51:57 +02:00
kolaente
017f771783
chore(test): show table content when db assertion failed
2023-05-24 15:51:56 +02:00
kolaente
abe5f72493
fix(migration): enable insert from structure work recursively
2023-05-24 15:51:56 +02:00
kolaente
4b55e2ce03
fix(migration): make file migration work with new structure
2023-05-24 15:51:56 +02:00
kolaente
2f81791735
chore(export): remove unused events
2023-05-24 15:51:56 +02:00
kolaente
8235c63f60
fix(tests): task collection fixtures
2023-05-24 15:51:56 +02:00
kolaente
03b7fa6dd3
fix(tests): subscription test fixtures
2023-05-24 15:51:56 +02:00
kolaente
5e6bff20f8
fix(tests): task permissions from parents
2023-05-24 15:51:56 +02:00
kolaente
8e56fe558a
fix(tests): adjust parent projects
2023-05-24 15:51:56 +02:00
kolaente
154ac61d7c
fix(projects): properly check if a user or link share is allowed to create a new project
2023-05-24 15:51:56 +02:00
kolaente
03eb4ecd07
fix(tests): permission tests for parent projects
2023-05-24 15:51:56 +02:00
kolaente
d4e644e91e
chore(project): fmt
2023-05-24 15:51:56 +02:00
kolaente
48beb5f382
fix(project): don't allow un-archiving a project when its parent project is archived
2023-05-24 15:51:56 +02:00
kolaente
0cd633981a
fix(project): recursively get all users from all parent projects
2023-05-24 15:51:56 +02:00
kolaente
19f69419f7
fix(tasks): task relation test
2023-05-24 15:51:55 +02:00
kolaente
6bb42ced9d
fix(tasks): read all tests
2023-05-24 15:51:55 +02:00
kolaente
3b837a472b
fix(migration): remove wunderlist leftovers
2023-05-24 15:51:55 +02:00
kolaente
537ba60f2d
fix(tasks): get all tasks from parent projects
2023-05-24 15:51:55 +02:00
kolaente
ceaa9c0e03
feat(subscriptions): make sure all subscriptions are inherited properly
2023-05-24 15:51:55 +02:00
kolaente
afe756e4c1
fix(tests): make the tests compile again
2023-05-24 15:51:55 +02:00
kolaente
f4fc431b6f
fix(projects): permission check now works
2023-05-24 15:51:55 +02:00
kolaente
438f5c8e12
fix(projects): don't check if new projects are archived
2023-05-24 15:51:55 +02:00
kolaente
3e8d1b3667
chore(projects) use a slice again
2023-05-24 15:51:55 +02:00
kolaente
18b9ff8512
feat(projects): check parent project when checking archived status
2023-05-24 15:51:55 +02:00
kolaente
5e2567645a
feat(projects): check all parent projects for permissions
2023-05-24 15:51:55 +02:00
kolaente
d799915e78
feat(projects): get all projects recursively
2023-05-24 15:51:55 +02:00
kolaente
4c698dc7c7
fix: typo
2023-05-24 15:51:55 +02:00
kolaente
e93a5ff11f
fix: rename after rebase
2023-05-24 15:51:54 +02:00
kolaente
d79c393e5b
fix: make it compile again
2023-05-24 15:51:54 +02:00
kolaente
5d02d93d31
fix(tasks): don't check for namespaces in filters
2023-05-24 15:51:54 +02:00
kolaente
7c448c88a8
fix(project): don't check for namespaces in overdue reminders
2023-05-24 15:51:54 +02:00
kolaente
906574adc9
fix(project): remove comments, clarifications, notifications about namespaces
2023-05-24 15:51:54 +02:00
kolaente
d794a2c5ca
fix(project): remove namespaces checks
2023-05-24 15:51:54 +02:00
kolaente
8cff813e9f
fix(project): remove namespaces from creating projects
2023-05-24 15:51:54 +02:00
kolaente
2dcd6451a4
fix(project): remove namespaces from getting projects
2023-05-24 15:51:54 +02:00
kolaente
ac0d84a7d8
feat(migration): ignore namespace changes
2023-05-24 15:51:54 +02:00
kolaente
386e218b95
feat(migration): use new structure for migration
2023-05-24 15:51:54 +02:00
kolaente
fef253312c
feat(projects): cleanup namespace leftovers
2023-05-24 15:51:54 +02:00
kolaente
16de7cd591
feat(projects): remove namespaces
2023-05-24 15:51:54 +02:00
kolaente
0795828a9f
feat(projects): add parent project, migrate namespaces
2023-05-24 15:51:54 +02:00
kolaente
47c2da7f18
feat: rename lists to projects
2023-05-24 15:51:53 +02:00
kolaente
fc73c84bf2
feat: rename lists to projects
2023-05-24 15:51:53 +02:00
kolaente
87ed68e4c8
fix(migration): remove wunderlist leftovers
2023-05-24 15:51:53 +02:00
kolaente
50c922b7d1
fix: lint
2023-05-24 15:51:53 +02:00
kolaente
96a0f5e169
feat: rename lists to projects
2023-05-24 15:51:53 +02:00
kolaente
359d0512cc
fix: upgrade jwt v5
2023-05-23 16:37:16 +02:00
kolaente
7d9e8bd150
fix(cli): rename user project command
2023-05-10 22:37:37 +02:00
kolaente
7d8c42ab98
fix(migration): remove unused is_deleted flag from Todoist api response
...
Related discussion: https://community.vikunja.io/t/importing-tasks-from-todoist/322
2023-05-08 15:32:27 +02:00
kolaente
7ad256f6cd
fix: correctly pass unix socket to xorm
2023-04-17 19:39:38 +02:00
kolaente
0a6bbc2efd
fix: using mysql via a socket
2023-04-17 10:48:59 +00:00
kolaente
aa43127e52
fix: provide a proper error message when viewing a link share with an invalid token
2023-04-17 11:08:38 +02:00
kolaente
10f71c29b2
fix(saved filters): don't let query parameters override saved sorting parameters
...
Resolves https://kolaente.dev/vikunja/frontend/issues/3380
2023-04-14 11:01:31 +02:00
kolaente
2dad404217
fix: typo in email template
2023-04-14 10:29:54 +02:00
Dominik Pschenitschni
eb3b4e9ed9
fix(CalDAV): naming
2023-04-11 11:21:40 +00:00
Dominik Pschenitschni
5856f21f31
chore: fix comment url
2023-04-11 11:40:06 +02:00
kolaente
9bf535d06f
fix: remove old saved openid provider settings from cache when starting Vikunja
...
Resolves https://kolaente.dev/vikunja/api/issues/1487
2023-04-10 13:32:20 +02:00
kolaente
47e42238ef
fix: make sure Vikunja is buildable without swagger docs present
2023-04-06 12:11:31 +02:00
Dominik Pschenitschni
cca430810d
fix(image): json type of struct property ( #1469 )
...
Co-authored-by: Dominik Pschenitschni <mail@celement.de>
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/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
Dominik Pschenitschni
f76bb2b4a9
fix: align task ID param
2023-04-05 12:14:10 +00:00
Dominik Pschenitschni
7ada82ea92
fix: align namespaceID param
2023-04-05 12:14:10 +00:00
Dominik Pschenitschni
cd90db3117
chore: fix spelling
2023-04-05 12:14:10 +00:00
Dominik Pschenitschni
b6d5605ef6
fix: align "ID" param for Delete and Update method of Task model
2023-04-05 12:14:10 +00:00
Dominik Pschenitschni
ac377a7a5d
fix: align "otherTaskID" param for Delete method of TaskRelation model
2023-04-05 12:14:10 +00:00
kolaente
c45ad112a2
fix(migration): don't try to fetch task details of tasks whose projects are deleted
2023-04-04 11:24:59 +02:00
kolaente
84933c08cc
feat(users): don't hide user email if it was the search request
2023-04-03 19:41:20 +02:00
kolaente
dff4e01327
fix: ILIKE helper
2023-04-03 19:19:51 +02:00
kolaente
a7231e197e
feat: allow to find users with access to a project more freely
...
Related to https://kolaente.dev/vikunja/frontend/issues/2196
2023-04-03 18:49:04 +02:00
WofWca
eb93ccb827
chore(docs): add info about `/buckets` sorting
2023-04-03 05:20:42 +00:00
Dominik Pschenitschni
8edbca39cf
fix: accept for migrations
2023-04-03 05:20:18 +00:00
Dominik Pschenitschni
441722372a
feat: add token example
2023-04-03 05:20:01 +00:00
Dominik Pschenitschni
4f7d69a108
fix: docs auth openID method
2023-04-03 05:19:32 +00:00
Dominik Pschenitschni
fc2cc4a155
fix: spelling
2023-04-03 05:19:08 +00:00
Dominik Pschenitschni
cf7423fc1a
fix(api): license ( #1457 )
...
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1457
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-02 19:34:06 +00:00
kolaente
efa24cec44
feat: generate swagger docs at build time
2023-04-02 16:52:54 +02:00
cernst
1cffef6908
fix(caldav): Incoming tasks do not get correct time zone ( #1455 )
...
Dates from tasks.org may be formatted like DUE;TZID=Europe/Berlin:20230402T150000
After this fix the parameter TZID is no longer ignored and the Vikunja task gets a DueDate of 13:00 UTC, which corresponds to 15:00 in Europe/Berlin. Before this fix, the time was parsed to 15:00 UTC.
Resolves https://kolaente.dev/vikunja/api/issues/1453
Co-authored-by: ce72 <christoph.ernst72@googlemail.com>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1455
Reviewed-by: konrad <k@knt.li>
Co-authored-by: cernst <ce72@noreply.kolaente.de>
Co-committed-by: cernst <ce72@noreply.kolaente.de>
2023-04-02 12:31:31 +00:00
cernst
f45648a6f7
feat(caldav): Sync Reminders / VALARM ( #1415 )
...
Co-authored-by: ce72 <christoph.ernst72@googlemail.com>
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1415
Reviewed-by: konrad <k@knt.li>
Co-authored-by: cernst <ce72@noreply.kolaente.de>
Co-committed-by: cernst <ce72@noreply.kolaente.de>
2023-04-01 11:09:11 +00:00
cernst
3f5252dc24
feat: Add relative Reminders ( #1427 )
...
Partially resolves #1416
Co-authored-by: ce72 <christoph.ernst72@googlemail.com>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/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
kolaente
823c817b1f
fix(import): don't try to load a nonexistant attachment file
2023-03-26 15:42:25 +02:00
kolaente
f4e12dab27
fix: add missing license header
2023-03-25 12:28:56 +00:00
kolaente
f0dcce702f
fix: lint
2023-03-25 12:28:56 +00:00
kolaente
9590b82c11
feat: add logging options to mailer settings
2023-03-25 12:28:56 +00:00
cernst
5961e56d16
fix(caldav): Do not create label if it exists by title ( #1444 )
...
Resolves https://kolaente.dev/vikunja/api/issues/1435
Co-authored-by: ce72 <christoph.ernst72@googlemail.com>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1444
Co-authored-by: cernst <ce72@noreply.kolaente.de>
Co-committed-by: cernst <ce72@noreply.kolaente.de>
2023-03-24 18:34:48 +00:00
kolaente
4d5ad8f50e
chore(deps): update golangci-lint to 1.52.1
2023-03-24 19:17:45 +01:00
WofWca
6aadaaaffc
chore: rename files (fix typo)
2023-03-21 19:02:05 +00:00
kolaente
8916de0366
fix: update redoc
2023-03-16 19:08:18 +01:00
kolaente
7a9611c2da
chore: cleanup
2023-03-13 14:28:36 +01:00
kolaente
7cab3a77a9
fix(migration): rename TickTick migration
2023-03-13 14:28:25 +01:00
kolaente
77ad90d53e
fix(migration): remove wunderlist leftovers
2023-03-13 14:28:20 +01:00
kolaente
55410ea73d
chore: generate swagger docs
2023-03-13 14:28:19 +01:00
kolaente
e4f841cf6a
fix(tasks): sql for overdue reminders
2023-03-13 14:28:19 +01:00
kolaente
2940eae1aa
fix(migration): use correct struct
2023-03-13 14:28:19 +01:00
kolaente
0a3fdc0344
fix: users_lists name in migration
2023-03-13 14:28:19 +01:00
kolaente
06f1d2e912
fix: test fixtures
2023-03-13 14:28:07 +01:00
kolaente
61a3380a94
fix: trello import tests
2023-03-13 14:28:07 +01:00
kolaente
fb818ea186
fix: test import
2023-03-13 14:28:06 +01:00
kolaente
7e53a21407
fix: rename incorrectly named ProjectUsers method
2023-03-13 14:28:06 +01:00
kolaente
8f4abd2fe8
feat: rename all list files
2023-03-13 14:28:06 +01:00
kolaente
2fba7bdf02
feat: migrate lists to projects in db identifiers
2023-03-13 14:28:06 +01:00
kolaente
349e6a5905
feat: rename lists to projects
2023-03-13 14:28:06 +01:00
kolaente
c0c523f0a8
fix: don't send bad request errors to sentry
2023-03-13 10:52:52 +01:00
kolaente
672fb35bcb
fix: check if usernames contain spaces when creating a new user
2023-03-12 15:02:34 +01:00
kolaente
9f14466dfa
fix: lint
2023-03-05 22:24:29 +01:00
kolaente
077baba2ea
fix: lint
2023-03-05 14:34:34 +01:00
kolaente
066c26f83e
fix(caldav): make sure only labels where the user has permission to use them are used
...
Follow-up for a62b57ac62
2023-03-05 14:03:09 +01:00
cernst
a62b57ac62
feat(caldav): import caldav categories as Labels ( #1413 )
...
Resolves #1274
Co-authored-by: ce72 <christoph.ernst72@googlemail.com>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1413
Reviewed-by: konrad <k@knt.li>
Co-authored-by: cernst <ce72@noreply.kolaente.de>
Co-committed-by: cernst <ce72@noreply.kolaente.de>
2023-03-02 15:25:26 +00:00
kolaente
534d04a1db
fix(task): correctly load tasks by id and uuid in caldav
...
Partially reverts 1afc72e190
2023-03-01 22:18:59 +01:00
cernst
1afc72e190
fix: Make sure labels are always exported as caldav ( #1412 )
...
Authored-by: ce72 <christoph.ernst72@googlemail.com>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1412
Reviewed-by: konrad <k@knt.li>
Co-authored-by: cernst <ce72@noreply.kolaente.de>
Co-committed-by: cernst <ce72@noreply.kolaente.de>
2023-02-28 10:42:57 +00:00
cernst
53197b85e3
feat(caldav): Export Labels to Caldav ( #1409 )
...
Partially resolves https://kolaente.dev/vikunja/api/issues/1274
Co-authored-by: ce72 <christoph.ernst72@googlemail.com>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1409
Reviewed-by: konrad <k@knt.li>
Co-authored-by: cernst <ce72@noreply.kolaente.de>
Co-committed-by: cernst <ce72@noreply.kolaente.de>
2023-02-27 11:22:42 +00:00
kolaente
168287923f
fix(migration): make sure trello checklists are properly imported
2023-02-24 12:13:18 +01:00
kolaente
ca6d1946da
fix(tasks): make sure tasks are sorted by position before recalculating them
2023-02-23 17:43:23 +01:00
kolaente
1efa1696bf
fix(tasks): recalculate position of all tasks in a list or bucket when it would hit 0
2023-02-23 16:00:41 +01:00
kolaente
da9d25cf72
feat: disable events log by default
...
BREAKING CHANGE: events log level is now off unless explicitly enabled
2023-02-15 10:44:02 +01:00
kolaente
20a5994b17
fix: lint
2023-02-14 20:37:16 +01:00
kolaente
fceb5dae0f
fix(task): make sure the task's last updated timestamp is always updated when releated entities changed
2023-02-14 20:09:05 +01:00
kolaente
58da38adb6
fix(migration): don't try to add nonexistent tasks as related
...
Discussion: https://community.vikunja.io/t/todoist-migration-fails-after-51-iterations-19-minutes/1137
2023-02-07 17:06:04 +01:00
kolaente
fdbe110945
chore(deps): upgrade golangci-lint to 1.51.0
2023-02-02 11:16:07 +01:00
clos
afdceb0aff
fix(list): when list background is removed, delete file from file system and DB ( #1372 )
...
Co-authored-by: testinho.testador <testinho.testador@noreply.kolaente.de>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1372
Reviewed-by: konrad <k@knt.li>
Co-authored-by: clos <clos@noreply.kolaente.de>
Co-committed-by: clos <clos@noreply.kolaente.de>
2023-02-01 11:38:23 +00:00
renovate
ef8e97f95e
fix(deps): update module github.com/go-redis/redis/v8 to v9 ( #1377 )
...
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1377
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2023-01-31 16:45:58 +00:00
clos
f660badc3d
feat(background): add Last-Modified header ( #1376 )
...
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1376
Co-authored-by: clos <clos@noreply.kolaente.de>
Co-committed-by: clos <clos@noreply.kolaente.de>
2023-01-29 22:07:46 +00:00
kolaente
491a142378
fix: lint
2023-01-29 22:42:24 +01:00
kolaente
40411e4100
chore(task): add test to check if a task's reminders are duplicated
2023-01-26 16:06:49 +01:00
kolaente
682123a9c9
fix(migration): todoist pagination now avoids too many loops
2023-01-24 22:27:57 +01:00
kolaente
c59e006453
fix(migration): remove unused todoist parameters
2023-01-24 18:44:33 +01:00
kolaente
1971df7b84
fix(migration): use the proper authorization method for Todoist's api, fix issues with importing deleted items
2023-01-24 15:45:56 +01:00
kooshi
31a1452839
fix(migration): import TickTick data by column name instead of index ( #1356 )
...
Resolves: https://github.com/go-vikunja/api/issues/61
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1356
Co-authored-by: kooshi <kolaente.dev@pat.de.com>
Co-committed-by: kooshi <kolaente.dev@pat.de.com>
2023-01-24 13:58:18 +00:00
kolaente
530bb0a63c
fix(user): make reset the user's name to empty actually work
2023-01-23 18:30:01 +01:00
kolaente
7bf7a13bb9
fix(reminders): prevent duplicate reminders when updating task details
2023-01-23 18:14:15 +01:00
kolaente
82f4a5ad50
fix(export): ignore file size for export files
2023-01-11 18:56:30 +01:00
kolaente
04614614fe
fix(tasks): don't set a repeating task done when moving it do the done bucket
2023-01-11 18:46:24 +01:00
Rein
4b5e65d4c2
fix(mailer): forcessl config ( #60 )
...
Co-authored-by: Rein-R3 <rein@reinsan.top>
Reviewed-At: https://github.com/go-vikunja/api/pull/60
2023-01-09 12:39:43 +01:00
konrad
ef1d1e2b20
feat(migrators): remove wunderlist ( #1346 )
...
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1346
2022-12-29 17:12:39 +00:00
renovate
c6429c8b13
fix(deps): update module github.com/labstack/echo/v4 to v4.10.0 ( #1343 )
...
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1343
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-12-28 10:32:12 +00:00
kolaente
897a6e5d5c
fix(caldav): use const for repeat modes
2022-12-24 14:34:59 +01:00
kolaente
194b88e2eb
fix(tasks): don't reset the kanban bucket when updating a task and not providing one
...
Resolves https://github.com/go-vikunja/api/issues/56
2022-12-24 14:30:34 +01:00
kolaente
c5327845ee
feat(caldav): add support for repeating tasks
...
Resolves https://github.com/go-vikunja/api/issues/57#issuecomment-1364373103
2022-12-24 12:19:51 +01:00
kolaente
ea1d06bda6
fix(list): return lists for a namespace id even if that namespace is deleted
...
This fixes a problem where a namespace was deleted and its list were not.
Forum discussion: https://community.vikunja.io/t/list-deleted-but-tasks-showing-up-as-archived-and-overdue/1025
2022-12-23 17:48:21 +01:00
kolaente
6a97a214a3
fix(migration): use Todoist v9 api to migrate tasks from them
...
Discussion: https://community.vikunja.io/t/importing-tasks-from-todoist/322/7
2022-12-18 20:38:58 +01:00
viehlieb
a79b1de2d0
feat: provide logout url for openid providers ( #1340 )
...
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1340
Co-authored-by: viehlieb <pf@pragma-shift.net>
Co-committed-by: viehlieb <pf@pragma-shift.net>
2022-12-18 18:26:28 +00:00
renovate
e9ce930230
fix(deps): update module github.com/swaggo/swag to v1.8.9 ( #1327 )
...
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1327
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-12-18 16:43:30 +00:00
kolaente
f93317bf5d
fix(caldav): add Z suffix to dates make it clear dates are in UTC
2022-12-04 21:01:04 +01:00
kolaente
b8c3b570a4
fix(restore): check if we're really dealing with a string
2022-12-02 14:49:32 +01:00
kolaente
1f2eb57602
fix(reminders): make sure an overdue reminder is sent when there is only one overdue task
2022-12-01 18:41:24 +01:00
kolaente
51911a8868
fix(reminders): overdue tasks join condition
2022-12-01 18:30:05 +01:00
kolaente
47aae115df
fix(tasks): don't include undone overdue tasks from archived lists or namespaces in notification mails
...
Resolves https://kolaente.dev/vikunja/api/issues/1324
2022-12-01 18:07:30 +01:00
kolaente
fbc4b91e0f
fix(dump): make sure null dates are properly set when restoring from a dump
2022-12-01 17:53:02 +01:00
kolaente
8c67be558f
fix: restore notifications table from dump when it already had the correct format
2022-12-01 17:33:00 +01:00
renovate
f47faf577a
fix(deps): update module github.com/wneessen/go-mail to v0.3.5 ( #1325 )
...
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1325
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-11-21 11:56:19 +00:00
kolaente
96b5e93379
fix: swagger docs
2022-11-11 15:34:26 +01:00
kolaente
33e27c66a0
fix(filters): try parsing invalid dates like 2022-11-1
2022-11-11 11:05:21 +01:00
kolaente
986129a784
fix(filters): try parsing dates without time
2022-11-11 10:54:50 +01:00
kolaente
3d7605591e
fix(filters): try to parse date filter fields of the provided dates are not valid iso dates
...
Resolves https://community.vikunja.io/t/due-date-saved-filter-doesnt-seem-to-work/966/12
2022-11-10 16:39:44 +01:00
kolaente
811514855b
fix(metrics): make currently active users actually work
2022-11-09 21:12:17 +01:00
kolaente
a9e6776abf
fix(tasks): allow sorting by task index
2022-11-09 14:43:31 +01:00
kolaente
f9b48ec091
fix(filter): only check for 0 values in filter fields with numeric values
2022-11-08 17:03:07 +01:00
kolaente
3b0b4a8460
fix(task): duplicate reminders when adding different ones between winter / summer time
...
Resolves F-889
2022-11-08 16:50:19 +01:00
kolaente
2ef5e54588
fix(filter): also check for 0 values if the filter should include nulls
...
Resolves https://community.vikunja.io/t/due-date-saved-filter-doesnt-seem-to-work/966
2022-11-08 16:27:16 +01:00
konrad
641a9da93d
fix: usage with postgres over unix socket ( #1308 )
...
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1308
2022-11-04 12:25:06 +00:00
kolaente
622f2f0562
fix: look for the default bucket based on the position instead of the index
2022-11-03 15:10:20 +01:00
kolaente
c495096444
fix: make sure task indexes are calculated correctly when moving tasks between lists
...
Resolves https://github.com/go-vikunja/api/issues/52
2022-11-02 17:40:52 +01:00
kolaente
9fc08a0790
fix(lists): return correct max right for lists where the user has created the namespace
2022-10-25 18:54:11 +02:00
kolaente
f5a33478f2
fix(migration): make sure importing works when the csv file has errors and don't try to parse empty values as dates
2022-10-09 22:58:08 +02:00
kolaente
0d044997df
fix(migration): expose ticktick migrator to /info
2022-10-09 22:45:01 +02:00
kolaente
5e40f4ec89
fix(migration): properly parse duration
2022-10-09 22:44:57 +02:00
kolaente
5871d32c2d
feat(migration): generate swagger docs
2022-10-09 22:44:54 +02:00
kolaente
3af9855148
feat(migration): add routes for TickTick migrator
2022-10-09 22:44:49 +02:00
kolaente
e5394d6d4b
feat(migration): add TickTick migrator
2022-10-09 22:44:32 +02:00
kolaente
b8769c746c
feat: allow a user to remove themselves from a team
2022-10-09 16:39:40 +02:00
kolaente
2fc690a783
fix: make sure list subscriptions are set correctly when their namespace has a subscription already
2022-10-07 14:18:36 +02:00
kolaente
008908eb49
fix: make sure a user can only be assigned once to a task
...
See https://community.vikunja.io/t/task-can-be-assigned-twice-or-more-to-the-same-user/883
2022-10-06 18:22:19 +02:00
kolaente
631a265d2d
feat: add proper checks and errors to see if an attachment belongs to the task it's being used as cover image in
2022-10-05 15:12:29 +02:00
kolaente
e113fe34d0
chore: generate swagger docs
2022-10-05 15:12:29 +02:00
kolaente
0eb47096db
fix: make cover image id actually updatable
2022-10-05 15:12:29 +02:00
kolaente
0e1904d50b
fix: make cover image id actually updatable
2022-10-05 15:12:29 +02:00
kolaente
b4b25499f2
feat(task): add cover image attachment id property
2022-10-05 15:12:29 +02:00
kolaente
5a40100ac5
feat: provide default user settings for new users via config
2022-10-02 11:00:58 +02:00
kolaente
aed560339b
fix(todoist): properly import all done tasks
2022-10-01 19:29:05 +02:00
kolaente
c076f73a87
fix: make sure user searches are always case-insensitive
...
See https://kolaente.dev/vikunja/frontend/issues/2196#issuecomment-33698
Resolves https://github.com/go-vikunja/frontend/issues/29
2022-10-01 17:39:08 +02:00
konrad
53419180be
feat: upgrade xorm ( #1197 )
...
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1197
2022-10-01 15:10:00 +00:00
renovate
c5bd09702a
chore(deps): update dependency golang to v1.19 ( #1228 )
...
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1228
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-10-01 15:05:12 +00:00
kolaente
fcb205a842
fix: use connection string for postgres
2022-10-01 16:57:06 +02:00
kolaente
b1fd13bbcb
feat: upgrade xorm
2022-10-01 16:25:29 +02:00
kolaente
878d19beb8
fix: make sure pseudo namespaces and lists always have the current user as owner
2022-10-01 15:19:46 +02:00
kolaente
96ed1e33e3
fix: don't allow setting a list namespace to 0
...
See https://github.com/go-vikunja/app/issues/13
2022-10-01 15:02:17 +02:00
kolaente
45defebcf4
fix: tasks with the same assignee as doer should not appear twice in overdue task mails
2022-09-30 18:35:40 +02:00
Luca Bernstein
3adfeb3b34
fix(namespaces): add list subscriptions ( #1254 )
...
Add list subscriptions to namespaces call to enable frontend to show subscription state correctly.
Resolves https://github.com/go-vikunja/frontend/issues/75
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1254
Reviewed-by: konrad <k@knt.li>
Co-authored-by: Luca Bernstein <luca@lucabernstein.com>
Co-committed-by: Luca Bernstein <luca@lucabernstein.com>
2022-09-29 09:49:24 +00:00
Luca Bernstein
54b7f7127c
fix(caldav): no failed login emails for tokens ( #1252 )
...
Prevent Vikunja from sending mail notifications for failed login attempts if CalDav token is used.
Before, as the provided password value was tested against the user password regardless of whether it was a CalDav token, it triggered a failed login attempt email every three times.
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1252
Reviewed-by: konrad <k@knt.li>
Co-authored-by: Luca Bernstein <luca@lucabernstein.com>
Co-committed-by: Luca Bernstein <luca@lucabernstein.com>
2022-09-27 15:12:37 +00:00
Luca Bernstein
25609db567
fix(mail): pass mail server timeout ( #1253 )
...
Fix error log for mailserver closing logic, as default timeout of 15 seconds of mail client package used triggers before our logic leading to error on close.
Resolves https://github.com/go-vikunja/api/issues/48
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1253
Reviewed-by: konrad <k@knt.li>
Co-authored-by: Luca Bernstein <luca@lucabernstein.com>
Co-committed-by: Luca Bernstein <luca@lucabernstein.com>
2022-09-26 16:09:39 +00:00
Arie
090c67138a
fix: preserve dates for repeating tasks ( #47 )
...
Reviewed-At: https://github.com/go-vikunja/api/pull/47
2022-09-16 17:20:08 +02:00
kolaente
aaeffe925e
fix(caldav): make sure duration and due date follow rfc5545
...
Related discussion: https://community.vikunja.io/t/error-with-davx-synchronization/810
2022-09-07 15:39:40 +02:00
kolaente
c19479757a
fix: properly log extra message
2022-09-01 14:19:00 +02:00
kolaente
beb4d07cf9
fix: don't override saved filters
2022-08-17 17:03:01 +02:00
kolaente
10ded56f66
fix: don't fail a migration if there is no filter saved
2022-08-17 12:27:03 +02:00
kolaente
0c8bed4054
fix: lint
2022-08-16 21:27:32 +00:00
kolaente
9ddd7f4889
fix: only list all users when allowed
2022-08-16 21:27:32 +00:00
kolaente
3047ccfd4a
feat: add migration to change user ids to usernames in saved filters
2022-08-16 21:27:32 +00:00
kolaente
7f28865903
feat: search by assignee username instead of id
2022-08-16 21:27:32 +00:00
kolaente
8bf0f8bb57
fix: make sure generating blur hashes for bmp, tiff and webp images works
2022-08-15 23:37:05 +02:00
kolaente
3ccc6365a6
fix: prevent moving a list into a pseudo namespace
2022-08-15 23:25:39 +02:00
kolaente
d47edac376
feat(mail): don't try to authenticate when no username and password was provided
2022-08-03 13:41:42 +02:00
kolaente
77fafd5dc3
fix: lint
2022-08-02 15:07:08 +02:00
kolaente
3688bbde20
fix: don't return email addresses from user search results
2022-08-02 15:02:15 +02:00
kolaente
c51ee94ad1
fix: return all users on a list when no search param was provided
2022-08-02 15:02:00 +02:00
kolaente
8f27e7e619
fix: properly decode params in url
...
Resolves https://kolaente.dev/vikunja/api/issues/1224
2022-08-02 14:50:03 +02:00
kolaente
382a7884be
fix: make sure to use user discoverability settings when searching list users
...
Resolves https://kolaente.dev/vikunja/frontend/issues/2196
2022-08-02 13:26:42 +02:00
kolaente
1feb62cc45
fix: lint
2022-07-31 15:50:38 +02:00
kolaente
dd461746a6
fix: add validation for negative repeat after values
...
Partial fix for https://kolaente.dev/vikunja/frontend/issues/2179
2022-07-21 15:00:28 +02:00
kolaente
0f555b7ec7
fix: reset id sequence when importing a dump from postgres
2022-07-21 14:54:52 +02:00
kolaente
79b31673e2
fix: return 9:00 as default time for reminders if none was set
...
Resolves https://kolaente.dev/vikunja/api/issues/1211
2022-07-19 16:38:48 +02:00
kolaente
6e15d46a93
fix(restore): use the correct initial migration
...
Related to https://kolaente.dev/vikunja/api/issues/1199
2022-07-13 23:44:21 +02:00
kolaente
54348c5891
fix(restore): make sure to reset sequences after importing a dump when using postgres
...
Related to https://kolaente.dev/vikunja/api/issues/1199
2022-07-13 23:43:53 +02:00
kolaente
596d2bf676
fix(restore): properly decode notifications json data
...
Related to https://kolaente.dev/vikunja/api/issues/1199
2022-07-13 23:43:20 +02:00
kolaente
ac92499b7d
fix(caldav): make sure description is parsed correctly when multiline
...
Resolves https://github.com/go-vikunja/api/issues/35
2022-07-13 22:47:25 +02:00
kolaente
b1892eaf63
fix(mail): set server name in tls config so that sending mail works with skipTlsVerify set to false
2022-07-13 19:57:44 +02:00
kolaente
c906fc2b07
fix(mail): don't try to authenticate against the mail server when no credentials are provided
...
Related to https://github.com/go-vikunja/api/issues/34
2022-07-12 15:46:28 +02:00
kolaente
4bb77b5539
fix(mail): don't set a username by default
2022-07-12 11:49:23 +02:00
kolaente
5743a4afe5
fix: properly set tls config for mailer
2022-07-11 16:10:28 +02:00
kolaente
62325de9cd
feat: use actual uuids for tasks
2022-07-11 14:54:33 +02:00
kolaente
5cc4927b9e
fix: add missing error check
2022-07-07 23:23:15 +02:00
kolaente
2b074c60a7
fix(caldav): properly parse durations when returning VTODOs
...
Resolves https://github.com/go-vikunja/frontend/issues/55
2022-07-07 23:20:37 +02:00
kolaente
f5a4c136fb
fix: cycles in tasks array when memory caching was enabled
...
Resolves #1119
2022-07-07 18:34:49 +02:00
kolaente
230478aae9
fix: remove credential escaping for postgres connections to allow for passwords with special characters
...
Resolves https://github.com/go-vikunja/api/issues/22
2022-07-07 18:04:16 +02:00
kolaente
73c4c399e5
feat: use embed fs directly to embed the logo in mails
2022-07-07 15:54:38 +02:00
kolaente
25ffa1bc2e
fix: prevent logging openid provider errors twice
2022-07-07 15:47:37 +02:00
kolaente
4429ba2da1
fix(caldav): make sure the caldav tokens of non-local accounts are properly checked
2022-07-04 18:08:46 +02:00
kolaente
d0e09d69d0
fix: tests
2022-06-30 14:21:17 +00:00
kolaente
f30a9d1038
chore(docs): add new mailer option to docs
2022-06-30 14:21:17 +00:00
kolaente
c62e26b6fe
fix: revert renaming Attachments to Embeds everywhere
2022-06-30 14:21:17 +00:00
kolaente
f4f8450d16
feat: embed the vikunja logo as inline attachment
2022-06-30 14:21:17 +00:00
kolaente
30e0e98f77
feat: migrate away from gomail
2022-06-30 14:21:17 +00:00
kolaente
01271c4c01
feat: allow only the authors of task comments to edit them
2022-06-16 17:38:27 +02:00
kolaente
d837f8a624
fix: add missing migration
2022-06-16 16:56:35 +02:00
kolaente
8869adfc27
feat: add setting to change overdue tasks reminder email time
2022-06-16 16:20:26 +02:00
kolaente
7eb3b96a44
feat: send overdue tasks email notification at 9:00 in the user's time zone
2022-06-12 21:24:28 +02:00
kolaente
2f25b48869
feat: restrict max avatar size
...
resolves #1171
2022-06-12 18:29:12 +02:00
konrad
e52c45d5aa
fix: sort tasks logically and consistent across dbms ( #1177 )
...
This PR changes the behavoir of sorting tasks. Before, tasks were sorted with null values first. Now, null values are always sorted last which is usually what you want.
Partial fix for https://github.com/go-vikunja/frontend/issues/54
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1177
2022-05-30 20:53:58 +00:00
grahammiln
acaa85083f
feat: ability to serve static files ( #1174 )
...
Added the configuration key, `service.staticpath`, to serve files from the configuration path on root (/).
Serving static files allows the api service to also serve the frontend content. This is a simple option for deploying Vikunja without needing any other servers or proxies.
Running a complete instance becomes:
VIKUNJA_SERVICE_STATICPATH=/path/to/frontend ./vikunja
Where `/path/to/frontend` is a copy of Vikunja's frontend static files.
## Implementation
Providing a path, via the configuration or environment, adds a static file middleware to serve the path's contents from root (/).
By default, the configuration path is empty and Vikunja's existing behaviour is unchanged.
Co-authored-by: Graham Miln <graham.miln@dssw.co.uk>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1174
Reviewed-by: konrad <k@knt.li>
Co-authored-by: grahammiln <grahammiln@noreply.kolaente.de>
Co-committed-by: grahammiln <grahammiln@noreply.kolaente.de>
2022-05-23 20:49:28 +00:00
kolaente
f5ebada913
fix: set derived default values only after reading config from file or env
2022-05-23 22:12:15 +02:00
renovate
3ab0ac9f27
fix(deps): update module github.com/swaggo/swag to v1.8.2 ( #1167 )
...
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1167
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-05-15 19:57:00 +00:00
kolaente
9845fcc170
fix: add more methods to figure out the current binary location
2022-05-08 21:54:26 +02:00
tuxthepenguin
4960a498ff
Add client-cert parameters of the Go pq driver to the Vikunja config ( #1161 )
...
Co-authored-by: tuxthepenguin <tux@saturnv.uphus-internal.de>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1161
Reviewed-by: konrad <k@knt.li>
Co-authored-by: tuxthepenguin <tuxthepenguin@noreply.kolaente.de>
Co-committed-by: tuxthepenguin <tuxthepenguin@noreply.kolaente.de>
2022-04-23 15:46:00 +00:00
konrad
e4b50e84a4
feat: add caldav tokens ( #1065 )
...
# Description
This PR adds API routes to create and manage caldav tokens. These tokens can be used instead of a user password - required for users who are using external auth providers and don't have a password.
Fixes #842
Frontend: https://kolaente.dev/vikunja/frontend/pulls/1186
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1065
2022-03-30 18:25:56 +00:00
kolaente
de97fcbd12
fix: lint
2022-03-30 16:36:07 +00:00
kolaente
d3bdafb717
fix: decoding images for blurHash generation
2022-03-30 16:36:07 +00:00
kolaente
6b51fae093
fix: return BlurHash in unsplash search results
2022-03-30 16:36:07 +00:00
kolaente
ba2bdff391
chore: generate swagger docs
2022-03-30 16:36:07 +00:00
kolaente
7fa0865188
fix: lint
2022-03-30 16:36:07 +00:00
kolaente
6df865876d
feat: return BlurHash for unsplash search results
2022-03-30 16:36:07 +00:00
kolaente
2ec7d7a8a8
feat: save BlurHash from unsplash when selecting a photo from unsplash
2022-03-30 16:36:07 +00:00
kolaente
f83b09af59
feat: generate a BlurHash when uploading a new image
2022-03-30 16:36:07 +00:00
kolaente
362706b38d
feat: add migration to create BlurHash strings for all list backgrounds
2022-03-30 16:36:07 +00:00
konrad
0a1d8c9404
feat: add date math for filters ( #1086 )
...
This adds support for relative dates in filters, similar to the ones from [grafana](https://grafana.com/docs/grafana/latest/dashboards/time-range-controls ) or [elasticsearch](https://www.elastic.co/guide/en/elasticsearch/reference/7.3/common-options.html#date-math ).
In short, it allows you to filter for due dates by passing in dates like "now - 7d" to get a date from 7 days ago.
This is a very powerful addition for saved filters as they will allow you to create filters for all kinds of stuff where you previously only could use fixed dates. Now you can for example create a saved filter for "all tasks this week".
Frontend PR: https://kolaente.dev/vikunja/frontend/pulls/1342
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1086
2022-03-27 20:35:04 +00:00
kolaente
ac6818a476
fix: checking for error types
2022-03-27 17:52:33 +02:00
kolaente
5cf263a86f
feat: upgrade golangci-lint to 1.45.2
2022-03-27 16:55:37 +02:00
kolaente
b60c69c5a8
chore: cleanup namespace creation
2022-03-06 17:09:05 +01:00
kolaente
75f74b429e
fix: validate email address when creating a user via cli
2022-03-04 19:58:40 +01:00
kolaente
8bf2254f4b
fix: restoring dumps with no config file saved in them
2022-02-19 17:46:10 +01:00
kolaente
22e3f242a3
fix: disabling logging completely now works
2022-02-19 17:42:32 +01:00
kolaente
8cb92b3924
fix(dump): don't try to save a config file if none was provided and dump vikunja env variables
2022-02-19 11:32:30 +01:00
kolaente
44aaf0a4ec
fix: clarify which config file is used on startup
2022-02-19 11:32:30 +01:00
kolaente
43f1daf40c
fix: microsoft todo migration not importing all tasks
...
Previously, we did not check if a list has more tasks than the ones returned. By default, the Microsoft Graph API only returns 10 tasks. If the user had more they would not get imported.
Now we check if there are more pages with tasks and pull them all in until we have everything.
2022-02-18 20:00:42 +01:00
konrad
1322cb16d7
feat: add long-lived api tokens ( #1085 )
...
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1085
Co-authored-by: konrad <k@knt.li>
Co-committed-by: konrad <k@knt.li>
2022-02-06 13:18:08 +00:00
shilch
f7a06e4644
Enable a list to be moved across namespaces ( #1096 )
...
Co-authored-by: Simon Hilchenbach <simon@hilchenba.ch>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1096
Reviewed-by: konrad <k@knt.li>
Co-authored-by: shilch <simon@hilchenba.ch>
Co-committed-by: shilch <simon@hilchenba.ch>
2022-01-23 12:59:43 +00:00
konrad
61d49c3a56
feat: add time zone setting for reminders ( #1092 )
...
Instead of naeveily checking for all reminders due in the next minute, we now check all reminders in all time zones in the next minutes. This essentially means checking for reminders due in the next 14 or past 12 hours. We then check for each user who would receive a reminder from that result if it is actually due in their time zone.
This should prevent issues where users would get the reminder in the time zone of their server, not in their own.
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1092
Co-authored-by: konrad <k@knt.li>
Co-committed-by: konrad <k@knt.li>
2022-01-16 11:05:56 +00:00
kolaente
a31086a7a9
fix: lint
2021-12-12 16:03:58 +01:00
kolaente
a98119f2d6
feat: save user language in the settings
2021-12-12 15:39:47 +01:00
kolaente
8bb3f8d37c
fix: importing archived lists or namespaces
2021-12-12 13:18:01 +01:00
kolaente
190a9f2a4c
fix: friendly name not getting synced on first login from openid
...
Resolves #874
2021-12-12 12:35:13 +01:00
kolaente
5c88dfe88e
fix: user deletion schedule
2021-12-12 12:29:05 +01:00
kolaente
70e005e7ce
fix: user not actually deleted
2021-12-12 12:28:18 +01:00
kolaente
f581885e65
fix: user deletion reminder emails counting up
...
Resolves #1014
2021-12-12 12:24:42 +01:00
kolaente
72d3c54efd
fix: user deletion never happens
...
Resolves #1024
2021-12-12 12:04:17 +01:00
konrad
73ee696fc3
feat: add marble avatar ( #1060 )
...
This adds the marble avatar from [boring avatars](https://github.com/boringdesigners/boring-avatars ) as an option for user avatars. Each user gets a different one (based on their id).
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1060
Co-authored-by: konrad <k@knt.li>
Co-committed-by: konrad <k@knt.li>
2021-12-07 21:11:23 +00:00
kolaente
fd0d462bf4
fix: importing tasks from todoist without a due time set
...
Resolves #897
2021-11-23 22:29:57 +01:00
kolaente
f8a0a7e953
fix: deleting users with no namespaces
...
resolves #984
2021-11-22 22:34:20 +01:00
Joseph Kavanagh
36bf3d216a
feat: gravatar - Lowercase emails before MD5 hash ( #10 )
2021-11-16 22:10:22 +01:00
kolaente
0b7762590f
fix: lint
2021-11-16 20:37:37 +01:00
kolaente
c3e0e6405a
fix: importing trello attachments
...
Since jan 2021, trello requires authentication to access attachments. This commit passes the required auth headers to make downloading card attachments work.
resolves https://github.com/go-vikunja/api/issues/6
2021-11-14 21:47:51 +01:00
kolaente
57e5d10eee
fix: sorting for saved filters
...
resolves #786
2021-11-14 21:03:55 +01:00
kolaente
88a2cede19
feat: use wallpaper topic for default unsplash background list
2021-11-14 20:47:15 +01:00
kolaente
093d0c65ca
feat: enable rate limit for unauthenticated routes
2021-11-14 20:42:33 +01:00
kolaente
cf05de19b3
fix: updating a list might remove its background
...
resolves #1039
2021-11-13 17:52:14 +01:00
kolaente
2683ef23d5
feat: expose if a user is a local user through the /user endpoint
2021-10-31 13:57:19 +01:00
kolaente
516c812043
feat: expose if a user is a local user through its jwt token
2021-10-31 12:37:31 +01:00
kolaente
9eca971c93
feat: don't require a password for data export from users authenticated with third-party auth
2021-10-31 12:37:08 +01:00
kolaente
8f55af07c9
feat: add more debug logging when deleting users
...
related to #1021
2021-10-27 22:08:31 +02:00
jayden-c
dcb52c00f1
feat: improve account deletion email grammar ( #1006 )
...
Co-authored-by: Jayden Chan <jaydencn7@gmail.com>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1006
Reviewed-by: konrad <k@knt.li>
Co-authored-by: jayden-c <jaydencn7@gmail.com>
Co-committed-by: jayden-c <jaydencn7@gmail.com>
2021-10-16 21:53:33 +00:00
kolaente
50b65a517d
fix: correctly load and pass the user when deleting it
...
Fixes #984
2021-10-16 17:00:48 +02:00
kolaente
d7e47a28d4
fix: don't try to load the namespace of a list if it is a shared list
2021-10-16 16:50:16 +02:00
kolaente
c2b6119434
fix: make sure the full task is available in notifications
2021-10-16 16:38:59 +02:00
stephen-hill
82a3330412
Added the ability to configure the JWT expiry date using a new server.jwtttl config parameter. ( #999 )
...
Co-authored-by: Stephen Hill <stephen@gatekiller.co.uk>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/999
Co-authored-by: stephen-hill <stephen@gatekiller.co.uk>
Co-committed-by: stephen-hill <stephen@gatekiller.co.uk>
2021-10-09 11:02:28 +00:00
ajgon
fb9fa27488
healthcheck endpoint ( #998 )
...
Co-authored-by: Igor Rzegocki <igor@rzegocki.pl>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/998
Reviewed-by: konrad <k@knt.li>
Co-authored-by: ajgon <vikunja-gitea@ajgon.ovh>
Co-committed-by: ajgon <vikunja-gitea@ajgon.ovh>
2021-10-03 18:37:02 +00:00
renovate
0ca1560bf1
fix(deps): update module github.com/swaggo/swag to v1.7.3 ( #990 )
...
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/990
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-09-26 12:44:37 +00:00
kolaente
4de8ec56a6
fix: generate swagger docs
2021-09-26 14:18:44 +02:00
kolaente
ae8db176db
feat: expose if task comments are enabled or not in /info
2021-09-26 13:37:57 +02:00
kolaente
465f6d90ab
Fix tasks not exported
2021-09-08 18:40:54 +02:00
kolaente
03d818fd9f
Fix tmp export file created in the wrong path
2021-09-08 17:44:23 +02:00
kolaente
f019ae42bb
Fix exporting tasks from archived lists
2021-09-08 17:40:33 +02:00
kolaente
9000f2c3cd
Fix lint
2021-09-07 19:09:44 +02:00
kolaente
cc1bb3083f
Don't try to export items which do not have a parent
2021-09-06 22:14:38 +02:00
konrad
90146aea5b
User Data Export and import ( #967 )
...
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/967
Co-authored-by: konrad <k@knt.li>
Co-committed-by: konrad <k@knt.li>
2021-09-04 19:26:31 +00:00
kolaente
dcddaab7b5
Set todoist migration redirect url to the frontend url by default
2021-08-14 18:27:29 +02:00
kolaente
483496cc26
Fix saving reminders of repeating tasks
2021-08-13 21:36:16 +02:00
konrad
27119ad6d4
User account deletion ( #937 )
...
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/937
Co-authored-by: konrad <konrad@kola-entertainments.de>
Co-committed-by: konrad <konrad@kola-entertainments.de>
2021-08-11 19:08:10 +00:00
renovate
c3da454854
Update module github.com/golang-jwt/jwt to v4 ( #930 )
...
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/930
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-08-03 21:43:18 +00:00
renovate
e38be9bd18
Update module github.com/labstack/echo/v4 to v4.5.0 ( #929 )
...
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/929
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-08-02 18:33:53 +00:00
kolaente
f237afd2ac
Fix panic on invalid smtp config
2021-08-02 00:05:13 +02:00
konrad
4c5f457313
Ensure case insensitive search on postgres ( #927 )
...
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/927
Co-authored-by: konrad <konrad@kola-entertainments.de>
Co-committed-by: konrad <konrad@kola-entertainments.de>
2021-08-01 21:40:25 +00:00
kolaente
9c2a59582a
Fix setting up keyvalue storage in tests
2021-07-30 15:31:51 +02:00
kolaente
d746c1bede
Notify the user after three failed login attempts
2021-07-30 15:01:04 +02:00
kolaente
220f43331f
Reset failed totp attempts when logging in successfully
2021-07-30 14:46:10 +02:00
kolaente
24f7d9b4f7
Only send an email about failed totp after three failed attempts
2021-07-30 14:42:03 +02:00
kolaente
5cfc9bf2f9
Disable the user account after 10 failed password attempts
2021-07-29 18:45:22 +02:00
kolaente
3572ac4b82
Send a notification on failed TOTP
2021-07-29 18:05:25 +02:00
konrad
1571dfa825
Task mentions ( #926 )
...
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/926
Co-authored-by: konrad <konrad@kola-entertainments.de>
Co-committed-by: konrad <konrad@kola-entertainments.de>
2021-07-29 15:42:49 +00:00
kolaente
e600f61e06
Fix moving the done bucket around
2021-07-29 17:32:33 +02:00
konrad
6ccb85a0dc
Reorder tasks, lists and kanban buckets ( #923 )
...
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/923
Co-authored-by: konrad <konrad@kola-entertainments.de>
Co-committed-by: konrad <konrad@kola-entertainments.de>
2021-07-28 19:06:40 +00:00
kolaente
dac315db59
Fix jwt middleware
2021-07-27 15:25:48 +02:00
kolaente
eae3cbc7bb
Replace jwt-go with github.com/golang-jwt/jwt
2021-07-27 10:46:28 +02:00
kolaente
d9b38b85f6
Fix setting a saved filter as favorite
2021-07-20 21:32:25 +02:00
kolaente
c7f337f303
Fix tests & lint
2021-07-20 11:00:20 +02:00
kolaente
733f26f017
Fix error handling when deleting an attachment file
2021-07-20 10:14:49 +02:00
kolaente
e4a0066e20
Make sure all associated entities of a task are deleted when the task is deleted
2021-07-19 23:52:58 +02:00
kolaente
d28390d792
Fix task relations not getting properly cleaned up when deleting them
2021-07-19 23:40:18 +02:00
kolaente
0b90d826be
Don't notify the user who created the team
2021-07-19 23:29:25 +02:00
kolaente
4cf7c459da
Allow running migration 20210711173657 multiple times to fix issues when it didn't completely run through previously
2021-07-15 11:36:33 +02:00
kolaente
2a80e552cc
Save user tokens as varchar(450) and not text to fix mysql indexing issues
2021-07-14 14:48:27 +02:00
kolaente
7e229a1b83
Save user tokens as text and not varchar
2021-07-14 12:43:28 +02:00
konrad
4216ed7277
Refactor user email confirmation + password reset handling ( #919 )
...
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/919
Co-authored-by: konrad <konrad@kola-entertainments.de>
Co-committed-by: konrad <konrad@kola-entertainments.de>
2021-07-13 20:56:02 +00:00
kolaente
d5d4d8b6ed
Fix lint
2021-07-13 12:16:12 +02:00
kolaente
9559cbf1ec
Add more logging for test data api endpoint
2021-07-13 12:14:59 +02:00
kolaente
7adbd21698
Fix setting task favorite status of related tasks
...
Not really reproducable locally, but a real issue.
2021-07-12 12:19:01 +02:00
kolaente
e21a3904ff
Fix mapping task priorities from Vikunja to calDAV
...
Resolves #866
2021-07-11 15:03:50 +02:00
kolaente
562ef9af36
Add searching for tasks by index
2021-07-11 14:19:59 +02:00
konrad
d0c77ad1c1
Make sure list / task favorites are set per user, not per entity ( #915 )
...
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/915
Co-authored-by: konrad <konrad@kola-entertainments.de>
Co-committed-by: konrad <konrad@kola-entertainments.de>
2021-07-10 10:21:54 +00:00
kolaente
358661e060
Change task title to TEXT instead of varchar(250) to allow for longer task titles
2021-07-09 19:46:47 +02:00
kolaente
32a07c4c61
Fix importing archived projects and done items from todoist
2021-07-08 11:37:50 +02:00
kolaente
5b825f1cc8
Make sure a bucket exists or use the default bucket when importing tasks
2021-07-08 10:34:03 +02:00
andreymal
50b49ffab6
Add support of Unix socket ( #912 )
...
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/912
Reviewed-by: konrad <konrad@kola-entertainments.de>
Co-authored-by: andreymal <andriyano-31@mail.ru>
Co-committed-by: andreymal <andriyano-31@mail.ru>
2021-07-08 08:13:01 +00:00
kolaente
8b6aeb8571
Fix lint
2021-07-07 20:53:26 +02:00
kolaente
0c5dfe5c48
Better logging for errors while importing a bunch of tasks
2021-07-06 18:14:40 +02:00
kolaente
d7932d2648
Don't fail when removing the last bucket in migration from other services
2021-07-06 15:43:38 +02:00
kolaente
37718c3282
Todoist migration: don't panic if no reminder was found for task
...
See #897
2021-06-24 23:02:28 +02:00
renovate
6018573d81
Update module github.com/coreos/go-oidc to v3 ( #885 )
...
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/885
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-06-14 20:56:29 +00:00
renovate
6b70069eba
Update module prometheus/client_golang to v1.11.0 ( #879 )
...
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/879
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-06-11 13:08:28 +00:00