@@ -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,