Compare commits

...

9415 Commits

Author SHA1 Message Date
Frederick [Bot]
9cf18a2efa chore(i18n): update translations via Crowdin
All checks were successful
continuous-integration/drone/push Build is passing
2024-10-12 00:31:54 +00:00
8832b9de29 fix(deps): update dependency vue to v3.5.12
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-10-11 15:15:34 +00:00
a4a52f4747 fix(deps): update dependency @sentry/vue to v8.34.0
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-10-11 07:15:49 +00:00
9219f7032e
fix: error reporting
All checks were successful
continuous-integration/drone/push Build is passing
2024-10-11 08:54:50 +02:00
35a463c984
fix(filters): prevent position and bucket ID overriding position of existing tasks
Some checks failed
continuous-integration/drone/push Build is failing
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
8ab387396d
fix: do not try to reindex tasks into typesense when it is not set up 2024-10-10 16:01:17 +02:00
ab03a8bb2c chore(deps): update dependency typescript to v5.6.3
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-10-09 00:15:24 +00:00
de09bb779f fix(deps): update dependency express to v4.21.1
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-10-08 19:14:47 +00:00
7e69200483 chore(deps): update dependency @types/node to v20.16.11
All checks were successful
continuous-integration/drone/push Build is passing
2024-10-08 09:00:39 +00:00
e124d09738 fix(deps): update dependency @kyvg/vue3-notification to v3.4.0
Some checks failed
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is failing
2024-10-07 22:15:34 +00:00
12894c4619 chore(deps): update pnpm to v9.12.1
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-10-07 14:14:53 +00:00
841cf10545 chore(deps): update dependency caniuse-lite to v1.0.30001667
All checks were successful
continuous-integration/drone/push Build is passing
2024-10-07 11:57:12 +00:00
b31e95d439 fix(deps): update module golang.org/x/crypto to v0.28.0
All checks were successful
continuous-integration/drone/push Build is passing
2024-10-06 15:22:25 +00:00
3efa9577c7 fix(deps): update dependency vue-i18n to v10.0.4
Some checks failed
continuous-integration/drone/push Build is failing
2024-10-06 15:21:55 +00:00
e21138e1c7 fix(deps): update module golang.org/x/term to v0.25.0
Some checks failed
continuous-integration/drone/push Build is failing
2024-10-06 15:21:09 +00:00
2b44b5f7cd fix(deps): update dependency @sentry/vue to v8.33.1
Some checks failed
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is failing
2024-10-06 14:15:09 +00:00
07faa1b1b3 fix(deps): update dependency vue to v3.5.11
Some checks failed
continuous-integration/drone/push Build is failing
2024-10-06 13:40:12 +00:00
9dcbfb0514 fix(deps): update module golang.org/x/sys to v0.26.0
Some checks failed
continuous-integration/drone/push Build is failing
2024-10-06 13:39:34 +00:00
2e67a42021 fix(deps): update module golang.org/x/image to v0.21.0
Some checks failed
continuous-integration/drone/push Build is failing
2024-10-06 13:39:03 +00:00
cb9e84908f fix(deps): update module golang.org/x/text to v0.19.0
All checks were successful
continuous-integration/drone/push Build is passing
2024-10-05 17:43:13 +00:00
8a003db3af fix(deps): update module github.com/mattn/go-sqlite3 to v1.14.24
Some checks failed
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is failing
2024-10-04 16:15:13 +00:00
Frederick [Bot]
de110b37be chore(i18n): update translations via Crowdin
All checks were successful
continuous-integration/drone/push Build is passing
2024-10-04 00:32:06 +00:00
f10e8dc30f chore(deps): update dependency rollup to v4.24.0
All checks were successful
continuous-integration/drone/push Build is passing
2024-10-03 06:47:11 +00:00
Frederick [Bot]
3b7f78eaa5 chore(i18n): update translations via Crowdin
All checks were successful
continuous-integration/drone/push Build is passing
2024-10-03 00:31:16 +00:00
7070c88894 fix(deps): update dependency @sentry/vue to v8.33.0
All checks were successful
continuous-integration/drone/push Build is passing
2024-10-02 15:46:49 +00:00
d657a853fa chore(deps): update pnpm to v9.12.0
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-10-02 13:14:55 +00:00
d81f2db6ef
chore: replace all uses of bucket_id with the const
All checks were successful
continuous-integration/drone/push Build is passing
2024-10-02 10:43:51 +02:00
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
b6806acda0 chore(deps): update dependency go to v1.23.2
All checks were successful
continuous-integration/drone/push Build is passing
2024-10-02 07:46:06 +00:00
fa873f5540 fix(deps): update dependency pinia to v2.2.4
Some checks failed
continuous-integration/drone/push Build is failing
2024-10-02 07:45:50 +00:00
faff1040dc feat(task): cancel editing task title with escape (#2730)
Some checks failed
continuous-integration/drone/push Build is failing
With this change, it is possible to cancel editing the task title with pressing the escape key.

# Problem

Before it was not possible to cancel editing the task title. Pressing outside the title saves the changes that have already been done (which is intended I think). But when e.g. pasting something with a wrong format, I was not able to revert the change without saving and editing it again

Example: after accidentially pasting something with multiple lines it is not possible to escape, the only way to revert this is to save and edit again manually:
![grafik.png](/attachments/11d3559a-3111-458f-9a9c-4107292054fa)

# Solution

This PR implements a listener for the escape key that sets the title back to its original value and blurs the focus of the title

# Additional notes

- I checked this in the "page" view of the task and the "popup" view and it worked in both. For me, the popup does not close with the escape key (as it often does on other sites), therefore there is no collision with this function. But I think it would be good to check this again to make sure it does not break anything like this
- I don't know anything about testing in this repository, if it is possible/necessary to implement a test for this feature please leave a comment :)

Co-authored-by: Daniel Pantle <daniel.pantle@newtec.de>
Reviewed-on: #2730
Co-authored-by: DanielPantle <danielpantle@noreply.kolaente.dev>
Co-committed-by: DanielPantle <danielpantle@noreply.kolaente.dev>
2024-10-02 07:32:33 +00:00
4c74a3f859 chore(deps): update dev-dependencies
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-10-02 05:14:56 +00:00
Frederick [Bot]
b6e22cba7d chore(i18n): update translations via Crowdin
Some checks failed
continuous-integration/drone/push Build is failing
2024-10-01 00:32:32 +00:00
3271a935c5 fix(deps): update tiptap to v2.8.0
All checks were successful
continuous-integration/drone/push Build is passing
2024-09-30 19:20:55 +00:00
8be3321efd fix(deps): update dependency pinia to v2.2.3
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-09-30 18:15:23 +00:00
80d22d5060
fix(colors): truncate longer hex color values
All checks were successful
continuous-integration/drone/push Build is passing
Resolves https://vikunja.sentry.io/share/issue/6f1e37d4b8b248188e20650234a45cde/
2024-09-30 20:06:10 +02:00
1eaeb8d003
fix(filters): change assertion based on the environment
Some checks failed
continuous-integration/drone/push Build is failing
2024-09-30 19:54:00 +02:00
8d05b5cb01
fix(filters): return more details when the provided filter time zone is invalid
Some checks failed
continuous-integration/drone/push Build is failing
2024-09-30 08:42:16 +02:00
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
d22bc79d3c
chore(tasks): add more details to error message
All checks were successful
continuous-integration/drone/push Build is passing
Trying to debug https://vikunja.sentry.io/share/issue/ef81451b0c7b43f1bff2d3a86ba393bb/
2024-09-29 21:44:28 +02:00
3855e179a9
fix(filters): clarify usage of reminders in filters
Some checks failed
continuous-integration/drone/push Build is failing
2024-09-29 21:11:08 +02:00
1fe5e9cc55
chore(tasks): add more details to error message
Some checks failed
continuous-integration/drone/push Build is failing
Trying to debug https://vikunja.sentry.io/share/issue/ef81451b0c7b43f1bff2d3a86ba393bb/
2024-09-29 21:05:55 +02:00
5478acfc09
fix(files): configure the files path in files init instead of globally
All checks were successful
continuous-integration/drone/push Build is passing
This fixes a regression introduced in daa7ad053c35a97933ca79aee007c388538bab5d where the root path would be included twice in the file path, leading to retrieval issues.
2024-09-29 19:04:25 +02:00
287d4f7de2
fix(filters): make sure year is always at least 1
Some checks failed
continuous-integration/drone/push Build is failing
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
14a3156465
fix(mage): actually pass the cli parameter to the function
Some checks failed
continuous-integration/drone/push Build is failing
2024-09-29 18:22:21 +02:00
daa7ad053c
feat: auto tls
Some checks failed
continuous-integration/drone/push Build is failing
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
6a94c39ea8
fix(desktop): use pnpm in ci
All checks were successful
continuous-integration/drone/push Build is passing
2024-09-29 16:07:58 +02:00
ca048d07f9
chore: 0.24.4 release preperation
All checks were successful
continuous-integration/drone/push Build is passing
2024-09-29 15:46:37 +02:00
3ce477e1d1
fix(test): use correct selector for modal header
All checks were successful
continuous-integration/drone/push Build is passing
2024-09-29 14:16:43 +02:00
9f9b00144b
fix(task): improve task delete modal on mobile
Some checks failed
continuous-integration/drone/push Build is failing
2024-09-29 13:47:35 +02:00
308e634c71
fix(task): do not show close button when the task was not opened via modal
Some checks failed
continuous-integration/drone/push Build is failing
2024-09-29 13:36:30 +02:00
54994a1671
fix(task): paginate task comments
Some checks failed
continuous-integration/drone/push Build is failing
Resolves https://github.com/go-vikunja/vikunja/issues/329
2024-09-29 13:28:29 +02:00
ca967782e8
fix(filters): explicitly search in json when using postgres
All checks were successful
continuous-integration/drone/push Build is passing
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)
All checks were successful
continuous-integration/drone/push Build is passing
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: #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
4d8c957f75 chore(deps): update dev-dependencies
Some checks failed
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is failing
2024-09-28 03:15:11 +00:00
654f375d39 fix(deps): update dependency vue to v3.5.10
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-09-27 16:16:35 +00:00
bdb3df8395 fix(deps): update tiptap to v2.7.4
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-09-26 13:15:53 +00:00
df41a96148 fix(deps): update dependency dompurify to v3.1.7
All checks were successful
continuous-integration/drone/push Build is passing
2024-09-26 12:43:48 +00:00
892b8ad89a fix(deps): update dependency vue to v3.5.9
Some checks failed
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is failing
2024-09-26 12:15:21 +00:00
b4ac1adacb chore(deps): update dev-dependencies
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-09-26 04:15:38 +00:00
0706ca60b5 fix(deps): update tiptap to v2.7.3
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-09-25 16:15:32 +00:00
15d95f16da
fix(checkbox): use sibling css selector instead of has
Some checks reported errors
continuous-integration/drone/push Build was killed
This makes the checkbox work as intended on older browsers which do not support the :has selector.

