1
0
Commit Graph

709 Commits

Author SHA1 Message Date
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