vikunja/pkg/models
kolaente 2f680d041c fix: address review comments on session lifecycle
- user_export.go: Remove defer s.Close() from checkExportRequest since
  it returns the session to callers. Callers now own the session
  lifecycle with their own defer s.Close(). Close session on all error
  paths within checkExportRequest.

- user_delete.go: Close the read session immediately after Find() before
  the per-user deletion loop, avoiding a long-lived transaction holding
  locks unnecessarily.

- user/delete.go: Remove double s.Close() in notifyUsersScheduledForDeletion
  by closing immediately after Find() instead of using both defer and
  explicit close.

- caldav_token.go: Return nil token on Commit() error to prevent callers
  from using an unpersisted token.
2026-02-25 11:03:02 +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): fail when link share token is not parsable 2025-08-14 17:11:57 +02: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 fix: add missing Commit() to event listeners and cron jobs 2026-02-25 11:03:02 +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 feat: add sessions table migration 2026-02-25 10:30:25 +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_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 feat!: rename right to permission (#1277) 2025-08-13 11:05:05 +02: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 fix: add missing Commit() to write callers 2026-02-25 11:03:02 +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 feat: add Session model with CRUD, permissions, and cleanup cron 2026-02-25 10:30:25 +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): ensure year is always within mysql allowed range 2026-01-09 23:11:22 +01:00
task_collection_filter_test.go fix(filters): support project filter in parentheses (#1647) 2025-10-13 11:10:22 +02: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(positions): detect and repair duplicate task positions automatically (#1998) 2025-12-20 19:38:28 +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 fix: only merge range comparators in sub-table filter grouping 2026-02-19 12:40:29 +01:00
task_search_bench_test.go fix: adjust benchmark so that it only checks the task fetching 2025-07-18 23:18:04 +02: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: pass pointer to xorm Update to avoid hash panic in transaction mode 2026-02-25 11:03:02 +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
typesense.go refactor: remove redundant Begin() calls after NewSession auto-begins 2026-02-25 11:03:02 +01: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