Sign in

Search issue titles and bodies, change requests and comments. Private repositories you cannot read are not included.

vole
Clone

Read only, no credentials:

https://rodent.software/git/vole.git

Write over SSH with a registered key:

git clone ssh://git@0.0.0.0:2222/vole.git

A free and open-source forge that lives in your Git repo.

Title the linked issues section Issues and shrink unlink

267feec2a6089cca6532d0a3d75eaffe2ba48594 · Keenan Nemetz · 10d ago · parent 86ddbd14

Title the linked issues section Issues and shrink unlink

The section lists linked issues, so calling it Details described the shape rather than the content. Removing a link is now a small unlink icon whose accessible name still names the issue, instead of a wide Remove button beside every row.

server/web/writes.go +4−4

@@ -473,12 +473,12 @@ func (w *Web) UpdateRequestIssues(rw http.ResponseWriter, r *http.Request) {
473 473 w.refuse(rw, r, "you do not have permission to change these links")
474 474 return
475 475 }
476 // A refused link re-renders the Details section, so the reason appears beside
476 // A refused link re-renders the Issues section, so the reason appears beside
477 477 // the controls instead of replacing the review.
478 478 details := func(msg string) (string, any) {
479 479 v := w.requestSidebar(r, m, req, "", "")
480 v.DetailsError = msg
481 return "request_details", v
480 v.IssuesError = msg
481 return "request_issues", v
482 482 }
483 483 action := strings.TrimSpace(r.PostFormValue("action"))
484 484 if action != "add" && action != "remove" {
@@ -528,7 +528,7 @@ func (w *Web) UpdateRequestIssues(rw http.ResponseWriter, r *http.Request) {
528 528 if updated == nil {
529 529 updated = req
530 530 }
531 w.render(rw, "request_details", w.requestSidebar(r, m, updated, "", ""), 0)
531 w.render(rw, "request_issues", w.requestSidebar(r, m, updated, "", ""), 0)
532 532 return
533 533 }
534 534 http.Redirect(rw, r, "/r/"+m.Name+"/requests/"+id, http.StatusSeeOther)