Skip to content

Commit 9583797

Browse files
Added handling for cases where the user in a PR review is missing (#998)
1 parent 92cb37c commit 9583797

3 files changed

Lines changed: 15 additions & 3 deletions

File tree

server/plugin/api.go

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -859,7 +859,15 @@ func fetchReviews(c *UserContext, client *github.Client, repoOwner string, repoN
859859
return []*github.PullRequestReview{}, errors.Wrap(err, "could not list reviews")
860860
}
861861

862-
return reviewsList, nil
862+
// Filtering reviews where user is nil
863+
filtered := make([]*github.PullRequestReview, 0, len(reviewsList))
864+
for _, review := range reviewsList {
865+
if review != nil && review.User != nil {
866+
filtered = append(filtered, review)
867+
}
868+
}
869+
870+
return filtered, nil
863871
}
864872

865873
func getRepoOwnerAndNameFromURL(rawURL string) (string, string, error) {

webapp/src/components/sidebar_right/github_items.tsx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -467,7 +467,11 @@ function getReviewText(item: GithubItem, style: any, secondLine: boolean) {
467467
};
468468

469469
const lastReviews = item.reviews.reduce(reverse, []).filter((v) => {
470-
if (v.user.login === item.user.login) {
470+
if (!v.user) {
471+
return false;
472+
}
473+
474+
if (item.user && v.user.login === item.user.login) {
471475
return false;
472476
}
473477

webapp/src/types/github_types.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ type GitHubUser = {
1717

1818
export type Review = {
1919
state: string;
20-
user: GitHubUser;
20+
user?: GitHubUser;
2121
}
2222

2323
export type GithubItem = PrsDetailsData & {

0 commit comments

Comments
 (0)