233 Commits

Author SHA1 Message Date
68636f27da
fix(files): use absolute path everywhere
All checks were successful
continuous-integration/drone/push Build is passing
2024-09-06 12:59:48 +02:00
329de3aab3
chore(web): remove unused echo context 2024-08-29 16:20:39 +02:00
2063da9eec
chore(web): move web handler package to Vikunja 2024-08-29 16:15:28 +02:00
7a7e97770c
chore(errors): always add internal error to echo error
Some checks failed
continuous-integration/drone/push Build is failing
2024-08-29 15:39:34 +02:00
ebfd5f54d2
fix(migration): ensure project background gets exported and imported
Some checks failed
continuous-integration/drone/push Build is failing
2024-08-12 17:18:07 +02:00
28b4eaee31
fix(migration): make sure tasks are associated to the correct view and bucket for data imported from Vikunja dump
Some checks failed
continuous-integration/drone/push Build is failing
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
ecdb03aca8
fix(migration): correctly set bucket for related tasks
Some checks failed
continuous-integration/drone/push Build is failing
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
8439c9cc1e
fix(migration): failed migration typo
All checks were successful
continuous-integration/drone/push Build is passing
2024-07-15 12:10:29 +02:00
359b07dabb
fix(views): move bucket update to extra endpoint
All checks were successful
continuous-integration/drone/push Build is passing
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
c17e4564e7
fix(migration): ensure tasks are put into the correct bucket when migrating from todoist
Some checks failed
continuous-integration/drone/push Build is failing
Resolves https://github.com/go-vikunja/vikunja/issues/254
2024-06-04 08:33:11 +02:00
66e96322ea
fix: do not remove empty openid teams when none are present
All checks were successful
continuous-integration/drone/push Build is passing
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
409822442b
fix(backgrounds): return full project after uploading image
Some checks failed
continuous-integration/drone/push Build is failing
2024-04-22 18:33:43 +02:00
aec60f3591
feat(backgrounds): resize images to a maximum of 4K
Some checks failed
continuous-integration/drone/push Build is failing
Resolves #1373 (comment)
2024-04-22 18:29:58 +02:00
0962aa4262
fix(restore): transform json fields during restore
Some checks failed
continuous-integration/drone/push Build is failing
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
ce1d7778c7
fix(export): make export work with project views and new task positions
All checks were successful
continuous-integration/drone/push Build is passing
2024-04-13 21:07:06 +02:00
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
61ee0bd5e2 feat(migration): include non upload attachments from Trello (#2261)
All checks were successful
continuous-integration/drone/push Build is passing
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: #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
bc19a2fb78
fix(migration): import card comments from Trello when migrating
All checks were successful
continuous-integration/drone/push Build is passing
Related: https://community.vikunja.io/t/trello-import-comments-and-assignments/2174/3
2024-04-09 13:56:17 +02:00
994aaeb920
fix(migration): trello: only fetch attachments when the card actually has attachments 2024-04-09 13:25:03 +02:00
8458e77341 feat(migration): Trello organization based migration (#2211)
Some checks failed
continuous-integration/drone/push Build is failing
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: #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
af3b0bbea1
fix: lint
All checks were successful
continuous-integration/drone/push Build is passing
2024-04-08 13:23:15 +02:00
e10cd368bf
feat(migration): notify the user when a migration failed
Some checks failed
continuous-integration/drone/push Build is failing
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
0b9ef27d04
fix(migration): show correct message after starting a migration
Some checks failed
continuous-integration/drone/push Build is failing
Related to https://github.com/go-vikunja/vikunja/issues/238
2024-04-07 15:11:59 +02:00
8bee5aa806
fix(project): return the full project when setting a background
Some checks failed
continuous-integration/drone/push Build is failing
Related to #2246
2024-04-07 14:53:57 +02:00
f3cdd7d15f
fix(views): import 2024-03-19 00:47:51 +01:00
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
a5c51d4b1e feat: emoji reactions for tasks and comments (#2196)
All checks were successful
continuous-integration/drone/push Build is passing
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: #2196
Co-authored-by: kolaente <k@knt.li>
Co-committed-by: kolaente <k@knt.li>
2024-03-12 19:25:58 +00:00
0910d5d2f2
chore(auth): refactor removing empty openid teams to cron job
Some checks failed
continuous-integration/drone/push Build is failing
2024-03-11 17:20:05 +01:00
0057ac5836
fix(migration): only download uploaded attachments
All checks were successful
continuous-integration/drone/push Build is passing
2024-03-10 18:41:37 +01:00
ca0de680ad
fix(migration): import card covers when migrating from Trello
All checks were successful
continuous-integration/drone/push Build is passing
2024-03-10 16:30:06 +01:00
ffa82556e0 feat(teams): add public flags to teams to allow easier sharing with other teams (#2179)
Some checks failed
continuous-integration/drone/push Build is failing
Resolves #2173
Co-authored-by: Daniel Herrmann <daniel.herrmann1@gmail.com>
Reviewed-on: #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)
Some checks failed
continuous-integration/drone/push Build is failing
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: #2099
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2024-03-10 13:47:19 +00:00
c5e8ff66fb fix(migration): updated Trello color map to import all labels (#2178)
All checks were successful
continuous-integration/drone/push Build is passing
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: #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
86983f50d4 fix(migration): Trello checklists (#2140)
All checks were successful
continuous-integration/drone/push Build is passing
Trello checklists are now properly converted to html checklists and put into the description.

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: #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
e65c3ffe6b
fix(migration): convert trello card descriptions from markdown to html
All checks were successful
continuous-integration/drone/push Build is passing
2024-03-09 09:31:57 +01:00
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
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
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
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
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
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
119c68be9d
feat: rename frontend url config to public url 2024-02-09 14:41:55 +01:00
30a2dcd04c
fix: lint 2024-01-28 15:27:14 +01:00
ce53663a88
fix(openid): use the calculated redirect url when authenticating with openid providers
Some checks failed
continuous-integration/drone/push Build is failing
2024-01-28 12:41:35 +01:00