vikunja/pkg/models
kolaente 3eb289262f fix(events): defer task event dispatch until after transaction commit
Convert events.Dispatch to events.DispatchOnCommit in Task.Create,
updateSingleTask, Task.Delete, and triggerTaskUpdatedEventForTaskID.
Events are now dispatched by the handler after s.Commit(), ensuring
webhook listeners see committed data.

Fixes #2315
2026-03-03 12:46:34 +01:00
..
api_routes.go fix(deps): update module github.com/labstack/echo/v4 to v5 (#2131) 2026-01-24 20:38:32 +01:00
api_tokens.go feat!: rename right to permission (#1277) 2025-08-13 11:05:05 +02:00
api_tokens_permissions.go feat!: rename right to permission (#1277) 2025-08-13 11:05:05 +02:00
api_tokens_test.go fix: correct license header references (#882) 2025-06-10 12:18:38 +02:00
bulk_task.go feat: share logic for bulk update (#1456) 2025-09-10 16:40:59 +00:00
bulk_task_test.go chore(deps): update golangci-lint to 2.6.0 (#1737) 2025-10-31 17:28:52 +00:00
error.go feat: add Session model with CRUD, permissions, and cleanup cron 2026-02-25 10:30:25 +01:00
events.go feat: add TaskReminderFiredEvent and TaskOverdueEvent types 2026-02-24 20:24:56 +01:00
export.go fix: eliminate nested database sessions to prevent table locks 2026-02-25 11:03:02 +01:00
favorites.go fix: correct license header references (#882) 2025-06-10 12:18:38 +02:00
kanban.go feat!: rename right to permission (#1277) 2025-08-13 11:05:05 +02:00
kanban_permissions.go feat!: rename right to permission (#1277) 2025-08-13 11:05:05 +02:00
kanban_task_bucket.go fix(events): only trigger task.updated once when marking task done 2025-11-16 11:01:15 +01:00
kanban_task_bucket_test.go fix: prevent session leaks and visibility issues in model tests 2026-02-25 11:03:02 +01:00
kanban_test.go fix: prevent session leaks and visibility issues in model tests 2026-02-25 11:03:02 +01:00
label.go feat!: rename right to permission (#1277) 2025-08-13 11:05:05 +02:00
label_permissions.go feat!: rename right to permission (#1277) 2025-08-13 11:05:05 +02:00
label_task.go feat!: rename right to permission (#1277) 2025-08-13 11:05:05 +02:00
label_task_permissions.go feat!: rename right to permission (#1277) 2025-08-13 11:05:05 +02:00
label_task_test.go fix: prevent session leaks and visibility issues in model tests 2026-02-25 11:03:02 +01:00
label_test.go fix: prevent session leaks and visibility issues in model tests 2026-02-25 11:03:02 +01:00
link_sharing.go fix(auth): use checked type assertions for all JWT claims 2026-02-25 13:01:00 +01:00
link_sharing_permissions.go feat!: rename right to permission (#1277) 2025-08-13 11:05:05 +02:00
link_sharing_test.go fix: prevent session leaks and visibility issues in model tests 2026-02-25 11:03:02 +01:00
listeners.go refactor: remove typesense support 2026-02-25 12:15:28 +01:00
main_test.go refactor: remove environment variable requirements for go test 2026-02-17 18:01:05 +01:00
mentions.go feat: format user mentions with display names in email notifications (#1930) 2025-12-10 12:39:05 +01:00
mentions_test.go fix: prevent session leaks and visibility issues in model tests 2026-02-25 11:03:02 +01:00
message.go fix: correct license header references (#882) 2025-06-10 12:18:38 +02:00
models.go refactor: remove typesense support 2026-02-25 12:15:28 +01:00
notifications.go feat: format user mentions with display names in email notifications (#1930) 2025-12-10 12:39:05 +01:00
notifications_database.go feat!: rename right to permission (#1277) 2025-08-13 11:05:05 +02:00
notifications_test.go feat: add thread IDs to task notification emails for client-side threading (#1826) 2025-11-15 18:58:32 +01:00
permissions.go feat!: rename right to permission (#1277) 2025-08-13 11:05:05 +02:00
project.go fix: eliminate nested database sessions to prevent table locks 2026-02-25 11:03:02 +01:00
project_duplicate.go fix: use session-aware file creation to avoid nested transactions 2026-02-25 11:03:02 +01:00
project_duplicate_test.go fix: clear error when duplicating project with uploaded background (#1926) 2025-12-04 10:16:16 +01:00
project_permissions.go fix(sharing): use the highest team sharing permission when sharing the same project with multiple teams (#1894) 2025-11-27 22:25:06 +01:00
project_permissions_multiple_teams_test.go fix: prevent session leaks and visibility issues in model tests 2026-02-25 11:03:02 +01:00
project_repair.go feat: add repair-projects CLI command 2026-02-25 11:56:25 +01:00
project_repair_test.go feat: add repair-projects CLI command 2026-02-25 11:56:25 +01:00
project_team.go feat!: rename right to permission (#1277) 2025-08-13 11:05:05 +02:00
project_team_permissions.go feat!: rename right to permission (#1277) 2025-08-13 11:05:05 +02:00
project_team_test.go fix: prevent session leaks and visibility issues in model tests 2026-02-25 11:03:02 +01:00
project_test.go fix: prevent session leaks and visibility issues in model tests 2026-02-25 11:03:02 +01:00
project_users.go feat!: rename right to permission (#1277) 2025-08-13 11:05:05 +02:00
project_users_permissions.go feat!: rename right to permission (#1277) 2025-08-13 11:05:05 +02:00
project_users_permissions_test.go fix: prevent session leaks and visibility issues in model tests 2026-02-25 11:03:02 +01:00
project_users_test.go fix: prevent session leaks and visibility issues in model tests 2026-02-25 11:03:02 +01:00
project_view.go fix(views): assign default position when creating new project views 2026-03-02 08:35:35 +01:00
project_view_permissions.go feat!: rename right to permission (#1277) 2025-08-13 11:05:05 +02:00
reaction.go feat!: rename right to permission (#1277) 2025-08-13 11:05:05 +02:00
reaction_permissions.go feat!: rename right to permission (#1277) 2025-08-13 11:05:05 +02:00
reaction_test.go fix: prevent session leaks and visibility issues in model tests 2026-02-25 11:03:02 +01:00
saved_filter_positions_test.go fix(filters): ensure saved filter views never have position=0 (#1996) 2025-12-16 22:13:40 +00:00
saved_filters.go refactor: remove typesense support 2026-02-25 12:15:28 +01:00
saved_filters_permissions.go feat!: rename right to permission (#1277) 2025-08-13 11:05:05 +02:00
saved_filters_test.go feat!: rename right to permission (#1277) 2025-08-13 11:05:05 +02:00
sessions.go fix: commit transaction in session cleanup cron 2026-02-25 11:03:02 +01:00
sessions_permissions.go feat: add Session model with CRUD, permissions, and cleanup cron 2026-02-25 10:30:25 +01:00
setup_tests.go feat: add Session model with CRUD, permissions, and cleanup cron 2026-02-25 10:30:25 +01:00
subscription.go feat!: rename right to permission (#1277) 2025-08-13 11:05:05 +02:00
subscription_permissions.go feat!: rename right to permission (#1277) 2025-08-13 11:05:05 +02:00
subscription_test.go fix: prevent session leaks and visibility issues in model tests 2026-02-25 11:03:02 +01:00
task_assignees.go feat!: rename right to permission (#1277) 2025-08-13 11:05:05 +02:00
task_assignees_permissions.go feat!: rename right to permission (#1277) 2025-08-13 11:05:05 +02:00
task_attachment.go fix: eliminate nested database sessions to prevent table locks 2026-02-25 11:03:02 +01:00
task_attachment_permissions.go feat!: rename right to permission (#1277) 2025-08-13 11:05:05 +02:00
task_attachment_test.go fix: prevent session leaks and visibility issues in model tests 2026-02-25 11:03:02 +01:00
task_collection.go fix(deps): update module github.com/labstack/echo/v4 to v5 (#2131) 2026-01-24 20:38:32 +01:00
task_collection_filter.go fix(filter): recover from datemath panic on malformed date filter values 2026-02-26 16:09:13 +01:00
task_collection_filter_test.go fix(filter): recover from datemath panic on malformed date filter values 2026-02-26 16:09:13 +01:00
task_collection_sort.go fix: correct license header references (#882) 2025-06-10 12:18:38 +02:00
task_collection_sort_test.go fix: correct license header references (#882) 2025-06-10 12:18:38 +02:00
task_collection_test.go fix: only merge range comparators in sub-table filter grouping 2026-02-19 12:40:29 +01:00
task_comment_permissions.go fix(sharing): make editing link share comments work 2025-10-09 10:53:18 +02:00
task_comments.go feat(comments): support order_by query parameter in comments API 2026-02-19 14:20:52 +01:00
task_comments_test.go fix: prevent session leaks and visibility issues in model tests 2026-02-25 11:03:02 +01:00
task_overdue_reminder.go fix: add missing Commit() to event listeners and cron jobs 2026-02-25 11:03:02 +01:00
task_overdue_reminder_test.go fix(tasks): make sure all users get overdue reminder mails (#1901) 2025-11-28 11:06:47 +01:00
task_position.go fix: use MinPositionSpacing threshold in calculateNewPositionForTask (#2320) 2026-03-02 09:14:38 +01:00
task_position_test.go fix(positions): detect and repair duplicate task positions automatically (#1998) 2025-12-20 19:38:28 +01:00
task_relation.go fix: populate complete entity data in deletion event webhooks (#2135) 2026-01-24 12:50:18 +01:00
task_relation_permissions.go feat!: rename right to permission (#1277) 2025-08-13 11:05:05 +02:00
task_relation_test.go feat!: rename right to permission (#1277) 2025-08-13 11:05:05 +02:00
task_reminder.go fix: add missing Commit() to event listeners and cron jobs 2026-02-25 11:03:02 +01:00
task_reminder_test.go fix(reminders): refactor and check permissions when fetching task users 2025-10-09 13:33:27 +02:00
task_search.go refactor: remove typesense support 2026-02-25 12:15:28 +01:00
task_search_bench_test.go refactor: remove typesense support 2026-02-25 12:15:28 +01:00
task_search_test.go fix(kanban): make bucket query fixed per-view (#1007) 2025-06-25 11:38:24 +00:00
task_unread_statuses.go feat: task unread tracking (#1857) 2025-11-27 15:14:42 +01:00
tasks.go fix(events): defer task event dispatch until after transaction commit 2026-03-03 12:46:34 +01:00
tasks_permissions.go feat!: rename right to permission (#1277) 2025-08-13 11:05:05 +02:00
tasks_test.go fix: prevent session leaks and visibility issues in model tests 2026-02-25 11:03:02 +01:00
team_members.go fix: cleanup team memberships, assignments and subscriptions when users lose access to a project 2025-10-09 13:33:27 +02:00
team_members_permissions.go feat!: rename right to permission (#1277) 2025-08-13 11:05:05 +02:00
team_members_test.go fix: cleanup team memberships, assignments and subscriptions when users lose access to a project 2025-10-09 13:33:27 +02:00
team_sync.go fix: correct license header references (#882) 2025-06-10 12:18:38 +02:00
teams.go fix: cleanup team memberships, assignments and subscriptions when users lose access to a project 2025-10-09 13:33:27 +02:00
teams_permissions.go feat!: rename right to permission (#1277) 2025-08-13 11:05:05 +02:00
teams_permissions_test.go feat!: rename right to permission (#1277) 2025-08-13 11:05:05 +02:00
teams_test.go feat!: rename right to permission (#1277) 2025-08-13 11:05:05 +02:00
unsplash.go fix: correct license header references (#882) 2025-06-10 12:18:38 +02:00
user_delete.go fix: address review comments on session lifecycle 2026-02-25 11:03:02 +01:00
user_delete_test.go fix: prevent session leaks and visibility issues in model tests 2026-02-25 11:03:02 +01:00
user_project.go feat!: rename right to permission (#1277) 2025-08-13 11:05:05 +02:00
user_project_test.go feat: show user export status in settings (#1200) 2025-07-30 15:50:26 +00:00
users.go fix: correct license header references (#882) 2025-06-10 12:18:38 +02:00
webhooks.go feat: add option to send Basic Auth header with webhook requests (#2137) 2026-01-30 15:07:31 +01:00
webhooks_permissions.go feat!: rename right to permission (#1277) 2025-08-13 11:05:05 +02:00