Commit Graph
587 Commits
Author SHA1 Message Date
kolaente bcd414b5e7 feat(filters): make new filter syntax work with Typesense 2024-03-05 09:58:04 +01:00
kolaente 7c47930f8e fix(filters): lint 2024-03-05 09:58:00 +01:00
kolaente fc7c873dd6 chore(filters): cleanup old variables 2024-03-05 09:58:00 +01:00
kolaente 8d34f9b260 fix(tests): make filter tests work again 2024-03-05 09:57:59 +01:00
kolaente ffcfc85b00 fix(filter): correctly filter for buckets 2024-03-05 09:57:59 +01:00
kolaente 52c8ed9738 feat(filter): add in keyword 2024-03-05 09:57:59 +01:00
kolaente cc78411866 feat(filter): add better error message when passing an invalid filter expression 2024-03-05 09:57:59 +01:00
kolaente b5e781fedb chore(filter): cleanup 2024-03-05 09:57:59 +01:00
kolaente d30615d527 feat(filter): nesting 2024-03-05 09:57:59 +01:00
kolaente 605a2131ba feat(filter): more tests 2024-03-05 09:57:59 +01:00
kolaente 9cd88e97e4 fix(filter): translate all tests 2024-03-05 09:57:59 +01:00
kolaente afb425f0c2 fix(filter): allow filtering for "project" 2024-03-05 09:57:59 +01:00
kolaente 16f206b3cc fix(filter): allow filtering on "in" condition 2024-03-05 09:57:59 +01:00
kolaente d9cb2d1755 fix(filter): don't crash on empty filter 2024-03-05 09:57:59 +01:00
kolaente 54a9ea84d5 fix(filter): make sure single filter condition works 2024-03-05 09:57:59 +01:00
kolaente f470c0c297 feat(filters): basic text filter works now 2024-03-05 09:57:58 +01:00
kolaente 8d2f6c8567 feat(filters): very basic filter parsing 2024-03-05 09:57:58 +01:00
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 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
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
viehliebandkonrad 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 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 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 119c68be9d feat: rename frontend url config to public url 2024-02-09 14:41:55 +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
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 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 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 4d48d814c9 fix: update function signatures 2024-01-16 14:06:44 +00:00
kolaente 2c84688a40 fix: lint 2024-01-14 22:23:33 +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