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.
Make the palette the only search surface
1265ea552fb7346628c1e742a63c758c819379c5 · Keenan Nemetz · 10d ago · parent 6c03e6d3
Make the palette the only search surface The full /search page repeated the palette's query and visibility rule, so one of the two had to become the source of truth. Keep the palette: it shows the first 30 matches, says when a query found more, and is reachable from every page and with the keyboard shortcut. The top bar no longer carries a Search destination or a form fallback; its launcher is a plain button, and the palette dialog never navigates to a page behind it.
server/routes.go −1
| @@ -44,7 +44,6 @@ func (s *Server) globalRoutes(mux *http.ServeMux) { | |||
| 44 | 44 | w := s.Web | |
| 45 | 45 | mux.HandleFunc("GET /{$}", w.IndexPage) | |
| 46 | 46 | mux.HandleFunc("GET /activity", w.InstanceActivity) | |
| 47 | mux.HandleFunc("GET /search", w.Search) | ||
| 48 | 47 | mux.HandleFunc("GET /search/palette", w.SearchPalette) | |
| 49 | 48 | mux.HandleFunc("GET /status", w.StatusPage) | |
| 50 | 49 | mux.HandleFunc("GET /healthz", func(rw http.ResponseWriter, r *http.Request) { | |