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/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/web/page.go +2−4

@@ -42,8 +42,8 @@ type Page struct {
42 42 // InstanceAdmin reports whether the viewer may use the instance-wide admin
43 43 // surface. The global bar uses it to show Admin.
44 44 InstanceAdmin bool
45 // Query is the repository search on the index page. The global search box
46 // echoes it; other pages leave it empty.
45 // Query is the repository search on the index page. Other pages leave it
46 // empty.
47 47 Query string
48 48 // Section is the global destination the current page belongs to, used by the
49 49 // rail to mark the current item. It is presentation only.
@@ -65,8 +65,6 @@ func pageSection(path string) string {
65 65 return "repos"
66 66 case strings.HasPrefix(path, "/activity"):
67 67 return "activity"
68 case path == "/search":
69 return "search"
70 68 case path == "/users" || strings.HasPrefix(path, "/users/"):
71 69 return "users"
72 70 case strings.HasPrefix(path, "/account"):