1019 Commits

Author SHA1 Message Date
dc291a51f5
fix(migration): do not expire trello token
All checks were successful
continuous-integration/drone/push Build is passing
2024-03-06 15:13:54 +01:00
d69fc28125 fix(openid): OIDC teams should not have admins (#2161)
All checks were successful
continuous-integration/drone/push Build is passing
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: #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)
All checks were successful
continuous-integration/drone/push Build is passing
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: #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
All checks were successful
continuous-integration/drone/push Build is passing
2024-03-03 18:13:47 +01:00
f5b90517c4
fix(sentry): send unwrapped error to sentry instead of http error
All checks were successful
continuous-integration/drone/push Build is passing
2024-03-03 17:36:57 +01:00
fe27dd59ad
feat(subscription): use a recursive cte to fetch subscriptions of parent projects
All checks were successful
continuous-integration/drone/push Build is passing
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
All checks were successful
continuous-integration/drone/push Build is passing
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
Some checks failed
continuous-integration/drone/push Build is failing
2024-03-03 11:40:43 +01:00
Frederick [Bot]
4bb09b69be [skip ci] Updated swagger docs 2024-03-02 14:50:56 +00:00
379b0b24b3
fix(auth): test assertion
All checks were successful
continuous-integration/drone/push Build is passing
2024-03-02 15:38:01 +01:00
a4a0ea973a
feat(auth): update team name in Vikunja when it was changed in the openid provider
Some checks failed
continuous-integration/drone/push Build is failing
2024-03-02 15:27:15 +01:00
fc4303a778
chore(auth): add oidc suffix to openid team name in db
Related to #2150
2024-03-02 15:23:19 +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
All checks were successful
continuous-integration/drone/push Build is passing
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)
All checks were successful
continuous-integration/drone/push Build is passing
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: #1393
Resolves #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
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-02-28 14:35:09 +01:00
6b1e67485b
feat: fetch all projects with a recursive cte instead of recursive query
Some checks failed
continuous-integration/drone/push Build is failing
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
e40a0043d4
fix(migration): do not halt the whole migration when copying a background file failed
All checks were successful
continuous-integration/drone/push Build is passing
2024-02-19 19:21:06 +01:00
2dab2ccedd
feat: allow using sqlite in memory database
Some checks failed
continuous-integration/drone/push Build is failing
This allows running vikunja for testing purposes. You almost never want to run this in production.
2024-02-15 10:48:48 +01:00
415c6380a5
feat(api tokens): add task attachment to api scopes
Some checks failed
continuous-integration/drone/push Build is failing
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
162741e940
fix: lint
All checks were successful
continuous-integration/drone/push Build is passing
2024-02-13 22:24:46 +01:00
205f330f8a
fix(migration): make sure to correctly check if a migration was already running
Some checks reported errors
continuous-integration/drone/push Build was killed
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
a12c169ce8
fix: do not send etag when serving the frontend index file
Some checks failed
continuous-integration/drone/push Build is failing
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
2facbae0d7
fix(dump): only allow imports from the same version they were dumped on
Some checks failed
continuous-integration/drone/push Build is failing
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
77a779acea
fix(dump): do not export files which do not exist in storage 2024-02-13 21:14:31 +01:00
641fec1215
fix: never return frontend on routes starting with /api
All checks were successful
continuous-integration/drone/push Build is passing
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 #2110
2024-02-13 10:05:15 +01:00
1ab6fef70a
fix(metrics): typo 2024-02-12 14:23:16 +01:00
d4a389279c
chore: don't send http errors with a status < 500 to sentry
All checks were successful
continuous-integration/drone/push Build is passing
2024-02-11 15:29:27 +01:00
8752ae2a0b
fix(webhook): fetch all event details before sending the webhook
All checks were successful
continuous-integration/drone/push Build is passing
Resolves https://community.vikunja.io/t/webhook-comment-data-issues/1952
2024-02-10 14:15:32 +01:00
7edb53ca12
fix(export): don't crash when an exported file does not exist
All checks were successful
continuous-integration/drone/push Build is passing
Related to https://github.com/go-vikunja/vikunja/issues/110
2024-02-10 13:45:12 +01:00
5ab9fb89bb
fix(tasks): check for cycles during creation of task relations and prevent them 2024-02-10 13:30:41 +01:00
d36b1608cf
fix: lint
All checks were successful
continuous-integration/drone/pr Build is passing
2024-02-09 15:32:12 +01:00
ca68b52991
feat: replace api url with public url 2024-02-09 14:44:41 +01:00
2d32d900c8
feat: replace api url with public url 2024-02-09 14:42:07 +01:00
119c68be9d
feat: rename frontend url config to public url 2024-02-09 14:41:55 +01:00
78df83ee69
feat: replace api url 2024-02-09 14:38:54 +01:00
db2ec45378
feat: move custom logo setting to api 2024-02-09 14:33:21 +01:00
d7dc209f15
feat: move allow icon changes setting to api 2024-02-09 14:30:21 +01:00
a0e770438d
feat: move sentry configuration from frontend to api 2024-02-09 14:24:29 +01:00
b3228794c7
feat: add caching rules for more files 2024-02-09 13:42:05 +01:00
8b3cf2ed7e
chore: remove static path config option 2024-02-09 13:41:51 +01:00
9c45d9ca15
feat: cache header and etag generation 2024-02-09 13:41:51 +01:00
81455242ae
chore: copy static file handler 2024-02-09 13:41:50 +01:00
6c5194b892
feat: bundle frontend files with api in one static bundle 2024-02-09 13:41:50 +01:00
fceb638e75
docs: remove mention of vikunja/api and vikunja/frontend repos 2024-02-08 14:31:02 +01:00
b95b92a23a
fix(filters): add explicit check for string slice filter
Some checks failed
continuous-integration/drone/push Build is failing
Resolves https://github.com/go-vikunja/api/issues/109
2024-02-05 22:08:17 +01:00
8efdc96d02
chore(filters): log type if unknown filter type
Some checks failed
continuous-integration/drone/push Build is failing
2024-02-01 16:19:22 +01:00
7f46914d5e
fix(project): pass user id to error message
Some checks failed
continuous-integration/drone/push Build is failing
2024-01-31 13:50:21 +01:00
Frederick [Bot]
ba0cb022b1 [skip ci] Updated swagger docs 2024-01-28 14:43:54 +00:00