From f131289d326516268f6d647468434b7d52c50f58 Mon Sep 17 00:00:00 2001 From: kolaente Date: Wed, 5 Jun 2024 10:36:25 +0200 Subject: [PATCH] fix(typesense): correctly index assignee changes on tasks This change fixes a bug where adding or removing an assignee to a task would not update the index in Typesense, causing filter queries for that assignee to return incorrect data. This was caused by the events being dispatched by the task update process not containing all the data. Resolves https://github.com/go-vikunja/vikunja/issues/255 --- pkg/models/task_assignees.go | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/pkg/models/task_assignees.go b/pkg/models/task_assignees.go index bf786cc0b..81d231367 100644 --- a/pkg/models/task_assignees.go +++ b/pkg/models/task_assignees.go @@ -189,11 +189,18 @@ func (la *TaskAssginee) Delete(s *xorm.Session, a web.Auth) (err error) { return err } - return events.Dispatch(&TaskAssigneeDeletedEvent{ + err = events.Dispatch(&TaskAssigneeDeletedEvent{ Task: &task, Assignee: &user.User{ID: la.UserID}, Doer: doer, }) + if err != nil { + return err + } + return events.Dispatch(&TaskUpdatedEvent{ + Task: &task, + Doer: doer, + }) } // Create adds a new assignee to a task @@ -281,7 +288,7 @@ func (t *Task) addNewAssigneeByID(s *xorm.Session, newAssigneeID int64, project return err } err = events.Dispatch(&TaskUpdatedEvent{ - Task: t, + Task: &task, Doer: doer, }) if err != nil {