Resolves #2713
2024-09-25 14:38:17 +02:00
f7f1b1638b fix(deps): update dependency @sentry/vue to v8.32.0
All checks were successful
continuous-integration/drone/push Build is passing
2024-09-25 12:03:31 +00:00
2ece97fc2b chore(deps): update dev-dependencies
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-09-25 05:15:48 +00:00
71901a62f2 chore(deps): update dev-dependencies
Some checks failed
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is failing
2024-09-24 00:15:47 +00:00
cda0848b2a fix(deps): update dependency tailwindcss to v3.4.13
Some checks reported errors
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build was killed
2024-09-23 15:15:27 +00:00
261c6e6c9e
fix(files): only use service rootpath for files when the files path is not absolute
All checks were successful
continuous-integration/drone/push Build is passing
Resolves https://community.vikunja.io/t/images-failing-to-load-500-internal-server-error/2835
2024-09-23 14:41:00 +02:00
204dccf08b
feat: add utm tag to powered by link
All checks were successful
continuous-integration/drone/push Build is passing
2024-09-23 12:07:06 +02:00
c85cfcce6a fix(deps): update dependency @sentry/vue to v8.31.0
All checks were successful
continuous-integration/drone/push Build is passing
2024-09-23 08:49:46 +00:00
c35c70e71f
feat: do not load notifications while in the background
All checks were successful
continuous-integration/drone/push Build is passing
2024-09-23 10:31:09 +02:00
dea123dbea
docs: format config json
All checks were successful
continuous-integration/drone/push Build is passing
2024-09-22 17:18:17 +02:00
5643027454
docs: intro for migrators 2024-09-22 17:18:01 +02:00
b9cdc9fbe5
docs: clarify migrators
Some checks failed
continuous-integration/drone/push Build is failing
2024-09-22 17:10:36 +02:00
003db05b66
docs: clarify enabled providers
All checks were successful
continuous-integration/drone/push Build is passing
2024-09-22 16:32:48 +02:00
c5a97ef0a3
docs: correctly document providers in config
All checks were successful
continuous-integration/drone/push Build is passing
2024-09-22 15:58:21 +02:00
8776465fa2
fix: generate config in ci
All checks were successful
continuous-integration/drone/push Build is passing
2024-09-22 15:35:03 +02:00
51bdbba286 fix(deps): update dependency @intlify/unplugin-vue-i18n to v5.2.0
Some checks failed
continuous-integration/drone/push Build is failing
2024-09-22 12:37:53 +00:00
3c70bd630d
feat: generate yml config from json
Some checks failed
continuous-integration/drone/push Build is failing
This change introduces a more abstract way of managing the config, allowing us to generate it into yaml and markdoc for the website.
It also changes the distributed config to be all commented out so that people using it only comment in the values they need.
2024-09-22 14:37:31 +02:00
2d5e2f70b9 fix(deps): update dependency vue-i18n to v10.0.3
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-09-22 11:15:26 +00:00
2c8ca629de fix(deps): update dependency @intlify/unplugin-vue-i18n to v5.1.0
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-09-22 10:15:42 +00:00
a61ac5ac32 fix(deps): update dependency vue to v3.5.8
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-09-22 07:15:39 +00:00
8c9d75e9a4 chore(deps): update dev-dependencies
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-09-22 02:15:43 +00:00
28f208542f fix(deps): update dependency vue-i18n to v10.0.2
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-09-21 18:15:59 +00:00
6a2a78d014 chore(deps): update dev-dependencies
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-09-21 05:16:14 +00:00
2c791e6dd2 fix(deps): update dependency vue to v3.5.7
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-09-20 16:15:48 +00:00
4d2021997a
chore(deps): update desktop lockfile
All checks were successful
continuous-integration/drone/push Build is passing
2024-09-20 17:42:37 +02:00
732902919b
chore: 0.24.3 release preperation
All checks were successful
continuous-integration/drone/push Build is passing
2024-09-20 14:48:51 +02:00
31ae716ab2 chore(deps): update pnpm to v9.11.0
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-09-20 11:15:25 +00:00
207b88a286
fix(typesense): use typesense bulk insert, log all errors
All checks were successful
continuous-integration/drone/push Build is passing
2024-09-20 10:20:18 +02:00
50a0674835
fix(typesense): force position to always be float instead of auto-inferring
Some checks failed
continuous-integration/drone/push Build is failing
This fixes an issue where it would be impossible to update a task in Typesense when the position for a view of it was previously saved as int64. This happened because the field is created per view on demand and its type is automatically inferred from the data saved. Now, when the first value for a particular position field is a float which could as well be an int (for example, 42.0), that field gets created as an int64 instead of float. Subsequent tries to save a float into that field will then fail.

