vole
Clone
Read only, no credentials:
https://rodent.software/vole.git
Write over SSH with a registered key:
git clone ssh://git@rodent.software:2222/vole.git
A free and open-source forge that lives in your Git repo.
Standardize filter rows and add tag selection to the code page
55615c7a4b8472f8bfccab8048f608978d389821 · Keenan Nemetz · 11d ago · parent 3a068983
Standardize filter rows and add tag selection to the code page The code page kept its branch picker in the header actions, had no tag picker, and left every list page to shape its own filters: search inputs ranged from 10rem to 18rem, some selects had a visible label and some did not, and text searches submitted through a Filter button, a Search button, or Enter alone while selects sometimes waited for a click. - One .filters row on issues, requests, activity, the code page and code search. One --search-w (18rem) for page and global search, a visible label on every filter select, auto-apply on select change, and one icon-and-Search button for text. - The code page puts its search, branch picker and new tag picker on the shared row under the header. The tag picker lists tags newest first and leaves the branch picker unclaimed when a tag is open. - data-autosubmit uses requestSubmit() so htmx swaps the filtered pane instead of a full page load. Checks: ./vole workflow check; ./vole workflow run verify.
server/integration_test.go +1−1
| @@ -1628,7 +1628,7 @@ func TestIssueAssigneesRenderedFilteredAndValidated(t *testing.T) { | |||
| 1628 | 1628 | t.Fatalf("assignee is not rendered as a filter link:\n%s", body) | |
| 1629 | 1629 | } | |
| 1630 | 1630 | // The list page offers the assignee as a filter and shows it on the row. | |
| 1631 | if _, body := f.get("/r/" + f.repo + "/issues"); !strings.Contains(body, "Assignees") { | ||
| 1631 | if _, body := f.get("/r/" + f.repo + "/issues"); !strings.Contains(body, "Assignee") { | ||
| 1632 | 1632 | t.Fatalf("list has no assignee filters:\n%s", body) | |
| 1633 | 1633 | } | |
| 1634 | 1634 | // And the filter excludes issues with a different assignee. | |