mirror of
https://github.com/go-gitea/gitea.git
synced 2026-10-04 07:33:44 +09:00
Backport #39416 by @bircni Closes https://github.com/go-gitea/gitea/issues/39414 `CommentList.loadAssignees` set a Ghost assignee on every comment without an `AssigneeID` whenever another comment in the same batch had one. Since https://github.com/go-gitea/gitea/pull/38413 the timeline prefers `Assignee` over `AssigneeTeam`, so team review requests, from CODEOWNERS or added manually, rendered as "Ghost" whenever the timeline also had a user assignee or user review request. Skip comments without an `AssigneeID`. Co-authored-by: bircni <bircni@icloud.com> Co-authored-by: silverwind <me@silverwind.io>
This commit is contained in:
@@ -201,6 +201,9 @@ func (comments CommentList) loadAssignees(ctx context.Context) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for _, comment := range comments {
|
for _, comment := range comments {
|
||||||
|
if comment.AssigneeID <= 0 {
|
||||||
|
continue
|
||||||
|
}
|
||||||
comment.Assignee = assignees[comment.AssigneeID]
|
comment.Assignee = assignees[comment.AssigneeID]
|
||||||
if comment.Assignee == nil {
|
if comment.Assignee == nil {
|
||||||
comment.AssigneeID = user_model.GhostUserID
|
comment.AssigneeID = user_model.GhostUserID
|
||||||
|
|||||||
@@ -58,6 +58,20 @@ func TestLoadAssigneeUserAndTeam_DeletedTeamBecomesGhostTeam(t *testing.T) {
|
|||||||
assert.EqualValues(t, -1, comment.AssigneeTeam.ID)
|
assert.EqualValues(t, -1, comment.AssigneeTeam.ID)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestCommentListLoadAttributesMixedAssignees(t *testing.T) {
|
||||||
|
assert.NoError(t, unittest.PrepareTestDatabase())
|
||||||
|
comments := issues_model.CommentList{
|
||||||
|
{AssigneeTeamID: 8},
|
||||||
|
{AssigneeID: 999999},
|
||||||
|
}
|
||||||
|
|
||||||
|
assert.NoError(t, comments.LoadAttributes(t.Context()))
|
||||||
|
assert.Nil(t, comments[0].Assignee)
|
||||||
|
assert.Zero(t, comments[0].AssigneeID)
|
||||||
|
assert.Equal(t, user_model.GhostUserID, comments[1].AssigneeID)
|
||||||
|
assert.Equal(t, user_model.GhostUserID, comments[1].Assignee.ID)
|
||||||
|
}
|
||||||
|
|
||||||
func Test_UpdateCommentAttachment(t *testing.T) {
|
func Test_UpdateCommentAttachment(t *testing.T) {
|
||||||
assert.NoError(t, unittest.PrepareTestDatabase())
|
assert.NoError(t, unittest.PrepareTestDatabase())
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user