Additionally, errors about this are silently discarded when using bulk insert. That's why the problem was not really debuggable at first.
2024-09-20 10:13:05 +02:00
8181829c9e
fix(typesense): index tasks one by one
All checks were successful
continuous-integration/drone/push Build is passing
2024-09-20 09:18:57 +02:00
83aeb90376
chore(logging): simplify log template string
All checks were successful
continuous-integration/drone/push Build is passing
2024-09-20 08:42:22 +02:00
e4584109df
chore(typesense): add more debug logging 2024-09-20 08:42:21 +02:00
6d7748988a fix(deps): update dependency vuemoji-picker to v0.3.1
All checks were successful
continuous-integration/drone/push Build is passing
2024-09-20 05:55:16 +00:00
363da6c80f chore(deps): update dev-dependencies
Some checks failed
continuous-integration/drone/push Build is failing
2024-09-20 05:55:04 +00:00
3f1d0f390b
fix(typesense): use emplace instead of upsert to update documents
Some checks failed
continuous-integration/drone/push Build is failing
2024-09-20 07:54:23 +02:00
edf206aba6
fix(typesense): make sure task positions are recreated properly when updating them
All checks were successful
continuous-integration/drone/push Build is passing
Related https://community.vikunja.io/t/version-0-24-0-internal-server-error-breaking-change/2558
Related https://github.com/go-vikunja/vikunja/issues/317
2024-09-19 15:57:18 +02:00
9e39ef9397
fix(typesense): add new tasks to typesense properly
Some checks failed
continuous-integration/drone/push Build is failing
Maybe related to https://github.com/go-vikunja/vikunja/issues/317
2024-09-19 15:30:14 +02:00
c54181eeda
fix(deps): update module github.com/typesense/typesense-go to v2 2024-09-19 15:30:13 +02:00
b3bf92b7ce
fix(typesense): only fail silently when a project was not found during indexing 2024-09-19 15:30:13 +02:00
05dd05216d fix(deps): update tiptap to v2.7.2
All checks were successful
continuous-integration/drone/push Build is passing
2024-09-19 11:57:11 +00:00
cd0ab54d57
fix(views): add migration for filtered kanban buckets
All checks were successful
continuous-integration/drone/push Build is passing
2024-09-19 13:23:23 +02:00
a7bd9dad24
feat(task): use focus-visible for task focus styles
All checks were successful
continuous-integration/drone/push Build is passing
2024-09-19 13:01:18 +02:00
10e245f6d0
fix(a11y): hide unfocusable buttons 2024-09-19 12:50:47 +02:00
010dd1ea22
fix(task): open focused task when pressing enter 2024-09-19 12:50:21 +02:00
65a2814b2a
feat(navigation): use focus-visible for nav items
All checks were successful
continuous-integration/drone/push Build is passing
2024-09-19 12:36:33 +02:00
4dd9d5de67
fix(filters): correctly transform and populate saved filter when creating and editing
Some checks failed
continuous-integration/drone/push Build is failing
This fixes a bug where the checkbox "include nulls" during creation was not checked but would be saved as such.
2024-09-19 12:21:19 +02:00
ec902b051b
fix(task): mark related task as done from the task detail view
All checks were successful
continuous-integration/drone/push Build is passing
Resolves https://github.com/go-vikunja/vikunja/issues/326
2024-09-19 11:31:06 +02:00
4b2b8e3b83
chore: rearrange cron registers
Some checks failed
continuous-integration/drone/push Build is failing
2024-09-19 11:24:43 +02:00
bc52da4029
fix(filter): make sure tasks are in a correct bucket and position when they are part of a date filter
Some checks failed
continuous-integration/drone/push Build is failing
Whenever a task is part of a date filter, it might fall in or out of a filter bucket without anything changing, other than the current time. For example, a filter condition like due_date > now may include different tasks depending on the current time.
For these kinds of tasks to properly show up in the kanban view of a filter, there has to be an entry in the task_buckets table. These entries only got updated when either a task was updated or the filter itself was updated. To account for th changing of time, we also need to check periodically if tasks are now part or not anymore part of that filter.
This change adds a cron task to do precisely that.
We'll have to see if this works resource-wise, but the cron is not the only one doing a bunch of sql queries so it might be fine after all.

