Frederick [Bot]
544960af65
[skip ci] Updated swagger docs
2025-08-03 20:46:06 +00:00
Copilot
7762d7746e
fix: make user data export download return 404 for nonexistent files ( #1227 )
2025-08-03 20:36:15 +00:00
Frederick [Bot]
5e65f223bc
[skip ci] Updated swagger docs
2025-08-03 11:35:15 +00:00
kolaente
ebaf4a0aa0
feat(settings): show extra settings links on user settings page
2025-08-03 13:25:32 +02:00
kolaente
da0f6fb366
feat(auth): allow passing custom settings links to user account via openid claims
2025-08-03 13:25:32 +02:00
kolaente
9acba7a245
refactor: schedule user deletion
2025-08-01 17:06:02 +02:00
kolaente
e5c860afec
feat(plugins): allow plugins to register routes
2025-08-01 17:06:02 +02:00
kolaente
b08b43953b
feat(plugins): add rudimentary plugin system
2025-08-01 17:06:02 +02:00
Frederick [Bot]
78bbadbd25
chore(i18n): update translations via Crowdin
2025-07-31 01:01:45 +00:00
Frederick [Bot]
ec7446684e
[skip ci] Updated swagger docs
2025-07-30 16:00:27 +00:00
kolaente
4042f66efa
feat: show user export status in settings ( #1200 )
2025-07-30 15:50:26 +00:00
kolaente
388af80ece
fix: log correct response status
2025-07-28 13:27:12 +02:00
kolaente
de917467cb
fix(openid): manually fetch providers
...
Partially reverts fcdcdcf46a
Resolves https://github.com/go-vikunja/vikunja/issues/1165
2025-07-28 11:40:09 +02:00
Frederick [Bot]
84a9428b4e
[skip ci] Updated swagger docs
2025-07-28 09:06:26 +00:00
kolaente
2fd3046acc
chore: rename user_id field to username
...
The field is actually the username, but it was called user_id for some reason. This change makes this more clear
2025-07-28 10:56:36 +02:00
kolaente
e10837476a
fix: subscription should only be visible for the user who subscribed ( #1183 )
2025-07-28 10:32:59 +02:00
kolaente
bbd3567e43
chore: add debug logging around provider failure
...
https://github.com/go-vikunja/vikunja/issues/1165
2025-07-24 16:00:03 +02:00
kolaente
7243a10fb2
fix(openid): check different provider types
...
Related to https://github.com/go-vikunja/vikunja/issues/1165
2025-07-23 15:40:51 +02:00
kolaente
4faf50a91f
fix(user): ensure deletion tokens can only be used by the user who created them
2025-07-23 11:18:37 +02:00
kolaente
2b497e6265
fix: pass pointer when fetching provider
...
Resolves https://github.com/go-vikunja/vikunja/issues/1165
2025-07-23 11:09:09 +02:00
Tobias
a31255707e
fix "null" in project views ( #1158 )
...
Co-authored-by: kolaente <k@knt.li>
2025-07-22 17:43:04 +00:00
Copilot
9712dbe2ab
fix: MySQL constraint violations returning HTTP 500 instead of 400 for task bucket duplicates ( #1154 )
...
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: kolaente <13721712+kolaente@users.noreply.github.com>
Co-authored-by: kolaente <k@knt.li>
2025-07-22 08:59:12 +00:00
kolaente
ad0cf7a13c
fix: improve ldap sanitization ( #1155 )
2025-07-21 21:06:38 +00:00
kolaente
62200f6e0f
feat!: remove echo log options - unify with general http logging
2025-07-21 18:15:39 +02:00
kolaente
ca83ad1f98
feat: move to slog for logging
2025-07-21 18:15:39 +02:00
kolaente
7985a6500a
fix: use assertions which are more specific
2025-07-18 23:18:04 +02:00
kolaente
07d83e67d7
feat(projects): add support for ParadeDB when searching for project
2025-07-18 23:18:04 +02:00
kolaente
1e3a68210a
chore(db): simplify MultiFieldSearch
2025-07-18 23:18:04 +02:00
kolaente
22579dffae
chore: cleanup unused helper
2025-07-18 23:18:04 +02:00
kolaente
a571d42f46
chore: refactor searching for link shares
2025-07-18 23:18:04 +02:00
kolaente
3db1ddcee4
feat(tasks): add support for ParadeDB when searching tasks
2025-07-18 23:18:04 +02:00
kolaente
e7f5142e3d
fix: adjust benchmark so that it only checks the task fetching
2025-07-18 23:18:04 +02:00
kolaente
a5591c1603
fix: correctly cache unsplash background
...
Resolves
https://vikunja.sentry.io/issues/6753151793/events/3d8773d79b9c4da0bf65140e4b7617b4/
2025-07-18 18:38:12 +02:00
kolaente
c3fd659851
fix: correctly return cached intitals avatar
...
Resolves https://vikunja.sentry.io/issues/6752872121/events/92ff6a64c4b64aa3aecc6973611bd449/
2025-07-18 18:38:12 +02:00
kolaente
566657c54a
fix: correctly return cached provider
2025-07-18 18:38:12 +02:00
kolaente
45e7f6e316
fix: upload avatar caching
2025-07-18 18:38:12 +02:00
kolaente
fcdcdcf46a
feat: use keyvalue.Remember where it makes sense
2025-07-17 16:19:13 +02:00
kolaente
c7a98386c2
feat: add keyvalue.Remember function
2025-07-17 16:19:13 +02:00
Quiwy
5ee3077f5d
docs: fix typo ( #1122 )
2025-07-16 11:01:49 +00:00
kolaente
42534cdd79
fix: don't panic when using api token when not correctly put into context ( #1119 )
2025-07-15 21:26:28 +00:00
Tobias
ecc95e9139
fix: panic on restoring with numeric position fields ( #1089 )
...
Co-authored-by: kolaente <k@knt.li>
2025-07-15 15:44:21 +00:00
kolaente
4da4bf69ca
fix(background): validate unsupported formats and show error message ( #1123 )
2025-07-15 13:21:48 +02:00
Vlad Yarotsky
d4347f00f6
fix(caldav): make CalDAV REPORT request properly respond with VTODO objects ( #1116 )
2025-07-14 21:57:55 +00:00
Dominik Pschenitschni
efff6955c5
fix: remove fmt output in token check
2025-07-03 17:09:41 +02:00
Dominik Pschenitschni
20bd961c20
fix(config): log fatal when timezone parse fails ( #1077 )
2025-07-03 17:06:54 +02:00
Dominik Pschenitschni
9efdde8f1a
docs: delete caldav token uses DELETE instead of GET
2025-07-03 17:06:20 +02:00
kolaente
510b1f246a
refactor: move test
2025-07-02 23:16:05 +02:00
kolaente
9b579d282c
fix(tasks): do not return subtasks multiple times when they are related
...
to multiple tasks
Resolves https://community.vikunja.io/t/tasks-with-parent-tasks-appear-duplicated-in-list-views/3676
2025-07-02 23:16:05 +02:00
kolaente
4d36771362
feat: introduce shared health check logic ( #1073 )
2025-07-02 21:01:41 +00:00
Dominik Pschenitschni
ef80fa77b4
docs: fix comments in web package
2025-07-02 17:46:21 +02:00
Dominik Pschenitschni
d48d88d442
fix: comment typo and misspellings
2025-07-02 17:46:21 +02:00
Dominik Pschenitschni
342bbd6192
fix: correct comments
2025-07-02 17:46:21 +02:00
kolaente
3b05f7859f
fix(users): refresh initials avatar refresh after name change ( #1047 )
2025-06-30 16:20:54 +00:00
kolaente
59130766e8
fix(avatar): fallback to username when no name is set
2025-06-27 14:30:33 +02:00
kolaente
99bc065272
feat(user): use name for initals avatar, not username
...
For external auth providers, the username might be randomly generated,
which results in a random initial - this is unexpected and confusing for
users.
2025-06-27 14:13:49 +02:00
kolaente
4f8a2b0d38
chore(user): refactor invalidating upload avatar cache
2025-06-27 14:07:22 +02:00
kolaente
0ecbd9e1a3
feat(user): add avatar cache flushing ( #1041 )
2025-06-27 14:01:43 +02:00
kolaente
ae92822ee0
feat: add prefix key support to keyvalue store ( #1038 )
...
feat: add prefix key operations to keyvalue store
2025-06-27 11:05:37 +00:00
kolaente
a8025a9e36
fix: guard invalid user lookups ( #1034 )
2025-06-26 21:58:47 +00:00
kolaente
c6c18d1ca1
fix(task): ambiguous description search ( #1032 )
...
test: relocate search regression
2025-06-26 20:05:04 +00:00
kolaente
17b8d20e7b
fix(migration): reset buckets before creating related tasks so that they are actually created ( #1015 )
2025-06-25 14:03:44 +02:00
kolaente
53264d350e
fix(kanban): make bucket query fixed per-view ( #1007 )
2025-06-25 11:38:24 +00:00
kolaente
159961b5e0
fix: add migration for non-unique task buckets
2025-06-25 11:12:24 +02:00
kolaente
f9b31ab4bf
fix: ambiguous title column in task search ( #1012 )
2025-06-24 20:38:35 +00:00
kolaente
4f99bdb50c
fix(tasks): ambiguous done column in task sorting ( #1011 )
...
fix: prefix task fields in sorting
2025-06-24 20:37:25 +00:00
Frederick [Bot]
1621d25392
[skip ci] Updated swagger docs
2025-06-24 11:01:56 +00:00
kolaente
842a71019d
fix(view): add unique index for task buckets ( #1005 )
2025-06-24 10:45:17 +00:00
kolaente
57dfdc5168
chore: adjust comment about bucketless tasks ( #1004 )
...
docs: clarify bucketless task behavior
2025-06-24 09:56:58 +00:00
kolaente
49963d88a6
fix(task): add tasks table prefix for sort order ( #1003 )
...
fix: qualify task index for mysql order
2025-06-24 09:55:00 +00:00
kolaente
048e09ee12
fix(tasks): subtasks missing in list view ( #1000 )
2025-06-24 11:08:01 +02:00
Frederick [Bot]
adc1ecaef1
chore(i18n): update translations via Crowdin
2025-06-23 01:01:09 +00:00
Frederick [Bot]
6bdb990de5
chore(i18n): update translations via Crowdin
2025-06-18 00:57:29 +00:00
kolaente
34a5196a05
feat: add email filter to user list command ( #973 )
2025-06-17 12:38:04 +00:00
Frederick [Bot]
7f8006e3f1
[skip ci] Updated swagger docs
2025-06-17 09:38:12 +00:00
Dominik Pschenitschni
5b9d4fcc72
chore: add missing eof newlines ( #969 )
2025-06-17 09:11:32 +00:00
kolaente
663339a294
feat(test): add benchmark for task search ( #963 )
2025-06-16 21:41:14 +02:00
Frederick [Bot]
719cb11d44
[skip ci] Updated swagger docs
2025-06-16 14:10:07 +00:00
Weijie Zhao
a214d68a44
feat(auth): sync avatar from OpenID providers ( #821 )
2025-06-16 15:59:31 +02:00
kolaente
916c0212b5
feat(link share): add feature test for link share avatar access ( #944 )
2025-06-14 18:22:45 +02:00
kolaente
59a0b9c40d
feat(auth): require auth to fetch avatars ( #930 )
2025-06-14 13:12:41 +00:00
kolaente
6671ce38a8
chore: rename API test suites ( #938 )
2025-06-13 08:23:17 +00:00
kolaente
da95463bb2
fix(migration): detect header lines in csv file when importing from TickTick ( #937 )
2025-06-13 07:45:54 +00:00
kolaente
0145a8ba50
feat!(config): store sqlite file relative to rootpath ( #934 )
...
Moderately breaking change since in most cases the root path was already set next to the binary.
2025-06-13 09:16:25 +02:00
Frederick [Bot]
15a1919d22
chore(i18n): update translations via Crowdin
2025-06-12 00:56:35 +00:00
kolaente
842e7f524b
fix: always add public url to allowed cors origins
...
This fixes a bug where it was not possible to do anything because the public url was not allowed by default for CORS requests.
Regression from 433b8b9115
Resolves https://github.com/go-vikunja/vikunja/issues/916
2025-06-11 14:29:38 +02:00
kolaente
433b8b9115
feat: enable cors by default for desktop app ( #904 )
2025-06-10 20:43:13 +02:00
Frederick [Bot]
191125e122
[skip ci] Updated swagger docs
2025-06-10 11:21:02 +00:00
kolaente
f070268c30
feat: check configured default timezone on startup ( #903 )
2025-06-10 11:03:58 +00:00
Dominik Pschenitschni
296577a875
fix: correct license header references ( #882 )
...
See originals:
- https://www.gnu.org/licenses/agpl-3.0.txt
- https://www.gnu.org/licenses/gpl-3.0.txt
2025-06-10 12:18:38 +02:00
Dominik Pschenitschni
62f048767c
fix: correct unknown subscription entity typo ( #883 )
2025-06-10 12:18:07 +02:00
Dominik Pschenitschni
488b15c128
docs(web): fix typos
2025-06-10 12:10:42 +02:00
Dominik Pschenitschni
4146e91616
docs: mention AGPL-3.0-or-later in CLI help ( #893 )
2025-06-10 12:07:52 +02:00
Dominik Pschenitschni
508cdf027c
fix: param type ( #895 )
2025-06-10 12:06:41 +02:00
Dominik Pschenitschni
8632bd2063
fix: TOTP account lock notification typo ( #858 )
2025-06-05 16:24:41 +02:00
kolaente
44b3e46325
fix: return correct mimetype for openapi docs.json
...
Resolves https://github.com/go-vikunja/vikunja/issues/864
2025-06-04 16:12:46 +02:00
kolaente
5c17d5b90c
fix(config): set value when env variable contains string value
2025-05-23 12:47:56 +02:00
renovate[bot]
bbf7679dd4
fix(deps): update module github.com/olekukonko/tablewriter to v1 ( #750 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kolaente <k@knt.li>
2025-05-23 10:00:58 +00:00
Frederick [Bot]
76bba1fb92
chore(i18n): update translations via Crowdin
2025-05-23 00:55:39 +00:00
kolaente
d7d277f9b6
fix(config): do not attempt to parse config values from env when they contain an invalid data type
...
Related https://github.com/go-vikunja/vikunja/issues/719
2025-05-22 17:06:20 +02:00
Frederick [Bot]
b96a1701d8
chore(i18n): update translations via Crowdin
2025-05-22 00:55:50 +00:00
kolaente
ca98b7da73
feat: add /token/test route
...
This new route returns 200 if a valid bearer token was presented. It does not return any information about the user.
2025-05-21 22:27:34 +02:00
kolaente
c4566fdb53
chore(i18n): improve overdue task emails translation
2025-05-21 10:28:50 +02:00
Frederick [Bot]
1648b71634
[skip ci] Updated swagger docs
2025-05-20 08:12:41 +00:00
Weijie Zhao
00c4148f05
feat(auth): add ForceUserInfo option to OpenID provider ( #797 )
...
Problem:
When using Casdoor as an OpenID provider, there's an inconsistency between the user information in the JWT token and the UserInfo endpoint. The token contains the user's unique ID in the `name` field, while the UserInfo endpoint correctly returns the user's display name.
Solution:
This PR adds a new `ForceUserInfo` option to the OpenID provider configuration. When enabled, it forces the use of the UserInfo endpoint to retrieve user information instead of relying on claims from the ID token.
Impact:
- Default behavior remains unchanged (backward compatible)
- New option allows administrators to force using UserInfo endpoint data
- Particularly useful for providers like Casdoor that don't fully comply with OIDC standards
Related:
I've opened an issue in the Casdoor repository (https://github.com/casdoor/casdoor/issues/3806 ) to discuss the root cause. However, changing Casdoor's token structure might cause significant compatibility issues for existing integrations, so it's unclear if this can be fixed at the provider level. This PR provides a workaround in Vikunja that doesn't affect existing functionality.
2025-05-20 08:06:34 +00:00
Frederick [Bot]
adf54f97ab
chore(i18n): update translations via Crowdin
2025-05-20 00:56:51 +00:00
kolaente
5acca8144b
fix(projects): do not try to fetch project permissions when no projects exist
...
Resolves https://vikunja.sentry.io/issues/6572520737/events/2a747d0e53e7431fafca89429c552eae/
2025-05-19 18:21:05 +02:00
Frederick [Bot]
5df5030c68
chore(i18n): update translations via Crowdin
2025-05-18 00:59:45 +00:00
Frederick [Bot]
fad3e05ba8
chore(i18n): update translations via Crowdin
2025-05-17 00:54:35 +00:00
kolaente
d16d13d730
feat(i18n): use plural translations in humanize duration
2025-05-16 21:57:07 +02:00
kolaente
96369f3b1c
feat(i18n): add params replacement to translation functions
2025-05-16 21:57:07 +02:00
kolaente
43f9fb61a7
feat(i18n): add pluralization function for translation strings
2025-05-16 21:57:07 +02:00
Frederick [Bot]
53f201bdfc
chore(i18n): update translations via Crowdin
2025-05-16 00:55:58 +00:00
kolaente
9f30a099ee
fix(projects): (un-)archive child projects when archiving parent ( #775 )
2025-05-15 14:31:56 +00:00
kolaente
3e46457c03
fix: remove unused import
2025-05-15 09:54:15 +02:00
kolaente
13dfe78121
fix(project): correctly handle invalid project id error
2025-05-15 09:50:33 +02:00
kolaente
cb0e68f625
fix(i18n): make notification settings link translatable
2025-05-15 09:18:27 +02:00
Frederick [Bot]
ee0c68b1a2
chore(i18n): update translations via Crowdin
2025-05-15 00:54:18 +00:00
Frederick [Bot]
c19a8cfcc4
[skip ci] Updated swagger docs
2025-05-13 11:27:04 +00:00
kolaente
4d8c17f577
feat(i18n): make overdue reminder translations more explicit ( #761 )
2025-05-13 11:12:56 +00:00
Piotr Sarna
1d38306e7d
fix(docs): improve swagger output by setting swaggertype and enums ( #705 )
...
Co-authored-by: Piotr Sarna <piotr@piksar.eu>
2025-05-13 11:02:12 +00:00
kolaente
f7229ba647
fix(i18n): translate all parts of reminder notifications
2025-05-12 16:24:20 +02:00
Frederick [Bot]
aaf6de11a5
[skip ci] Updated swagger docs
2025-05-12 10:24:22 +00:00
Vladimir
c3fffefcf4
fix(db): refactor filtering with subqueries ( #701 )
...
Resolves #285
2025-05-12 10:52:48 +02:00
Frederick [Bot]
3e02604317
chore(i18n): update translations via Crowdin
2025-05-12 00:57:57 +00:00
Frederick [Bot]
48814867b4
chore(i18n): update translations via Crowdin
2025-05-11 00:58:59 +00:00
Frederick [Bot]
7b693f055f
chore(i18n): update translations via Crowdin
2025-04-28 00:56:09 +00:00
Frederick [Bot]
ad8a17571c
chore(i18n): update translations via Crowdin
2025-04-12 00:52:09 +00:00
Frederick [Bot]
8e6b059634
chore(i18n): update translations via Crowdin
2025-04-11 00:52:53 +00:00
Frederick [Bot]
9fe2caa251
chore(i18n): update translations via Crowdin
2025-04-10 00:52:35 +00:00
renovate[bot]
4a75f7d4da
chore(deps): update golangci/golangci-lint-action action to v7 ( #462 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kolaente <k@knt.li>
2025-04-02 09:28:56 +02:00
Frederick [Bot]
c381e47720
chore(i18n): update translations via Crowdin
2025-03-31 00:55:09 +00:00
kolaente
7803fe8aef
fix(avatar): use keyvalue store to cache gravatar instead of map
...
Resolves https://community.vikunja.io/t/docker-crash-concurrent-map-writes-google-login/3454
2025-03-30 16:24:34 +02:00
kolaente
6847f44058
chore(openid): add more debug logging when retrieving token
2025-03-29 19:24:07 +01:00
kolaente
4ea3c01b5f
chore: add more debug logging when returning error
2025-03-29 18:21:34 +01:00
kolaente
303dbec78a
feat(i18n): add Hebrew translation for selection
2025-03-27 11:58:23 +01:00
kolaente
cfc7f17352
feat(i18n): add Finnish translation for selection
2025-03-27 11:54:17 +01:00
Frederick [Bot]
03ca85aaf1
chore(i18n): update translations via Crowdin
2025-03-26 00:21:22 +00:00
kolaente
25f3c5d9d7
fix(migration): cast to text
2025-03-25 21:47:52 +01:00
kolaente
26eeb07829
fix(i18n): adjust task strings
2025-03-25 09:18:13 +01:00
Frederick [Bot]
04a7cabbcb
chore(i18n): update translations via Crowdin
2025-03-25 00:23:17 +00:00
kolaente
2e11c55e9e
fix(test): use correct assertion
...
Resolves a regression introduced in 1bdb01712e
2025-03-24 17:41:39 +01:00
kolaente
1bdb01712e
fix(filter): correctly use user time zone when filtering for date fields
...
Resolves https://community.vikunja.io/t/upcoming-list-doesnt-display-repeating-tasks/3539
2025-03-24 17:22:33 +01:00
kolaente
3509f1beb3
chore!: remove deprecated config settings
2025-03-24 16:52:46 +01:00
kolaente
13d4e0e00d
chore(utils): remove deprecated MakeRandomString function
2025-03-24 16:52:46 +01:00
Frederick [Bot]
f188762b86
chore(i18n): update translations via Crowdin
2025-03-24 00:22:33 +00:00
kolaente
62b2c6771a
fix(project): correctly migrate old project view filters
...
This fixes a bug where old filters where not converted to the new json format correctly, leading to issues when trying to decode the raw filter string as json.
It is unclear whether that old migration had a bug or was not executed at all.
This change adds a new migration to fix all filters in views still stuck in the old filter string format.
Resolves https://github.com/go-vikunja/vikunja/issues/420
2025-03-23 21:34:49 +01:00
kolaente
063753a543
fix(filter): do not try to set timezone when doer does not exist
...
Resolves https://vikunja.sentry.io/issues/6025547266/events/e0d0a5fdf01c46a2ac9101d94ab4f304/
2025-03-23 19:08:11 +01:00
kolaente
8489cf57f6
fix(typesense): use upsert instead of emplace when updating tasks in typesense
...
Resolves https://github.com/go-vikunja/vikunja/issues/376
2025-03-23 18:46:49 +01:00
kolaente
bbd9d0d0b3
fix(comment): add validation check for the max comment length
...
Resolves https://vikunja.sentry.io/issues/6441922105/events/245b8f1de3e64951a108e2f6cb654c58/
2025-03-23 18:03:29 +01:00
kolaente
4e504c288e
fix(auth): hide two factor authentication when using non-local user
...
Resolves https://github.com/go-vikunja/vikunja/issues/431
2025-03-23 17:43:36 +01:00
Frederick [Bot]
2e2f82bc44
chore(i18n): update translations via Crowdin
2025-03-22 00:21:30 +00:00
kolaente
4d41a1bd9b
feat(kanban): create To-Do, Doing, Done buckets when creating a new kanban view
2025-03-21 19:16:52 +01:00
kolaente
d522d40773
fix(migration): do not fail when an attachment is too large
...
Resolves https://vikunja.sentry.io/issues/6389417364/events/d79bdea146b54a9dace8c81e3f787975/
2025-03-21 18:03:27 +01:00
kolaente
23d2814b94
fix(migration): check if the provided file is a valid csv before importing
2025-03-21 17:53:05 +01:00
kolaente
d19a93dece
fix(migration): check if uploaded csv is empty
2025-03-21 17:48:08 +01:00
kolaente
0585045260
fix(kanban): Mark tasks done when creating them in the done bucket
...
Resolves https://community.vikunja.io/t/bugs-around-project-duplication-with-kanban-buckets/3433/6
2025-03-21 17:32:50 +01:00
kolaente
096de3382f
fix(kanban): load full task when moving task between buckets
2025-03-21 16:59:20 +01:00
Frederick [Bot]
c4ef566a42
chore(i18n): update translations via Crowdin
2025-03-21 00:21:23 +00:00
kolaente
e3f006c527
fix(i18n): add missing translations
2025-03-20 17:41:45 +01:00
kolaente
5a93379d81
fix(ldap): update user name and email during login
2025-03-20 17:24:00 +01:00
kolaente
d585de77a4
fix(ldap): crop avatar when syncing
2025-03-20 17:19:58 +01:00
kolaente
e287364b78
fix(team): do not allow leaving exernal teams
2025-03-20 17:13:51 +01:00
kolaente
b010e3851c
fix(project): add position in test fixtures
2025-03-20 14:00:18 +01:00
kolaente
6e9886c6b8
fix(project): make order stable in duplicate test
2025-03-20 13:46:32 +01:00
Frederick [Bot]
8e475e77be
chore(i18n): update translations via Crowdin
2025-03-20 00:21:23 +00:00
kolaente
164f2eab9d
feat(ldap): also look for username only when checking group membership
2025-03-19 22:16:12 +01:00
kolaente
f4b9a9cccd
feat(ldap): make member id attribute configurable
2025-03-19 22:15:50 +01:00
kolaente
84cbd25e67
chore(project): do not use fmt.Sprintf directly
2025-03-19 19:47:38 +01:00
kolaente
7e1aba7606
fix(kanban): correctly set default bucket id when duplicating project
...
Partially resolves https://community.vikunja.io/t/bugs-around-project-duplication-with-kanban-buckets/3433
2025-03-19 17:28:59 +01:00
kolaente
4887f7fe60
fix(webhook): do not fail to send webhook when loading the project fails
...
https://community.vikunja.io/t/webhook-project-error/3305/7
2025-03-19 16:27:04 +01:00
Frederick [Bot]
4998926f55
[skip ci] Updated swagger docs
2025-03-19 15:21:25 +00:00
kolaente
617070f9f7
fix(kanban): use full updated kanban bucket when moving task
2025-03-19 16:06:20 +01:00
kolaente
134c2a1a80
fix(kanban): do not allow creating tasks in full bucket
2025-03-19 15:18:55 +01:00
kolaente
ea42fef2da
feat: don't log all headers when debug log is enabled
...
This reverts commit 9fc6cdd076 .
2025-03-19 15:15:04 +01:00
kolaente
ffd5a962f5
feat(i18n): add Turkish as language for selection
2025-03-19 14:56:35 +01:00
kolaente
e12ebfebed
feat(ldap): sync avatar from ldap
2025-03-18 18:28:54 +01:00
kolaente
26c7ceaed4
chore(avatar): decouple upload from web handler
2025-03-18 18:28:54 +01:00
kolaente
77480814fd
fix(i18n): translations json
2025-03-18 18:28:29 +01:00
kolaente
732431773d
fix(i18n): remove duplicate api strings
2025-03-18 18:23:47 +01:00
Frederick [Bot]
02f9f92232
[skip ci] Updated swagger docs
2025-03-18 16:58:29 +00:00
kolaente
99213c66ee
chore(openid): use general external team sync
2025-03-18 16:36:00 +00:00
kolaente
216df5bedc
feat(ldap): make group sync configurable
2025-03-18 16:36:00 +00:00
kolaente
a3b19a7b3c
feat(auth): refactor group sync
2025-03-18 16:36:00 +00:00
kolaente
c2f286437c
feat(auth): ldap group sync
2025-03-18 16:36:00 +00:00
kolaente
9f5c761fd9
chore(auth): rename error
2025-03-18 16:36:00 +00:00
kolaente
06851ca639
chore(auth): rename external team id find methods
2025-03-18 16:36:00 +00:00
kolaente
62beb3db2d
feat(auth): rename oidc_id to external_id
2025-03-18 16:36:00 +00:00
Frederick [Bot]
55a078b171
chore(i18n): update translations via Crowdin
2025-03-18 00:21:21 +00:00
kolaente
12aba8e9b1
chore(openid): move openid team struct to openid package
2025-03-17 17:34:49 +01:00
Frederick [Bot]
e5160bf1fe
chore(i18n): update translations via Crowdin
2025-03-17 00:21:14 +00:00
kolaente
87cfe89441
feat(ldap): add tests
2025-03-16 18:23:55 +01:00
kolaente
91f9fe5b96
fix(ldap): return meaningful error when providing wrong credentials
2025-03-16 18:23:55 +01:00
Frederick [Bot]
754e1541ae
[skip ci] Updated swagger docs
2025-03-16 17:17:37 +00:00
kolaente
dbb4652fad
fix(docs): clarify team member username instead of id
2025-03-16 18:02:17 +01:00
Frederick [Bot]
3dc63986b2
[skip ci] Updated swagger docs
2025-03-16 16:35:04 +00:00
kolaente
5c6be117fe
fix(kanban): increase dates when moving a task into the done bucket
...
Resolves https://community.vikunja.io/t/unable-to-drag-a-repeating-task-to-done-bucket/3321/2
Resolves https://github.com/go-vikunja/vikunja/issues/402
2025-03-16 17:19:51 +01:00
Frederick [Bot]
ddf5fab364
chore(i18n): update translations via Crowdin
2025-03-16 00:21:45 +00:00
Frederick [Bot]
c0de2e03b7
chore(i18n): update translations via Crowdin
2025-03-14 00:21:16 +00:00
kolaente
e94c744477
fix(auth): return ldap as auth provider name when using it
2025-03-09 09:23:40 +01:00
Frederick [Bot]
0f81e18d85
chore(i18n): update translations via Crowdin
2025-03-09 08:05:39 +00:00
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