From 01bf8da02e6febd0784f676e949910d6c5233d0e Mon Sep 17 00:00:00 2001
From: Lunny Xiao <xiaolunwen@gmail.com>
Date: Sat, 15 Feb 2025 15:16:19 -0800
Subject: [PATCH] Fix bug when get commit (#33602)

Fix #33595
---
 models/user/user.go | 18 +++++++++++-------
 1 file changed, 11 insertions(+), 7 deletions(-)

diff --git a/models/user/user.go b/models/user/user.go
index 12692e2ae1..3c72aa7cc4 100644
--- a/models/user/user.go
+++ b/models/user/user.go
@@ -1187,20 +1187,24 @@ func GetUsersByEmails(ctx context.Context, emails []string) (map[string]*User, e
 	for _, email := range emailAddresses {
 		userIDs.Add(email.UID)
 	}
-	users, err := GetUsersByIDs(ctx, userIDs.Values())
+	users, err := GetUsersMapByIDs(ctx, userIDs.Values())
 	if err != nil {
 		return nil, err
 	}
 
 	results := make(map[string]*User, len(emails))
-	for _, user := range users {
-		if user.KeepEmailPrivate {
-			results[user.LowerName+"@"+setting.Service.NoReplyAddress] = user
-		} else {
-			results[user.Email] = user
+	for _, email := range emailAddresses {
+		user := users[email.UID]
+		if user != nil {
+			if user.KeepEmailPrivate {
+				results[user.LowerName+"@"+setting.Service.NoReplyAddress] = user
+			} else {
+				results[email.Email] = user
+			}
 		}
 	}
-	users = make([]*User, 0, len(needCheckUserNames))
+
+	users = make(map[int64]*User, len(needCheckUserNames))
 	if err := db.GetEngine(ctx).In("lower_name", needCheckUserNames.Values()).Find(&users); err != nil {
 		return nil, err
 	}