diff options
author | Giteabot <teabot@gitea.io> | 2025-04-02 09:37:17 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-04-02 09:37:17 +0800 |
commit | 25e409e025a125a5a8012f9f015089e93927d08c (patch) | |
tree | 05e2e7e832895632888442d077cd145957898885 | |
parent | f8f24d83cfee9b4c8d0ee60183fee0d6a91da67f (diff) | |
download | gitea-25e409e025a125a5a8012f9f015089e93927d08c.tar.gz gitea-25e409e025a125a5a8012f9f015089e93927d08c.zip |
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 <xiaolunwen@gmail.com>
-rw-r--r-- | models/user/avatar.go | 4 |
1 files changed, 3 insertions, 1 deletions
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() } |