Commit Graph

1358 Commits

Author SHA1 Message Date
kolaente
1fac81c8de feat(cli): add cli command to delete orphan task positions 2024-10-31 19:19:56 +01:00
kolaente
d03f9c7b73 fix(positions): directly look in the database to fetch tasks when recalculating their position 2024-10-31 19:02:15 +01:00
kolaente
d7eff8e43b feat(positions): add more debug logs 2024-10-31 18:46:09 +01:00
kolaente
7f5f5a4b8d fix(events): do not crash filter event handler when triggered by a link share user
Resolves https://vikunja.sentry.io/issues/6030883119/events/4013802889b64b6b9d868e7c83ba4eb5/
2024-10-30 14:49:33 +01:00
kolaente
d081cf80fc chore(caldav): refactor fetching projects 2024-10-30 08:37:27 +01:00
kolaente
b9366ca9e3 fix(filter): use correct syntax for not in query in typesense
Related to https://github.com/typesense/typesense/issues/2038
2024-10-29 17:23:16 +01:00
kolaente
57c6f2cd10 feat(filters): add "not in" operator for filters
Resolves https://community.vikunja.io/t/feature-requests-regarding-view-ordering-project-reference-in-kanban-and-a-notin-operator/2728
2024-10-29 12:03:16 +01:00
kolaente
412a8ef654 chore(projects): only pass users to checks 2024-10-29 09:11:06 +01:00
kolaente
816da6bc50 fix(projects): check with the current user if they have access to the project 2024-10-29 08:40:14 +01:00
kolaente
dace07efda fix(projects): return 0 if no parent project exists 2024-10-29 08:25:20 +01:00
kolaente
fa032a889f fix(filters): do not crash when a filter is invalid
Resolves https://vikunja.sentry.io/issues/6025547266/events/a62beaa09caf482ba238b18f363956df
2024-10-28 16:16:48 +01:00
kolaente
e30374a28c fix(projects): only add conditions to query when they are non-empty 2024-10-28 16:09:31 +01:00
kolaente
b013b294e2 fix(projects): remove unnecessary join
The removal of the unnecessary join condition speeds up the query 10x. Before, it would take ~700ms on Vikunja Cloud. With this removal, the otherwise same query now takes ~70ms (which still leaves plenty of room for improvements, but it's already a great step forwards).
2024-10-28 15:58:07 +01:00
kolaente
acdb45a92c fix: lint 2024-10-28 14:04:54 +01:00
kolaente
29107e9865 fix: error message check on mysql 2024-10-28 13:50:12 +01:00
kolaente
a70c472aa3 fix: create missing indexes on postgres 2024-10-28 13:25:38 +01:00
kolaente
e1893ff573 chore: cleanup 2024-10-28 12:44:54 +01:00
kolaente
106a1c7864 fix(events): report async errors via Sentry 2024-10-28 12:44:26 +01:00
kolaente
7055d7341c feat(sharing): add config so that users only find members of their teams
This adds a feature where you can enable users to only find members of teams they're part of. This makes the user search when sharing projects less confusing, because users only see other users they already know.
It is still possible to add users to teams with their email address, if they have that enabled in the user settings.
2024-10-28 11:08:06 +01:00
John Doe
28d5cd7b28 feat: allow setting schema for connection in postgres (#2777)
This PR introduce a new config for database, `database.schema`, allowing user to specify a specific schema to use for their postgres database connection. As the default value is set, it will be backward compatible.

Related discussion: https://community.vikunja.io/t/postgres-database-has-error-pq-relation-tasks-does-not-exist/1333

Reviewed-on: https://kolaente.dev/vikunja/vikunja/pulls/2777
Co-authored-by: John Doe <hugosum.dev@protonmail.com>
Co-committed-by: John Doe <hugosum.dev@protonmail.com>
2024-10-26 16:06:47 +00:00
kolaente
b5cbe99b0a fix(cmd): report error when the connection to the mail server failed
When running the testmail command, Vikunja would not stop if it wasn't able to connect to the mail server. This was a regression from 950de7c954.
This change fixes that problem.

Resolves https://kolaente.dev/vikunja/vikunja/issues/2767
2024-10-25 19:23:39 +02:00
Sterad
d784e98f8c feat(cmd): Allow to specify custom filename for dump command (#2775)
This simplifies automated postprocessing of the backup file.

Co-authored-by: Maarten <mail@mgrothus.de>
Reviewed-on: https://kolaente.dev/vikunja/vikunja/pulls/2775
Co-authored-by: Sterad <hgasuser@gmail.com>
Co-committed-by: Sterad <hgasuser@gmail.com>
2024-10-25 12:37:17 +00:00
Sterad
1f76a8bb64 feat: preferably award admin access to project users with write access on user deletion (#2772)
Reviewed-on: https://kolaente.dev/vikunja/vikunja/pulls/2772
Co-authored-by: Sterad <hgasuser@gmail.com>
Co-committed-by: Sterad <hgasuser@gmail.com>
2024-10-24 20:42:38 +00:00
kolaente
3ad5797307 fix: do not prefix tasks all the time
Fixes a regression from 29b9001078
2024-10-21 10:32:14 +02:00
kolaente
29b9001078 feat(filters): allow filtering by created and updated task fields
Resolves https://kolaente.dev/vikunja/vikunja/issues/2768
2024-10-18 15:15:19 +02:00
Frederick [Bot]
5eebfb3371 [skip ci] Updated swagger docs 2024-10-15 10:42:30 +00:00
kolaente
d50572c544 fix(project): permission query on mysql 2024-10-15 12:16:22 +02:00
kolaente
302424b047 fix: lint 2024-10-15 11:57:49 +02:00
kolaente
cda8155de4 fix(projects): correctly check inherited permissions 2024-10-15 11:56:51 +02:00
kolaente
92b90013ab feat(projects): optionally return max right when querying all projects
This change introduces an expand query parameter which, when provided, allows to return all projects with the max right the current user has on that project. This allows to show and hide appropriate buttons in the frontend.

Resolves https://github.com/go-vikunja/vikunja/issues/334
2024-10-13 19:22:09 +02:00
kolaente
3e9c41cfc6 fix(api): allow api tokens to retrieve the user who created the token
Resolves https://kolaente.dev/vikunja/vikunja/issues/2644
2024-10-13 16:02:53 +02:00
kolaente
a88124cfce feat: make used bcrypt rounds configurable
This allows to configure the used bcrypt rounds and set it to 4 in tests, greatly speeding up the tests. It's not really required to set this to another value but it might be in the future as computers get faster.
2024-10-13 15:38:04 +02:00
kolaente
9219f7032e fix: error reporting 2024-10-11 08:54:50 +02:00
kolaente
35a463c984 fix(filters): prevent position and bucket ID overriding position of existing tasks
This fixes a bug where the task position in a task was updated and immediately overridden by the update event handler.

Resolves https://community.vikunja.io/t/not-able-to-move-task-between-buckets-within-a-kanban-view-for-saved-filter/2882
2024-10-10 16:05:31 +02:00
kolaente
8ab387396d fix: do not try to reindex tasks into typesense when it is not set up 2024-10-10 16:01:17 +02:00
kolaente
d81f2db6ef chore: replace all uses of bucket_id with the const 2024-10-02 10:43:51 +02:00
kolaente
425f6378c6 fix(kanban): make loading tasks for a bucket work
This fixes two closely-related bugs:
1. When loading tasks from a bucket of a saved filter, the saved filter query would override the user-supplied filter, which would cause to only tasks matching the saved filter query to be returned.
2. When a filter query for a bucket was specified, the function would only check if one of the top level filters was a filter for tasks in a specific bucket. That means a filter like "bucket_id = 42 && labels = foo" would return the expected result, while a filter like "labels = foo && (bucket_id = 42 && priority = 1)" would fail with an error 500 because the task_buckets table was not joined to the sql query. The fix from the first bug caused such filter queries.
2024-10-02 10:41:38 +02:00
kolaente
80d22d5060 fix(colors): truncate longer hex color values
Resolves https://vikunja.sentry.io/share/issue/6f1e37d4b8b248188e20650234a45cde/
2024-09-30 20:06:10 +02:00
kolaente
1eaeb8d003 fix(filters): change assertion based on the environment 2024-09-30 19:54:00 +02:00
kolaente
8d05b5cb01 fix(filters): return more details when the provided filter time zone is invalid 2024-09-30 08:42:16 +02:00
kolaente
754d56ca82 fix(filters): increase year value when using mysql and year < 1
Mysql cannot handle year values < 1. That means filtering for a date value like 0000-01-01 won't work with mysql. Additionally, dates like 0001-01-01 could under some circumstances not work either when the date in combination with the time zone would resolve to something like 0000-12-31 - for example when the server is located (and configured) in UTC, but the user running the query is in New York. This could be observed by setting the time zone manually using the filter_timezone query parameter.

Resolves https://vikunja.sentry.io/share/issue/42bce92c15354c109eb1e6488b6a542b/
Resolves https://vikunja.sentry.io/share/issue/ef81451b0c7b43f1bff2d3a86ba393bb/
2024-09-30 08:41:24 +02:00
kolaente
d22bc79d3c chore(tasks): add more details to error message
Trying to debug https://vikunja.sentry.io/share/issue/ef81451b0c7b43f1bff2d3a86ba393bb/
2024-09-29 21:44:28 +02:00
kolaente
1fe5e9cc55 chore(tasks): add more details to error message
Trying to debug https://vikunja.sentry.io/share/issue/ef81451b0c7b43f1bff2d3a86ba393bb/
2024-09-29 21:05:55 +02:00
kolaente
5478acfc09 fix(files): configure the files path in files init instead of globally
This fixes a regression introduced in daa7ad053c where the root path would be included twice in the file path, leading to retrieval issues.
2024-09-29 19:04:25 +02:00
kolaente
287d4f7de2 fix(filters): make sure year is always at least 1
Resolves https://vikunja.sentry.io/share/issue/ef81451b0c7b43f1bff2d3a86ba393bb/
Resolves https://github.com/go-vikunja/app/issues/94#issuecomment-2351818484
2024-09-29 18:56:46 +02:00
kolaente
daa7ad053c feat: auto tls
This commit introduces the automatic retrieval of TLS certificates from Let's Encrypt. If the feature is enabled, Vikunja will automagically request a certificate from Let's Encrypt and configure it to server content via TLS.
2024-09-29 18:20:30 +02:00
kolaente
ca967782e8 fix(filters): explicitly search in json when using postgres
Resolves https://github.com/go-vikunja/vikunja/issues/330
Resolves https://community.vikunja.io/t/add-task-to-filter-view-cron-error-fetching-filters-pq-operator-does-not-exist-json-unknown/2831
2024-09-29 11:39:44 +02:00
jd
84dbc5fd84 fix: partial fix to allow list tasks in ios reminders app (#2717)
This PR introduces a partial fix for the CalDAV task listing bug (#753) when handling PROPFIND requests with `Depth: 1`, improving task visibility in the iOS Reminders app.

Notes:
* This might make Thunderbird somewhat usable when interacting with tasks using the `/dav/projects/{id} url`.
* This does not fully resolve the issue where the Reminders app will only display the last project after some time when adding the URL.

This is my first time working with Golang and CalDAV, so I’d really appreciate any feedback or suggestions on the code structure, style, or any improvements I could make.

Co-authored-by: JD <43763092+jdw1023@users.noreply.github.com>
Reviewed-on: https://kolaente.dev/vikunja/vikunja/pulls/2717
Reviewed-by: konrad <k@knt.li>
Co-authored-by: jd <jd@noreply.kolaente.dev>
Co-committed-by: jd <jd@noreply.kolaente.dev>
2024-09-28 09:06:32 +00:00
kolaente
261c6e6c9e fix(files): only use service rootpath for files when the files path is not absolute
Resolves https://community.vikunja.io/t/images-failing-to-load-500-internal-server-error/2835
2024-09-23 14:41:00 +02:00
kolaente
207b88a286 fix(typesense): use typesense bulk insert, log all errors 2024-09-20 10:20:18 +02:00