From 063753a5434978d8d9d329052fedf4deeeb3bc2c Mon Sep 17 00:00:00 2001 From: kolaente Date: Sun, 23 Mar 2025 19:08:11 +0100 Subject: [PATCH] fix(filter): do not try to set timezone when doer does not exist Resolves https://vikunja.sentry.io/issues/6025547266/events/e0d0a5fdf01c46a2ac9101d94ab4f304/ --- pkg/models/listeners.go | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/pkg/models/listeners.go b/pkg/models/listeners.go index e06cdebf3..bb2495d76 100644 --- a/pkg/models/listeners.go +++ b/pkg/models/listeners.go @@ -673,13 +673,16 @@ func (l *UpdateTaskInSavedFilterViews) Handle(msg *message.Message) (err error) } var fallbackTimezone string - u, err := user.GetUserByID(s, event.Doer.GetID()) - if err == nil { - fallbackTimezone = u.Timezone - // When a link share triggered this event, the user id will be 0, and thus this fails. - // Only passing the value along when the user was retrieved successfully ensures the whole handler - // does not fail because of that. - // When the fallback is empty, it will be handled later anyhow. + if event.Doer != nil { + var u *user.User + u, err = user.GetUserByID(s, event.Doer.GetID()) + if err == nil { + fallbackTimezone = u.Timezone + // When a link share triggered this event, the user id will be 0, and thus this fails. + // Only passing the value along when the user was retrieved successfully ensures the whole handler + // does not fail because of that. + // When the fallback is empty, it will be handled later anyhow. + } } taskBuckets := []*TaskBucket{}