Resolves https://community.vikunja.io/t/tasks-in-saved-filter-appear-in-list-view-but-are-not-visible-in-kanban-view/2800
2024-09-19 11:19:48 +02:00
2123da49a3
fix(task): cleanup old task positions and task buckets when adding an updated or created task to filter
All checks were successful
continuous-integration/drone/push Build is passing
2024-09-19 09:30:21 +02:00
c53a761396
fix(task): add task to filter view after it was updated
Maybe resolves https://community.vikunja.io/t/tasks-in-saved-filter-appear-in-list-view-but-are-not-visible-in-kanban-view/2800
2024-09-19 09:30:20 +02:00
c84b50b3ee
fix(labels): trigger task updated for bulk label task update 2024-09-19 08:59:34 +02:00
c5b82fc591
fix: test selector
All checks were successful
continuous-integration/drone/push Build is passing
2024-09-18 21:28:08 +02:00
1f00180af6 fix(deps): update dependency vue to v3.5.6
Some checks failed
continuous-integration/drone/push Build is failing
2024-09-18 17:02:42 +00:00
33e851f543 fix(deps): update dependency tailwindcss to v3.4.12
Some checks failed
continuous-integration/drone/push Build is failing
2024-09-18 17:02:06 +00:00
16d7386975 fix(modal): make scrolling on iOS Safari work
Some checks failed
continuous-integration/drone/push Build is failing
This fixes a bug where the full-screen modal would not work on iOS Safari (and only there). It's unclear why this is happening due to a single overflow: visible statement though.

