From 25e409e025a125a5a8012f9f015089e93927d08c Mon Sep 17 00:00:00 2001 From: Giteabot Date: Wed, 2 Apr 2025 09:37:17 +0800 Subject: [PATCH] Return default avatar url when user id is zero rather than updating database (#34094) (#34095) Backport #34094 by @lunny When visit commit list, it would update the user avatar even if id = 0, which was unnecessary operations. This PR returned default avatar for the git only user avatar rendering who's user id is zero. ```log database duration=0.0005s db.sql="UPDATE `user` SET `avatar` = ?, `updated_unix` = ? WHERE `id`=?" database duration=0.0007s db.sql="UPDATE `user` SET `avatar` = ?, `updated_unix` = ? WHERE `id`=?" ... ``` Co-authored-by: Lunny Xiao --- models/user/avatar.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/models/user/avatar.go b/models/user/avatar.go index 2a41b99129..3d9fc4452f 100644 --- a/models/user/avatar.go +++ b/models/user/avatar.go @@ -61,7 +61,9 @@ func GenerateRandomAvatar(ctx context.Context, u *User) error { // AvatarLinkWithSize returns a link to the user's avatar with size. size <= 0 means default size func (u *User) AvatarLinkWithSize(ctx context.Context, size int) string { - if u.IsGhost() || u.IsGiteaActions() { + // ghost user was deleted, Gitea actions is a bot user, 0 means the user should be a virtual user + // which comes from git configure information + if u.IsGhost() || u.IsGiteaActions() || u.ID <= 0 { return avatars.DefaultAvatarLink() }