kolaente
acbf751ba0
feat(doctor): add user namespace detection and improved storage diagnostics ( #2180 )
...
This PR adds support for detecting and handling Linux user namespaces (commonly used in rootless Docker containers) and improves error diagnostics when file storage validation fails.
Docs PR: https://github.com/go-vikunja/website/pull/289
---------
Co-authored-by: Claude <noreply@anthropic.com >
2026-02-01 11:57:35 +01:00
Frederick [Bot]
2becfcc597
chore(i18n): update translations via Crowdin
2026-01-31 01:08:04 +00:00
Frederick [Bot]
e6e7b26a6e
[skip ci] Updated swagger docs
2026-01-30 14:14:52 +00:00
rhclayto
cf029cef0c
feat: add option to send Basic Auth header with webhook requests ( #2137 )
...
Resolves https://github.com/go-vikunja/vikunja/issues/2136
Docs PR: https://github.com/go-vikunja/website/pull/284
2026-01-30 15:07:31 +01:00
kolaente
a89b1bed85
feat(doctor): add detailed file diagnostics for local storage ( #2179 )
...
When using local file storage, the doctor command now reports:
- Whether the files directory exists
- Directory permissions (octal mode)
- Directory owner and group with uid/gid (Unix)
- Ownership mismatch warning if Vikunja runs as a different user
- Total number of stored files and their combined size
---------
Co-authored-by: Claude <noreply@anthropic.com >
2026-01-30 10:23:39 +00:00
Frederick [Bot]
f7503c0bfe
chore(i18n): update translations via Crowdin
2026-01-29 01:11:11 +00:00
kolaente
e4b99dd31f
fix(nav): show shared sub-projects in sidebar when the parent is inaccessible ( #2176 )
...
Fixes #2175
2026-01-28 16:09:46 +00:00
kolaente
6087d7454c
docs(agents): include go tips [skip ci]
2026-01-27 22:16:22 +01:00
kolaente
3ba5192b1b
chore: v1.0.0 release preparations
v1.0.0
2026-01-27 18:17:33 +01:00
kolaente
e5da54e58a
fix(editor): prevent crash when exiting edit mode in tiptap
...
Use v-show instead of v-if for EditorToolbar and BubbleMenu to avoid
a race condition between Vue's DOM reconciliation and tiptap's internal
DOM manipulation during unmount. This fixes the "Cannot read properties
of null (reading 'insertBefore')" error that occurred when saving a
task description.
Adds regression test to verify the fix.
Upstream issue: https://github.com/ueberdosis/tiptap/issues/7342
Fixes: https://github.com/go-vikunja/vikunja/issues/1770
2026-01-27 14:03:02 +01:00
renovate[bot]
f216fea2b3
fix(deps): update tiptap to v3.17.0
2026-01-27 14:03:02 +01:00
XiangCany
d238385199
fix(files): make sure base directory exists when using local file system ( #2166 )
...
Resolves #2162
2026-01-27 13:11:44 +01:00
kolaente
3aa1e90d7f
feat: add vikunja doctor command for diagnostic checks ( #2165 )
...
Add a new `vikunja doctor` CLI command that performs diagnostic checks.
Checks performed:
- **System**: Version, Go version, OS/arch, running user, working
directory
- **Configuration**: Config file path, public URL, JWT secret, CORS
origins
- **Database**: Connection test, server version
(SQLite/MySQL/PostgreSQL)
- **Files**: Storage path, writability, disk space (Unix only)
- **Optional services** (when enabled):
- Redis: Connection ping
- Typesense: Health endpoint
- Mailer: SMTP connection
- LDAP: Bind authentication test
- OpenID Connect: Discovery endpoint for each configured provider
2026-01-27 09:12:31 +00:00
kolaente
d61caab168
feat: add required checkbox to confirm issue search before submission
...
Adds a pre-submission checklist to both bug report and feature request
templates requiring users to confirm they have searched for existing
issues before opening a new one.
2026-01-27 08:54:22 +01:00
kolaente
28593e6460
fix: use dark shadows for email template in dark mode ( #2155 )
2026-01-26 15:46:44 +01:00
kolaente
72a928dcce
chore: use correct repo and issue url
2026-01-26 12:21:24 +01:00
renovate[bot]
662f3a1ea8
chore(deps): update dev-dependencies (major) ( #1375 )
2026-01-25 21:54:47 +01:00
renovate[bot]
5b0960e5e7
fix(deps): update module github.com/redis/go-redis/v9 to v9.17.3 ( #2153 )
...
This PR contains the following updates:
| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/ ) |
[Confidence](https://docs.renovatebot.com/merge-confidence/ ) |
|---|---|---|---|
|
[github.com/redis/go-redis/v9](https://redirect.github.com/redis/go-redis )
| `v9.17.2` → `v9.17.3` |

|

|
---
### Release Notes
<details>
<summary>redis/go-redis (github.com/redis/go-redis/v9)</summary>
###
[`v9.17.3`](https://redirect.github.com/redis/go-redis/releases/tag/v9.17.3 ):
9.17.3
[Compare
Source](https://redirect.github.com/redis/go-redis/compare/v9.17.2...v9.17.3 )
#### 🐛 Bug Fixes
- **Connection Pool**: Fixed zombie `wantConn` elements accumulation in
`wantConnQueue` that could cause resource leaks in high concurrency
scenarios with dial failures
([#​3680](https://redirect.github.com/redis/go-redis/pull/3680 ))
by [@​cyningsun](https://redirect.github.com/cyningsun )
- **Stream Commands**: Fixed `XADD` and `XTRIM` commands to use exact
threshold (`=`) when `Approx` is false, ensuring precise stream trimming
behavior
([#​3684](https://redirect.github.com/redis/go-redis/pull/3684 ))
by [@​ndyakov](https://redirect.github.com/ndyakov )
- **Connection Pool**: Added `ConnMaxLifetimeJitter` configuration to
distribute connection expiration times and prevent the thundering herd
problem when many connections expire simultaneously
([#​3666](https://redirect.github.com/redis/go-redis/pull/3666 ))
by [@​cyningsun](https://redirect.github.com/cyningsun )
- **Client Options**: Added `DialerRetries` and `DialerRetryTimeout`
fields to `ClusterOptions`, `RingOptions`, and `FailoverOptions` to
allow configuring connection retry behavior for cluster, ring, and
sentinel clients
([#​3686](https://redirect.github.com/redis/go-redis/pull/3686 ))
by
[@​naveenchander30](https://redirect.github.com/naveenchander30 )
#### Contributors
We'd like to thank all the contributors who worked on this release!
[@​cyningsun](https://redirect.github.com/cyningsun ),
[@​naveenchander30](https://redirect.github.com/naveenchander30 ),
and [@​ndyakov](https://redirect.github.com/ndyakov )
***
**Full Changelog**:
<https://github.com/redis/go-redis/compare/v9.17.2...v9.17.3 >
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/ ).
View the [repository job
log](https://developer.mend.io/github/go-vikunja/vikunja ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi45Mi4xIiwidXBkYXRlZEluVmVyIjoiNDIuOTIuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-25 15:41:10 +01:00
kolaente
b21c9acb0d
fix(routes): restore SPA routing after Echo v5 upgrade
...
In Echo v5, the 404 error for unmatched routes implements the
HTTPStatusCoder interface but is not a *HTTPError. This caused
the static middleware to fail to catch 404s and serve index.html
for SPA routes, leading to reloading SPA routes returning 404.
Caused by regression introduced in 9a61453e8 .
Fixes #2149
Fixes #2152
2026-01-25 11:07:48 +01:00
renovate[bot]
233908b30b
chore(deps): update dependency sass-embedded to v1.97.3 ( #2150 )
...
This PR contains the following updates:
| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/ ) |
[Confidence](https://docs.renovatebot.com/merge-confidence/ ) |
|---|---|---|---|
| [sass-embedded](https://redirect.github.com/sass/embedded-host-node ) |
[`1.97.2` →
`1.97.3`](https://renovatebot.com/diffs/npm/sass-embedded/1.97.2/1.97.3 )
|

|

|
---
### Release Notes
<details>
<summary>sass/embedded-host-node (sass-embedded)</summary>
###
[`v1.97.3`](https://redirect.github.com/sass/embedded-host-node/blob/HEAD/CHANGELOG.md#1973 )
[Compare
Source](https://redirect.github.com/sass/embedded-host-node/compare/1.97.2...1.97.3 )
- Fix a bug where nesting an at-rule within multiple style rules in
plain CSS
could cause outer style rules to be omitted.
</details>
---
### Configuration
📅 **Schedule**: Branch creation - Between 12:00 AM and 03:59 AM ( * 0-3
* * * ) (UTC), Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/ ).
View the [repository job
log](https://developer.mend.io/github/go-vikunja/vikunja ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi45Mi4xIiwidXBkYXRlZEluVmVyIjoiNDIuOTIuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-25 08:59:41 +01:00
kolaente
375eb37cf3
chore: v1.0.0-rc4 release preparations
v1.0.0-rc4
2026-01-24 21:11:50 +01:00
kolaente
ee4b5a63f4
feat(dev): add mage command to release
2026-01-24 20:41:21 +01:00
renovate[bot]
9a61453e86
fix(deps): update module github.com/labstack/echo/v4 to v5 ( #2131 )
...
Closes https://github.com/go-vikunja/vikunja/pull/2133
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kolaente <k@knt.li >
2026-01-24 20:38:32 +01:00
renovate[bot]
83474b76d3
fix(deps): update dependency @sentry/vue to v10.36.0 ( #2147 )
...
This PR contains the following updates:
| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/ ) |
[Confidence](https://docs.renovatebot.com/merge-confidence/ ) |
|---|---|---|---|
|
[@sentry/vue](https://redirect.github.com/getsentry/sentry-javascript/tree/master/packages/vue )
([source](https://redirect.github.com/getsentry/sentry-javascript )) |
[`10.35.0` →
`10.36.0`](https://renovatebot.com/diffs/npm/@sentry%2fvue/10.35.0/10.36.0 )
|

|

|
---
### Release Notes
<details>
<summary>getsentry/sentry-javascript (@​sentry/vue)</summary>
###
[`v10.36.0`](https://redirect.github.com/getsentry/sentry-javascript/compare/10.35.0...10.36.0 )
[Compare
Source](https://redirect.github.com/getsentry/sentry-javascript/compare/10.35.0...10.36.0 )
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/ ).
View the [repository job
log](https://developer.mend.io/github/go-vikunja/vikunja ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi45Mi4xIiwidXBkYXRlZEluVmVyIjoiNDIuOTIuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-24 19:30:26 +01:00
kolaente
ff01f8e859
feat(api-tokens): support title and scopes query parameters ( #2143 )
...
This allows external integrations to link directly to the API token creation page with pre-selected title and permission scopes. URLs can now use `?title=Name&scopes=group:perm,group:perm` format to pre-populate the form.
Example URL:
```
/user/settings/api-tokens?title=My%20Integration&scopes=tasks:create,tasks:delete,projects:read_all
```
2026-01-24 18:08:23 +00:00
kolaente
1731b03c22
fix(editor): prevent file upload overlay when dragging text from editor ( #2148 )
...
Fixes the file upload overlay incorrectly appearing when dragging text from within the TipTap description editor to outside of it.
Fixes #1663
2026-01-24 18:41:42 +01:00
kolaente
5050cd7162
chore(dev): add prepare worktree command to mage
2026-01-24 18:32:23 +01:00
kolaente
4df8da549e
fix(auth): scope query binding
...
Resolves https://github.com/go-vikunja/vikunja/issues/2146
2026-01-24 17:51:35 +01:00
kolaente
731b7c3001
fix: avoid mutating global http.DefaultClient in webhook proxy ( #2145 )
...
Fixes a bug where the webhook HTTP client was mutating `http.DefaultClient` (the global singleton), causing ALL HTTP requests in the application to use the webhook proxy. This broke OIDC authentication and other external HTTP calls when webhook proxy was configured.
Fixes #2144
2026-01-24 13:58:47 +01:00
kolaente
acbb06e337
feat(frontend): preserve Gantt date range when switching views ( #2141 )
...
Adds a `viewFilters` Pinia store that stores query params per view ID to sync Gantt filters to the store whenever they change. This persists the custom date ranges when switching between views.
Fixes #2124
2026-01-24 13:12:35 +01:00
renovate[bot]
47bfb6a424
chore(deps): update dev-dependencies
2026-01-24 13:01:45 +01:00
kolaente
0cd25f47e5
fix: populate complete entity data in deletion event webhooks ( #2135 )
...
Fixes webhook payloads for deletion events that were previously
containing incomplete or empty entity data. This occurred because
entities were being deleted from the database before the webhook event
was dispatched.
## Changes
This PR implements four targeted fixes to ensure complete entity data in
deletion event webhooks:
### 1. TaskAssignee Deletion (`pkg/models/listeners.go`)
- Extended `reloadEventData()` to fetch full assignee user data by ID
- Webhook payload now includes complete user object (username, email,
timestamps, etc.)
### 2. TaskComment Deletion (`pkg/models/task_comments.go`)
- Modified `Delete()` to call `ReadOne()` before deletion
- Ensures comment text, author, and timestamps are included in webhook
payload
- Follows the same pattern used by `Task.Delete()` and
`TaskAttachment.Delete()`
### 3. TaskAttachment Deletion (`pkg/models/task_attachment.go`)
- Extended `ReadOne()` to fetch the `CreatedBy` user
- Webhook payload now includes file creator information
### 4. TaskRelation Deletion (`pkg/models/task_relation.go`)
- Modified `Delete()` to fetch complete relation including `CreatedBy`
user before deletion
- Webhook payload now includes relation timestamps and creator
information
Fixes #2125
2026-01-24 12:50:18 +01:00
renovate[bot]
8e3ed45c85
chore(deps): update pnpm to v10.28.1
2026-01-24 00:01:17 +01:00
kolaente
131f78277d
feat(quick add magic): add more test cases
2026-01-24 00:00:46 +01:00
kolaente
8419794b65
fix(quick-add-magic): prevent parsing partial keywords in words ( #2140 )
...
- Fixed date parser incorrectly extracting date components from within
words
- "Renovation - 2nd Floor Bath" no longer becomes "Reation - Floor Bath"
with a due date of November 2nd
## Changes
- `getMonthFromText` now requires word boundaries, preventing "nov" from
matching inside "Renovation" or "mar" inside "Remark"
- `getDayFromText` now only matches ordinals when followed by
end-of-string, time expressions, or month names, preventing "2nd Floor"
from being parsed as a date
Resolves
https://community.vikunja.io/t/quick-add-magic-unintended-date-parsing/4259
2026-01-23 22:23:42 +00:00
renovate[bot]
a86bbfa121
fix(deps): update module github.com/labstack/echo/v4 to v4.15.0
2026-01-23 17:21:54 +01:00
renovate[bot]
663e7ba3d4
fix(deps): update dependency @sentry/vue to v10.35.0
2026-01-23 17:21:45 +01:00
kolaente
c11ea4c87f
fix(unsplash): add utm parameters to author links
...
Resolves https://github.com/go-vikunja/vikunja/issues/2127
2026-01-23 11:58:34 +01:00
renovate[bot]
06e90bc9c2
chore(deps): update dev-dependencies
2026-01-22 11:43:42 +01:00
renovate[bot]
89c0548e16
fix(deps): update module github.com/labstack/echo-jwt/v4 to v5
2026-01-22 11:30:56 +01:00
renovate[bot]
0e5e135e72
fix(deps): update module github.com/labstack/echo/v4 to v5
2026-01-22 11:02:04 +01:00
renovate[bot]
a64364fdc2
chore(deps): update crowdin/github-action digest to b4b468c
2026-01-22 11:01:30 +01:00
renovate[bot]
fa142308d2
fix(deps): update dependency vue to v3.5.27
2026-01-22 11:01:11 +01:00
renovate[bot]
34472d1358
fix(deps): update dependency ufo to v1.6.3
2026-01-18 17:37:50 +01:00
renovate[bot]
c09e63d7d8
chore(deps): update dependency happy-dom to v20.3.0
2026-01-18 17:37:43 +01:00
renovate[bot]
7aa6883e76
chore(deps): update actions/cache digest to 8b402f5
2026-01-17 21:59:34 +01:00
renovate[bot]
d91da07ce3
fix(deps): update module github.com/olekukonko/tablewriter to v1.1.3
2026-01-17 21:59:23 +01:00
renovate[bot]
2a74633e4f
chore(deps): update dependency @types/node to v22.19.6
2026-01-17 21:59:09 +01:00
renovate[bot]
740ea79837
fix(deps): update dependency @sentry/vue to v10.34.0
2026-01-17 21:58:58 +01:00
renovate[bot]
606d10f9e3
chore(deps): update postgres:18 docker digest to 5773fe7
2026-01-16 11:17:50 +01:00