From 69fcca2d4564f706fa41280895e3a20d81740598 Mon Sep 17 00:00:00 2001 From: Raymond Date: Sat, 22 Oct 2022 11:23:20 +0200 Subject: [PATCH] Remove deleted repos from searchresult (#21512) This prevents a 500 response, because null pointer exceptions in rendering the template. This happends bc the repoId is not in the repoMap because it is delete fix #19076 Co-authored-by: Lunny Xiao Co-authored-by: 6543 <6543@obermui.de> Co-authored-by: wxiaoguang --- routers/web/explore/code.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/routers/web/explore/code.go b/routers/web/explore/code.go index 2357b34fd0..38474255d1 100644 --- a/routers/web/explore/code.go +++ b/routers/web/explore/code.go @@ -110,6 +110,18 @@ func Code(ctx *context.Context) { } ctx.Data["RepoMaps"] = repoMaps + + if len(loadRepoIDs) != len(repoMaps) { + // Remove deleted repos from search results + cleanedSearchResults := make([]*code_indexer.Result, 0, len(repoMaps)) + for _, sr := range searchResults { + if _, found := repoMaps[sr.RepoID]; found { + cleanedSearchResults = append(cleanedSearchResults, sr) + } + } + + searchResults = cleanedSearchResults + } } ctx.Data["SearchResults"] = searchResults