Resolves https://github.com/go-vikunja/vikunja/issues/325
2024-09-18 19:00:47 +02:00
6d9bda8cc1 fix(projects): description not visible on mobile
Some checks failed
continuous-integration/drone/push Build is failing
2024-09-18 18:47:46 +02:00
abf92e29fa fix(task): dragging and dropping on mobile
Some checks failed
continuous-integration/drone/push Build is failing
This change fixes a regression introduced in 1cbb93ea9beea3049c469ba7cc05b07beebf2062.
In that change, the whole task area was made clickable using mouse events directly. Unfortunately, this also prevented the parent component of the task component to recieve them, essentially never getting notified about the mouse movement and thus never dragging the task. I don't know why this is only a problem on Safari, but it might be related to https://github.com/SortableJS/Sortable/issues/1571#issuecomment-535684451

Resolves https://community.vikunja.io/t/task-re-ordering-is-not-working-in-safari/1916
Resolves #2092
Resolves https://github.com/go-vikunja/vikunja/issues/304
2024-09-18 18:00:27 +02:00
f4d628550f chore(tasks): move drag options to direct attributes instead of v-bind
Some checks failed
continuous-integration/drone/push Build is failing
2024-09-18 16:34:24 +02:00
1d352fcbf3 chore(devenv): do not install cypress on darwin
Some checks failed
continuous-integration/drone/push Build is failing
2024-09-18 14:30:38 +02:00
a1105434bf
chore: remove console.log
Some checks failed
continuous-integration/drone/push Build is failing
2024-09-18 13:38:30 +02:00
acc7c9f8f5
fix(editor): restore the current value, not the one from a previous task
Some checks failed
continuous-integration/drone/push Build is failing
Resolves https://community.vikunja.io/t/task-description-is-overwritten-when-pressing-esc-key/2813
2024-09-18 13:36:56 +02:00
cc64ca6406
fix(task): align task title on mobile popup
Some checks failed
continuous-integration/drone/push Build is failing
2024-09-18 11:36:06 +02:00
89f78cd369
chore: add go and direnv to recommended vscode extensions
All checks were successful
continuous-integration/drone/push Build is passing
2024-09-18 10:43:23 +02:00
14c3b13823 fix(deps): update tiptap to v2.7.1
Some checks failed
continuous-integration/drone/push Build is failing
2024-09-18 08:33:10 +00:00
c2a7438814 chore(deps): update dev-dependencies
Some checks failed
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is failing
2024-09-18 01:18:02 +00:00
8fe37fd900 fix(deps): update tiptap to v2.7.0
All checks were successful
continuous-integration/drone/push Build is passing
2024-09-17 10:11:13 +00:00
88b4ab1768 fix(deps): update module github.com/prometheus/client_golang to v1.20.4
Some checks failed
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is failing
2024-09-17 09:15:34 +00:00
c252c8f0cd
fix: reset id before creating
All checks were successful
continuous-integration/drone/push Build is passing
2024-09-17 10:46:14 +02:00
410ff28b71 fix(deps): update vueuse to v11.1.0
All checks were successful
continuous-integration/drone/push Build is passing
2024-09-17 08:11:36 +00:00
d98dd7ecbb chore(deps): update dev-dependencies
Some checks failed
continuous-integration/drone/push Build is failing
2024-09-17 08:10:22 +00:00
fc73085876 fix(deps): update dependency date-fns to v4
Some checks failed
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is failing
2024-09-17 05:16:09 +00:00
c71f7334b4 chore(deps): update dev-dependencies
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-09-15 10:15:16 +00:00
6a5342bd49
fix(modal): do not prevent scrolling on mobile
All checks were successful
continuous-integration/drone/push Build is passing
Maybe related to https://github.com/go-vikunja/vikunja/issues/325
2024-09-15 11:38:17 +02:00
b4ea1bb86a fix(deps): update dependency vue-router to v4.4.5
Some checks failed
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is failing
2024-09-14 11:15:19 +00:00
378d0ae9bb fix(deps): update dependency vue to v3.5.5
All checks were successful
continuous-integration/drone/push Build is passing
2024-09-14 10:17:49 +00:00
6f27e1401a
fix(user): do not create user with existing id
Some checks failed
continuous-integration/drone/push Build is failing
Resolves https://vikunja.sentry.io/share/issue/6f1e37d4b8b248188e20650234a45cde/
2024-09-14 12:16:05 +02:00
bf5cafc03f
fix: lint
Some checks failed
continuous-integration/drone/push Build is failing
2024-09-14 12:12:47 +02:00
f4a7326b68
fix(filter): do not replace labels keyword when the value is 'label'
Some checks failed
continuous-integration/drone/push Build is failing
Resolves https://community.vikunja.io/t/filtering-by-label-ux-issues/2393/16
2024-09-14 12:11:54 +02:00
1451f6e46f
fix(kanban): correctly paginate filtered kanban buckets
All checks were successful
continuous-integration/drone/push Build is passing
Resolves https://github.com/go-vikunja/vikunja/issues/314
2024-09-14 09:37:21 +02:00
Frederick [Bot]
427eb2a618 chore(i18n): update translations via Crowdin
Some checks reported errors
continuous-integration/drone/push Build encountered an error
2024-09-14 00:25:59 +00:00
e4b541e653
fix(view): correctly get paginated task results
All checks were successful
continuous-integration/drone/push Build is passing
2024-09-13 22:56:41 +02:00
45ff5907e6
fix(view): correctly resolve bucket filter when paginating
All checks were successful
continuous-integration/drone/push Build is passing
2024-09-13 19:45:48 +02:00
5a7c3927f3
fix(view): correctly resolve label for filtered views or buckets
All checks were successful
continuous-integration/drone/push Build is passing
2024-09-13 19:14:54 +02:00
f425d98b4d
fix(filters): do not replace filter or project values when the id value resolves to undefined
All checks were successful
continuous-integration/drone/push Build is passing
This change fixes a bug where the label title in the query string would be replaced to undefined, resulting in an invalid filter. The underlying problem was the resolved filter query string got re-parsed and the id value of the labels were resolved to undefined (and rendered as that string) in the process.

