Notifications and emails showed the acting user's auto-generated username instead of their display Name. The doer attached to notification events was built straight from the JWT via user.GetFromAuth, which only carries id + username (Name is never set in GetUserFromClaims). Notifications render n.Doer.GetName(), which falls back to the username when Name is empty, so every "assigned you", "mentioned you", task-deleted, project-created and team-member notification rendered the username. Resolve the full user from the database at the event-producing dispatch sites. doerFromAuth now re-fetches the user (with Name) and is reused by all the notification doers; account-status errors are swallowed so flows acting on behalf of disabled accounts (e.g. user deletion deleting that user's tasks) keep working while still carrying the display name. Fixes #2720 |
||
|---|---|---|
| .. | ||
| events.go | ||
| events_test.go | ||
| listeners.go | ||
| request_meta.go | ||
| testing.go | ||