From 43bbc5478370cbfe3ab1eed730ea002ccec74708 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Wed, 10 Nov 2021 13:48:45 +0800 Subject: Fix 500 when a comment was deleted which has a notification (#17550) * Fix 500 when a comment was deleted which has a notification * Tolerate missing Comment in other places too Signed-off-by: Andrew Thornton Co-authored-by: Andrew Thornton Co-authored-by: wxiaoguang --- models/notification.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'models') diff --git a/models/notification.go b/models/notification.go index ce656f4355..48249ae84c 100644 --- a/models/notification.go +++ b/models/notification.go @@ -434,7 +434,13 @@ func (n *Notification) loadComment(e db.Engine) (err error) { if n.Comment == nil && n.CommentID != 0 { n.Comment, err = getCommentByID(e, n.CommentID) if err != nil { - return fmt.Errorf("GetCommentByID [%d] for issue ID [%d]: %v", n.CommentID, n.IssueID, err) + if IsErrCommentNotExist(err) { + return ErrCommentNotExist{ + ID: n.CommentID, + IssueID: n.IssueID, + } + } + return err } } return nil @@ -488,7 +494,7 @@ type NotificationList []*Notification func (nl NotificationList) LoadAttributes() (err error) { for i := 0; i < len(nl); i++ { err = nl[i].LoadAttributes() - if err != nil { + if err != nil && !IsErrCommentNotExist(err) { return } } -- cgit v1.2.3