Resolves https://community.vikunja.io/t/filtering-by-label-ux-issues/2393/14
2024-09-13 18:42:42 +02:00
4c55016c1a
fix(task): multiple overlapping defer due date popups
All checks were successful
continuous-integration/drone/push Build is passing
Resolves https://github.com/go-vikunja/vikunja/issues/131
2024-09-13 17:44:26 +02:00
1a8f12ac13
fix(kanban): do not mark first bucked as done bucket in filter bucket mode
All checks were successful
continuous-integration/drone/push Build is passing
Resolves https://github.com/go-vikunja/vikunja/issues/313
2024-09-13 11:52:44 +02:00
7b873ec31c
fix(table): make sorting for two-word properties work
All checks were successful
continuous-integration/drone/push Build is passing
Resolves https://community.vikunja.io/t/various-sorting-filtering-issues/2781/8
2024-09-13 11:03:38 +02:00
8b77832af2
fix(test): cypress test selector
All checks were successful
continuous-integration/drone/push Build is passing
2024-09-13 10:28:48 +02:00
Frederick [Bot]
14710d0bba chore(i18n): update translations via Crowdin
Some checks failed
continuous-integration/drone/push Build is failing
2024-09-13 00:25:12 +00:00
945f25b818
fix(kanban): make kanban full width on mobile
Some checks failed
continuous-integration/drone/push Build is failing
Related to https://github.com/go-vikunja/vikunja/issues/309
2024-09-12 16:42:12 +02:00
f53b93d98a
fix(modal): make sure modal and its content scrolls properly on mobile
Some checks failed
continuous-integration/drone/push Build is failing
Related to https://github.com/go-vikunja/vikunja/issues/309
2024-09-12 16:22:18 +02:00
97e030a1fc
fix(home): explicitly use filter for tasks on home page when one is set
All checks were successful
continuous-integration/drone/push Build is passing
Resolves https://github.com/go-vikunja/vikunja/issues/289
Resolves https://community.vikunja.io/t/various-sorting-filtering-issues/2781/5
2024-09-12 15:51:08 +02:00
b708db7025 chore(deps): update golangci/golangci-lint docker tag to v1.61.0 (#2678)
Some checks failed
continuous-integration/drone/push Build is failing
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2024-09-12 13:31:26 +00:00
6bfe71b30e
fix(filters): immediately propagate changes
Some checks failed
continuous-integration/drone/push Build is failing
Resolves https://community.vikunja.io/t/filtering-startdate-now-is-invalid/2613/6
2024-09-12 15:28:39 +02:00
db196bdffe fix(deps): update dependency @intlify/unplugin-vue-i18n to v5
All checks were successful
continuous-integration/drone/push Build is passing
2024-09-12 12:42:40 +00:00
9428acd5e1 fix(deps): update dependency express to v4.21.0
Some checks failed
continuous-integration/drone/push Build is failing
2024-09-12 12:41:45 +00:00
58a60fb4ae fix(deps): update dependency vue-router to v4.4.4
Some checks failed
continuous-integration/drone/push Build is failing
2024-09-12 12:36:18 +00:00
f4ca22a6ad fix(deps): update dependency flexsearch to v0.7.43 (#2095)
Some checks failed
continuous-integration/drone/push Build is failing
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2024-09-12 12:35:35 +00:00
7e38a9f442
fix(kanban): make task creation loading spinner actually visible
Some checks failed
continuous-integration/drone/push Build is failing
2024-09-12 14:33:44 +02:00
a0a77818b1 fix(deps): update dependency vue-i18n to v10.0.1
All checks were successful
continuous-integration/drone/push Build is passing
2024-09-12 11:39:50 +00:00
bdccd633fe
fix(labels): remove input interactivity when label edit is disabled
Some checks failed
continuous-integration/drone/push Build is failing
2024-09-12 13:39:03 +02:00
1f3eb8f2a3
chore: fix comment 2024-09-12 13:39:03 +02:00
8891ef347e fix(deps): update dependency tailwindcss to v3.4.11
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-09-12 10:26:57 +00:00
3b8ccbad4f
fix(multiselect): make selectPlaceholder optional
All checks were successful
continuous-integration/drone/push Build is passing
2024-09-12 11:29:39 +02:00
cc1b4bbd1b
fix(task): make print styles work when printing task detail view from kanban
All checks were successful
continuous-integration/drone/push Build is passing
Resolves https://community.vikunja.io/t/feature-request-export-a-task-as-pdf/2735/6
2024-09-12 11:02:38 +02:00
Frederick [Bot]
9dd95101f9 [skip ci] Updated swagger docs 2024-09-12 08:42:38 +00:00
20724f6fb5
fix(task): cyclomatic complexity
All checks were successful
continuous-integration/drone/push Build is passing
2024-09-12 10:24:16 +02:00
Frederick [Bot]
e1ea84fcd4 chore(i18n): update translations via Crowdin
Some checks failed
continuous-integration/drone/push Build is failing
2024-09-12 00:26:38 +00:00
8d730543c3
fix(project): reset id before creating
Some checks failed
continuous-integration/drone/push Build is failing
Resolves https://vikunja.sentry.io/share/issue/6f1e37d4b8b248188e20650234a45cde/
2024-09-11 23:46:13 +02:00
a3d133bfee fix(deps): update dependency vue-i18n to v10
Some checks failed
continuous-integration/drone/push Build is failing
2024-09-11 18:01:57 +00:00
7b37ad0594 fix(deps): update dependency @sentry/vue to v8.30.0
Some checks failed
continuous-integration/drone/push Build is failing
2024-09-11 17:36:28 +00:00
4aeb228c3a
fix(project): show description in title attribute without html
Some checks failed
continuous-integration/drone/push Build is failing
Resolves https://community.vikunja.io/t/feedback-to-vikunja-0-24-0/2557/6
2024-09-11 18:23:43 +02:00
b52d6dbf59
fix(projects): do not hide 6th project on project overview
Some checks failed
continuous-integration/drone/push Build is failing
2024-09-11 18:20:57 +02:00
76f7797e56
chore: remove console.log
Some checks failed
continuous-integration/drone/push Build is failing
2024-09-11 18:14:10 +02:00
55dd7d2981
fix(task): specify task index when creating multiple tasks at once
Some checks failed
continuous-integration/drone/push Build is failing
This change allows to specify the task index when creating a task, which will then be checked to avoid duplicates and used. This allows us to calculate the indexes for all tasks beforehand when creating them at once using quick add magic.
The method is not bulletproof, but already fixes a problem where multiple tasks would have the same index when created that way.

Resolves https://community.vikunja.io/t/add-multiple-tasks-at-once/333/16
2024-09-11 17:58:42 +02:00
44a43b9f86
fix(auth): restrict max password length to 72 bytes
Some checks failed
continuous-integration/drone/push Build is failing
Bcrypt allows a maximum of 72 bytes. This is part of the algorithm and not something we could change in Vikunja. The solution here was to restrict the password during registration to a max length of 72 bytes. In the future, this should be changed to hash passwords with sha512 or similar before hashing them with bcrypt. Because they should also be salted in that case and the added complexity during the migration phase, this was not implemented yet.
The change in this commit only improves the error handling to return an input error instead of a server error when the user enters a password > 72 bytes.

Resolves https://vikunja.sentry.io/share/issue/e8e0b64612d84504942feee002ac498a/
2024-09-10 18:23:06 +02:00
eb95caf757
fix(password): validate password before sending request to api
Some checks failed
continuous-integration/drone/push Build is failing
2024-09-10 17:44:52 +02:00
1085a6583b
fix(caldav): reject invalid project id with error 400
Some checks failed
continuous-integration/drone/push Build is failing
Resolves https://vikunja.sentry.io/share/issue/6fc18edefa0e4db3b2e10efe36deeaa4/
2024-09-10 17:32:35 +02:00
e698ac5a34
fix(label): ignore existing ID during creation
All checks were successful
continuous-integration/drone/push Build is passing
2024-09-10 16:45:40 +02:00
020fea686d fix(deps): update module github.com/getsentry/sentry-go to v0.29.0
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-09-10 10:17:45 +00:00
addf8523f4 fix(deps): update dependency express to v4.20.0
All checks were successful
continuous-integration/drone/push Build is passing
2024-09-10 09:49:23 +00:00
044aa1c742 fix(deps): update dependency vue to v3.5.4
Some checks failed
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is failing
2024-09-10 09:14:50 +00:00
552e1ce796 chore(deps): update goreleaser/nfpm docker tag to v2.40.0 (#2647)
All checks were successful
continuous-integration/drone/push Build is passing
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2024-09-10 08:50:42 +00:00
c1246d73d4 fix(deps): update dependency @sentry/vue to v8.29.0
All checks were successful
continuous-integration/drone/push Build is passing
2024-09-10 07:13:00 +00:00
85fa397a46 chore(deps): update pnpm to v9.10.0
Some checks failed
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is failing
2024-09-09 14:35:34 +00:00
af47e43c34 chore(deps): update dev-dependencies
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-09-09 03:31:05 +00:00
Frederick [Bot]
2539f15dfb [skip ci] Updated swagger docs 2024-09-07 11:48:49 +00:00
5c1b2846a1
docs(api): use correct return type for the /user endpoint
All checks were successful
continuous-integration/drone/push Build is passing
2024-09-07 13:27:06 +02:00
af8100d262 fix(deps): update dependency vue-router to v4.4.3
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-09-06 18:17:15 +00:00
63f85c97ae chore(deps): update dependency go to v1.23.1
All checks were successful
continuous-integration/drone/push Build is passing
2024-09-06 18:06:24 +00:00
2b1e3ffd2a chore(deps): update dev-dependencies
Some checks failed
continuous-integration/drone/push Build is failing
2024-09-06 18:04:14 +00:00
5f470afd7c fix(deps): update module golang.org/x/image to v0.20.0
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-09-06 17:17:31 +00:00
37c6f94ba2 fix(deps): update module github.com/prometheus/client_golang to v1.20.3
All checks were successful
continuous-integration/drone/push Build is passing
2024-09-06 15:56:25 +00:00
b42cd5786e fix(deps): update dependency vue to v3.5.3
Some checks failed
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is failing
2024-09-06 15:21:22 +00:00
5072ab3d72 fix(deps): update module dario.cat/mergo to v1.0.1
Some checks failed
continuous-integration/drone/push Build is failing
2024-09-06 15:11:42 +00:00
4b5ec018f5 fix(deps): update module github.com/redis/go-redis/v9 to v9.6.1
Some checks failed
continuous-integration/drone/push Build is failing
2024-09-06 15:11:34 +00:00
efe5c7b3cb fix(deps): update module golang.org/x/crypto to v0.27.0
Some checks reported errors
continuous-integration/drone/push Build was killed
2024-09-06 15:09:51 +00:00
ba0c32aacf fix(deps): update module golang.org/x/oauth2 to v0.23.0
Some checks failed
continuous-integration/drone/push Build is failing
2024-09-06 15:09:43 +00:00
b6e142e8d0 fix(deps): update vueuse to v11
Some checks reported errors
continuous-integration/drone/push Build was killed
2024-09-06 15:08:03 +00:00
750d565477 fix(deps): update dependency tailwindcss to v3.4.10
Some checks failed
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is failing
2024-09-06 12:15:45 +00:00
Frederick [Bot]
2b8515b91d [skip ci] Updated swagger docs 2024-09-06 11:18:51 +00:00
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
cf94cc8cab
chore(docs): clarify usage of related model creation
Resolves https://github.com/go-vikunja/vikunja/issues/323
2024-09-06 12:06:12 +02:00
669b7452cd fix(deps): update dependency axios to v1.7.7
Some checks failed
continuous-integration/drone/push Build is failing
2024-09-06 08:34:52 +00:00
1601c9098d fix(deps): update dependency sortablejs to v1.15.3
Some checks failed
continuous-integration/drone/push Build is failing
2024-09-06 08:34:36 +00:00