Commit Graph

12454 Commits

Author SHA1 Message Date
renovate[bot] 23e8808df3
fix(deps): update module github.com/redis/go-redis/v9 to v9.17.0 (#1850)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-19 20:58:30 +00:00
renovate[bot] b78c92b139
chore(deps): update postgres:18 docker digest to 5ec39c1 (#1842)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-19 21:51:15 +01:00
Copilot 9d0633268a
fix: prevent panic in webhook listener when fetching project (#1848)
This fixes a panic that occurred when handling webhooks. The code was
incorrectly using webhook.CreatedByID (user ID) to fetch a project,
when it should use webhook.ProjectID. This could cause GetProjectSimpleByID
to return nil if no project exists with that ID.

Additionally, added a nil check before calling project.ReadOne() to prevent
a nil pointer dereference panic when accessing p.ID.

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: kolaente <13721712+kolaente@users.noreply.github.com>
2025-11-19 14:43:08 +00:00
Frederick [Bot] 79aaa2a906 chore(i18n): update translations via Crowdin 2025-11-19 00:56:08 +00:00
renovate[bot] 572140f744
chore(deps): update actions/checkout digest to 93cb6ef (#1838)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-17 23:23:13 +00:00
renovate[bot] 39ba18a04a
chore(deps): update dev-dependencies (#1832)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-17 23:17:58 +00:00
Copilot 5f795bb531
fix: self-assignment notification to use "themselves" instead of repeating username (#1836)
When a user assigns a task to themselves, notifications to other users now
correctly say "User A assigned Task #123 to themselves" instead of
"User A assigned Task #123 to User A"

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: kolaente <13721712+kolaente@users.noreply.github.com>
2025-11-17 23:07:48 +00:00
kolaente d5a46310a7
chore: delete frontend/package-lock.json
Since we're using pnpm and not npm, this feels pretty useless.
2025-11-18 00:02:53 +01:00
renovate[bot] b5e2ad92e4
chore(deps): update postgres:18 docker digest to 41bfa2e (#1824)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-18 00:01:30 +01:00
renovate[bot] 25a7cea3ed
fix(deps): update module github.com/getsentry/sentry-go/echo to v0.38.0 (#1835)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-18 00:01:07 +01:00
Copilot 6b0a05b5ca
Use Cmd+K for quick actions on macOS instead of Ctrl+K (#1837)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: kolaente <13721712+kolaente@users.noreply.github.com>
2025-11-17 22:56:54 +00:00
Frederick [Bot] 0b0928e273 chore(i18n): update translations via Crowdin 2025-11-17 00:57:26 +00:00
kolaente 067cc5674b
fix(filters): handle multiple projects correctly in parsing, fixing autocomplete
Resolves https://github.com/go-vikunja/vikunja/issues/1395
2025-11-16 15:53:40 +01:00
kolaente 675a550247
fix(filter): restore cursor position when making changes
Related https://github.com/go-vikunja/vikunja/issues/1395
2025-11-16 15:38:24 +01:00
kolaente 2e3b2cb770
fix: ensure project filters are retained correctly across views (#1643) 2025-11-16 14:29:50 +00:00
kolaente 85fc8fffd4 feat: restrict attachment drop to files
Resolves https://github.com/go-vikunja/vikunja/issues/1663
2025-11-16 12:22:30 +01:00
kolaente abbf2ce183 chore: copy useDropZone from vueuse 2025-11-16 12:22:30 +01:00
kolaente 3f1f92c410 fix: always allow dropping files 2025-11-16 12:22:30 +01:00
kolaente 9b78584734
fix(events): only trigger task.updated once when marking task done
Resolves https://github.com/go-vikunja/vikunja/issues/1724
2025-11-16 11:01:15 +01:00
kolaente f96601bf18
fix(webhook): make sure the payload always contains a fully loaded project 2025-11-16 10:48:53 +01:00
renovate[bot] 374730056d
chore(deps): update dev-dependencies (#1830)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-16 00:14:51 +00:00
kolaente 746f78f787
chore(ci): add debug log 2025-11-16 01:08:13 +01:00
Copilot d057afb781
feat: display assignee names on mobile for accessibility (#1828)
Fixes https://github.com/go-vikunja/vikunja/issues/1741

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: kolaente <13721712+kolaente@users.noreply.github.com>
Co-authored-by: kolaente <k@knt.li>
2025-11-16 01:05:40 +01:00
Copilot 7729a3dcad
fix: HTML entity double-escaping in email notifications (#1829)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: kolaente <13721712+kolaente@users.noreply.github.com>
2025-11-15 21:37:09 +01:00
Copilot 25827f432e
feat: hide link share creation form by default in sharing dialogue (#1827)
The link share creation form is now hidden by default and only shown when users explicitly click the "Create" button. This reduces confusion in the sharing dialogue where users might mistake link sharing for team sharing.

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: kolaente <13721712+kolaente@users.noreply.github.com>
2025-11-15 19:05:28 +00:00
Copilot f2a1348c51
feat: add thread IDs to task notification emails for client-side threading (#1826)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: kolaente <13721712+kolaente@users.noreply.github.com>
Co-authored-by: kolaente <k@knt.li>
2025-11-15 18:58:32 +01:00
kolaente 14c7bd88f2
fix: lint 2025-11-15 18:13:06 +01:00
Copilot 6903bb67c7
feat: add clickable labels on Labels page for task filtering (#1825)
Resolves https://community.vikunja.io/t/click-label-to-show-all-matching-tasks/3082

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: kolaente <13721712+kolaente@users.noreply.github.com>
Co-authored-by: kolaente <k@knt.li>
2025-11-15 17:10:32 +00:00
kolaente 162ec33613
fix(filter): don't duplicate subtasks in list view
Resolves https://github.com/go-vikunja/vikunja/issues/1786
2025-11-15 17:07:40 +01:00
kolaente 411cfbef92
fix: correctly store fetched task positions
Resolves https://github.com/go-vikunja/vikunja/issues/1392#issuecomment-3516180532
2025-11-15 16:57:13 +01:00
renovate[bot] 682096e5f6
chore(deps): update postgres:18 docker digest to 435fe97 (#1821)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-15 08:56:04 +01:00
renovate[bot] aa08780f52
chore(deps): update dev-dependencies (#1822)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-15 08:55:50 +01:00
Frederick [Bot] 832b7cf1cd chore(i18n): update translations via Crowdin 2025-11-15 00:54:42 +00:00
renovate[bot] 7923eb9d38
fix(deps): update module github.com/getsentry/sentry-go/echo to v0.37.0 (#1819)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-14 22:31:26 +01:00
Biagio00 5b42724205
fix(kanban): repeating tasks dates won't update when moved in done bucket (#1638) 2025-11-14 16:57:53 +00:00
renovate[bot] 28d96d5a84
chore(deps): update node.js to 2867d55 (#1815)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-14 11:17:46 +01:00
renovate[bot] 6aa48a2fa0
chore(deps): update postgres:18 docker digest to 28bda6d (#1816)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-14 11:17:26 +01:00
renovate[bot] 9ccfbc9599
chore(deps): update mariadb:12 docker digest to 607835c (#1817)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-14 11:17:16 +01:00
renovate[bot] 026011256b
fix(deps): update module github.com/getsentry/sentry-go to v0.37.0 (#1818)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-14 11:17:03 +01:00
Copilot 7cd3f69096
fix: prevent date picker from selecting past times at hour breakpoints (#1814)
The function previously used <= for hour comparisons, which caused it to
return a breakpoint hour even if the current time had passed it. For example,
at 15:54, it would return 15 (3:00 PM), which is in the past.

Now the function checks both hours and minutes:
- If current time is before a breakpoint hour, return that hour
- If current time is exactly at a breakpoint hour with 0 minutes, return that hour
- If current time is past a breakpoint (hour with minutes > 0), return the next breakpoint

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: kolaente <13721712+kolaente@users.noreply.github.com>
2025-11-13 10:46:24 +01:00
Copilot 9990a1f60f
fix(date picker): hide "this weekend" option on Sunday after 9pm (#1813)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: kolaente <13721712+kolaente@users.noreply.github.com>
2025-11-13 09:08:48 +00:00
Copilot 650fb94978
feat: add time display with configurable format (12h/24h) to non-relative date formats (#1807)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: kolaente <k@knt.li>
2025-11-13 08:57:06 +00:00
Copilot b38780e246
feat(ci): update Docker PR push build strategy for forked PRs (#1812)
This change switches from pull_request to pull_request_target trigger,
allowing PRs from forks to successfully build and push Docker images.

The pull_request trigger provides a read-only GITHUB_TOKEN for fork PRs,
even when permissions.packages is set to write. This caused builds to fail
for external contributors.

Using pull_request_target is safe here because:
- We explicitly checkout the PR's head SHA
- Only Docker build happens (isolated, no arbitrary code execution)
- No untrusted scripts are run in the workflow context

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: kolaente <13721712+kolaente@users.noreply.github.com>
Co-authored-by: kolaente <k@knt.li>
2025-11-13 08:52:20 +00:00
renovate[bot] eaebcf68b1
chore(deps): update node.js to 54dfcc1 (#1811)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-13 08:26:42 +01:00
Frederick [Bot] 7a0b55307b chore(i18n): update translations via Crowdin 2025-11-13 00:56:40 +00:00
Copilot cf8ad52a27
feat: add PR Docker image builds for x86_64 (#1810)
* Initial plan

* feat: add PR docker build workflow

Add a new workflow that builds and pushes Docker images for pull requests:
- Runs independently without waiting for tests
- Builds only for linux/amd64 platform
- Pushes only to GHCR (not Docker Hub)
- Tags images with pr-<number> format

Co-authored-by: kolaente <13721712+kolaente@users.noreply.github.com>

* feat: add SHA tag to PR Docker images

Add type=sha,format=long to docker tags for PR images.
This will tag images with both pr-<number> and sha-<commit_hash>.

Co-authored-by: kolaente <13721712+kolaente@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: kolaente <13721712+kolaente@users.noreply.github.com>
2025-11-12 23:31:25 +00:00
Copilot 409edb82c6
fix: downgrade tiptap to v3.8.0 to resolve editor crash (#1806)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: kolaente <13721712+kolaente@users.noreply.github.com>
2025-11-12 22:47:25 +00:00
renovate[bot] 4a4a8a0013
chore(deps): update actions/create-github-app-token action to v2 (#1809)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-12 22:46:44 +00:00
Copilot 9c81afb7b2
feat: replace PNG-based initials avatar with SVG generation (#1802)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: kolaente <13721712+kolaente@users.noreply.github.com>
2025-11-12 22:26:52 +00:00
renovate[bot] 5108196eda
chore(deps): update node.js to v24.11.1 (#1804)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-12 22:49:33 +01:00