diff --git a/pkg/web/webui_bugs.go b/pkg/web/webui_bugs.go index 40be7859fef69985b4a96b534cd180a3cdc86df1..191ac6e4d09b233aacee1f4dbfa8c98cbb1170e8 100644 --- a/pkg/web/webui_bugs.go +++ b/pkg/web/webui_bugs.go @@ -425,12 +425,15 @@ func repoBugs(w http.ResponseWriter, r *http.Request) { repoDisplayName = repo.Name() } + description := getRepoDescriptionOrFallback(repo, "Bugs in "+repoDisplayName) + data := BugsData{ RepoBaseData: RepoBaseData{ BaseData: BaseData{ - ServerName: cfg.Name, - ActiveTab: "bugs", - Title: "Bugs | " + repoDisplayName, + ServerName: cfg.Name, + ActiveTab: "bugs", + Title: "Bugs | " + repoDisplayName, + Description: description, }, Repo: repo, DefaultBranch: defaultBranch, @@ -494,6 +497,22 @@ func repoBug(w http.ResponseWriter, r *http.Request) { edited = timeline[0].Edited } + // Extract raw message for description + var rawMessage string + if len(snap.Timeline) > 0 { + if createOp, ok := snap.Timeline[0].(*bug.CreateTimelineItem); ok { + if !createOp.MessageIsEmpty() { + rawMessage = createOp.Message + } + } + } + + // Generate description from bug message or fallback to title + description := extractPlainTextFromMarkdown(rawMessage, 200) + if description == "" { + description = truncateText(snap.Title, 200) + } + gr, err := openRepository(repo) if err != nil { logger.Debug("failed to open repository", "repo", repo.Name(), "err", err) @@ -510,9 +529,10 @@ func repoBug(w http.ResponseWriter, r *http.Request) { data := BugData{ RepoBaseData: RepoBaseData{ BaseData: BaseData{ - ServerName: cfg.Name, - ActiveTab: "bugs", - Title: snap.Title + " | Bug " + snap.Id().Human() + " | " + repoDisplayName, + ServerName: cfg.Name, + ActiveTab: "bugs", + Title: snap.Title + " | Bug " + snap.Id().Human() + " | " + repoDisplayName, + Description: description, }, Repo: repo, DefaultBranch: defaultBranch,