98b7cc9254
feat(views): do not override filters in view
2024-03-19 00:47:46 +01:00
4149ebed3a
feat(views): create default views when creating a filter
2024-03-19 00:47:46 +01:00
2096fc5274
feat(views): return tasks in a view
2024-03-19 00:47:46 +01:00
e4b1a5d2db
feat(views): create default 4 default view for projects
2024-03-19 00:47:46 +01:00
2fa3e2c2f5
feat(views): return views with their projects
2024-03-19 00:47:46 +01:00
b39c5580c2
feat(views): add crud handlers and routes for views
2024-03-19 00:47:45 +01:00
6bdb33fb46
feat(views): add new model and migration
2024-03-19 00:47:45 +01:00
8c826c44d2
fix(webhooks): fire webhooks set on parent projects as well
2024-03-13 19:41:34 +01:00
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
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
09d5128050
fix(filters): don't escape valid escaped in queries
2024-03-11 17:02:04 +01:00
a66e26678e
feat(filters): pass timezone down when filtering with relative date math
...
Resolves https://community.vikunja.io/t/my-vikunja-instance-creates-tasks-with-due-date-time-of-9am-for-tasks-with-the-word-today-word-in-it/2105/8
2024-03-11 16:28:25 +01:00
6fc3d1e98f
fix: lint
2024-03-11 15:42:09 +01:00
3896c680d3
fix(filters): do not require string for in comparator
2024-03-11 14:36:59 +01:00
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
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
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
654e95d99f
fix(filters): test fixture
2024-03-09 20:21:05 +01:00
4e6e0608c7
fix(filters): lint
2024-03-09 20:08:17 +01:00
05d3bb4fb6
fix(filters): swagger docs for kanban buckets
2024-03-09 19:07:31 +01:00
d0b762d761
docs(filter): add filter query explanation
2024-03-09 19:07:31 +01:00
28fa2c517a
feat(filters): make new filter syntax work with Typesense
2024-03-09 19:06:48 +01:00
bc6d812eb0
fix(filters): lint
2024-03-09 19:06:35 +01:00
87c027aafd
chore(filters): cleanup old variables
2024-03-09 19:06:35 +01:00
65e1357705
fix(tests): make filter tests work again
2024-03-09 19:06:35 +01:00
eebfee73d3
fix(filter): correctly filter for buckets
2024-03-09 19:06:35 +01:00
ef1cc9720c
feat(filter): add in keyword
2024-03-09 19:06:35 +01:00
c6b682507a
feat(filter): add better error message when passing an invalid filter expression
2024-03-09 19:06:35 +01:00
9d3fb6f81d
chore(filter): cleanup
2024-03-09 19:06:35 +01:00
76ed2cff5f
feat(filter): nesting
2024-03-09 19:06:35 +01:00
e43349618b
feat(filter): more tests
2024-03-09 19:06:35 +01:00
9624cc9e97
fix(filter): translate all tests
2024-03-09 19:06:35 +01:00
764bc15d49
fix(filter): allow filtering for "project"
2024-03-09 19:06:34 +01:00
3fc4aaa2a1
fix(filter): allow filtering on "in" condition
2024-03-09 19:06:34 +01:00
9f73e2c5f9
fix(filter): don't crash on empty filter
2024-03-09 19:06:34 +01:00
c1e137d8ee
fix(filter): make sure single filter condition works
2024-03-09 19:06:34 +01:00
de320aac72
feat(filters): basic text filter works now
2024-03-09 19:06:34 +01:00
307ffe11c4
feat(filters): very basic filter parsing
2024-03-09 19:06:31 +01:00
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
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
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
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
22933dac4a
fix(project): typo in table name
2024-03-03 12:47:00 +01:00
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
4f1f96f1e9
chore(auth): refactor openid team creation
2024-03-02 15:22:37 +01:00
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
a3932a0a19
fix(projects): return correct project pagination count
2024-03-02 13:30:34 +01:00
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
5b70609ba7
fix: usage of limit and order by usage in recursive cte
2024-02-28 14:35:09 +01:00
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