vikunja/pkg
kolaente 82558dba87
fix(filters): ensure saved filter views never have position=0 (#1996)
Fixes #724 - Tasks in saved filter views get `position: 0` when they first appear in the filter, causing drag-and-drop sorting to not persist correctly.

**Changes:**
- Remove harmful `Position: 0` inserts from cron job and
`SavedFilter.Update` - `RecalculateTaskPositions` already creates
positions with proper values, so the intermediate inserts created a race
window
- Add on-demand position creation when fetching tasks for saved filter
views - safety net for newly matching tasks before the cron runs
- Add 5 new tests covering the fix and regression scenarios

🐰 Positions once zero, now bloom with care,
Sorted with grace, no more despair,
When filters call and tasks appear,
Numbers spring up, crystal clear!
Issue 724 hops away—
Sorting's fixed to stay, hooray! 🎉
2025-12-16 22:13:40 +00:00
..
caldav fix(caldav): do not assume the first element is the VTODO component 2025-12-13 15:30:22 +01:00
cmd feat: add --preserve-config flag to restore command (#1939) 2025-12-07 21:44:45 +00:00
config fix(files): upload should work with vhost style (#1994) 2025-12-16 20:32:15 +00:00
cron fix: correct license header references (#882) 2025-06-10 12:18:38 +02:00
db fix(kanban): repeating tasks dates won't update when moved in done bucket (#1638) 2025-11-14 16:57:53 +00:00
events fix(events): only trigger task.updated once when marking task done 2025-11-16 11:01:15 +01:00
files fix(files): upload should work with vhost style (#1994) 2025-12-16 20:32:15 +00:00
health feat: introduce shared health check logic (#1073) 2025-07-02 21:01:41 +00:00
i18n chore(i18n): update translations via Crowdin 2025-12-12 00:59:39 +00:00
initialize feat: add S3 file storage support (#1688) 2025-11-06 08:37:04 +01:00
log feat: move to slog for logging 2025-07-21 18:15:39 +02:00
mail feat: add thread IDs to task notification emails for client-side threading (#1826) 2025-11-15 18:58:32 +01:00
metrics fix: correct license header references (#882) 2025-06-10 12:18:38 +02:00
migration fix: handle MySQL 8 CREATE INDEX without IF NOT EXISTS support (#1903) 2025-11-28 15:57:54 +00:00
models fix(filters): ensure saved filter views never have position=0 (#1996) 2025-12-16 22:13:40 +00:00
modules feat: format user mentions with display names in email notifications (#1930) 2025-12-10 12:39:05 +01:00
notifications feat: format user mentions with display names in email notifications (#1930) 2025-12-10 12:39:05 +01:00
plugins feat(plugins): allow plugins to register routes 2025-08-01 17:06:02 +02:00
red fix: correct license header references (#882) 2025-06-10 12:18:38 +02:00
routes fix: ensure API consistency for /tasks and empty array responses (#1988) 2025-12-15 15:34:13 +00:00
swagger [skip ci] Updated swagger docs 2025-12-15 15:44:47 +00:00
user fix: properly quote email sender names containing @ symbols (#1768) 2025-11-07 11:44:24 +01:00
utils chore(deps): update golangci-lint to 2.6.0 (#1737) 2025-10-31 17:28:52 +00:00
version fix: correct license header references (#882) 2025-06-10 12:18:38 +02:00
web fix: ensure API consistency for /tasks and empty array responses (#1988) 2025-12-15 15:34:13 +00:00
webtests fix: ensure API consistency for /tasks and empty array responses (#1988) 2025-12-15 15:34:13 +00:00