From 92ab4c2ea4a9f36392179c5539140aa47c84a9a5 Mon Sep 17 00:00:00 2001 From: Patrick Dewey
Date: Sat, 7 Feb 2026 18:01:06 -0500 Subject: [PATCH] appview/issues: fix search not updating count of open/closed issues searching for issues did not previously update open/closed issue counts https://tangled.org/tangled.org/core/issues/400. Signed-off-by: pdewey.com
--- appview/issues/issues.go | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/appview/issues/issues.go b/appview/issues/issues.go index 9d35bb71..555f73d3 100644 --- a/appview/issues/issues.go +++ b/appview/issues/issues.go @@ -822,6 +822,8 @@ func (rp *Issues) RepoIssues(w http.ResponseWriter, r *http.Request) { keyword := params.Get("q") + repoInfo := rp.repoResolver.GetRepoInfo(r, user) + var issues []models.Issue searchOpts := models.IssueSearchOptions{ Keyword: keyword, @@ -838,6 +840,21 @@ func (rp *Issues) RepoIssues(w http.ResponseWriter, r *http.Request) { l.Debug("searched issues with indexer", "count", len(res.Hits)) totalIssues = int(res.Total) + // count matching issues in the opposite state to display correct counts + countRes, err := rp.indexer.Search(r.Context(), models.IssueSearchOptions{ + Keyword: keyword, RepoAt: f.RepoAt().String(), IsOpen: !isOpen, + Page: pagination.Page{Limit: 1}, + }) + if err == nil { + if isOpen { + repoInfo.Stats.IssueCount.Open = int(res.Total) + repoInfo.Stats.IssueCount.Closed = int(countRes.Total) + } else { + repoInfo.Stats.IssueCount.Closed = int(res.Total) + repoInfo.Stats.IssueCount.Open = int(countRes.Total) + } + } + issues, err = db.GetIssues( rp.db, orm.FilterIn("id", res.Hits), @@ -884,7 +901,7 @@ func (rp *Issues) RepoIssues(w http.ResponseWriter, r *http.Request) { rp.pages.RepoIssues(w, pages.RepoIssuesParams{ LoggedInUser: rp.oauth.GetMultiAccountUser(r), - RepoInfo: rp.repoResolver.GetRepoInfo(r, user), + RepoInfo: repoInfo, Issues: issues, IssueCount: totalIssues, LabelDefs: defs, -- 2.51.2