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.

Unify terminology across the web UI and docs

ab326d3ac1fd947a9df45f31f6dc10ab38627882 · Keenan Nemetz · 14d ago · parent 5b814e99

Unify terminology across the web UI and docs

Use account, repository, change request, enrollment link, instance admin, and sign in/out consistently. Rename the access guide to accounts-and-access.md, update its links, and record the canonical terms and retained command/URL spellings in the documentation index.

server/web/auth_handlers.go +6−6

@@ -26,7 +26,7 @@ func (w *Web) LoginPage(rw http.ResponseWriter, r *http.Request) {
26 26 Registration bool
27 27 Reason string
28 28 }{
29 Page: w.page(r, "Log in"),
29 Page: w.page(r, "Sign in"),
30 30 Next: next,
31 31 Enabled: w.enabled(),
32 32 Registration: w.registrationEnabled(),
@@ -71,7 +71,7 @@ func (w *Web) InvitePage(rw http.ResponseWriter, r *http.Request) {
71 71
72 72 func authReason(a *Auth) string {
73 73 if a == nil {
74 return "browser login is not configured"
74 return "browser sign-in is not configured"
75 75 }
76 76 return a.Disabled
77 77 }
@@ -134,17 +134,17 @@ func (w *Web) LoginFinish(rw http.ResponseWriter, r *http.Request) {
134 134 }
135 135 acct, err := w.Ident.Find(c.Name)
136 136 if err != nil || !acct.Active() {
137 writeJSONError(rw, http.StatusUnauthorized, "login failed")
137 writeJSONError(rw, http.StatusUnauthorized, "sign-in failed")
138 138 return
139 139 }
140 140 user, err := w.waUser(acct)
141 141 if err != nil {
142 writeJSONError(rw, http.StatusUnauthorized, "login failed")
142 writeJSONError(rw, http.StatusUnauthorized, "sign-in failed")
143 143 return
144 144 }
145 145 cred, err := w.Auth.WA.FinishLogin(user, c.Data, r)
146 146 if err != nil {
147 writeJSONError(rw, http.StatusUnauthorized, "login failed")
147 writeJSONError(rw, http.StatusUnauthorized, "sign-in failed")
148 148 return
149 149 }
150 150 if err := w.Ident.UpdateCredential(cred.ID, cred.Authenticator.SignCount, time.Now().UTC()); err != nil {
@@ -360,7 +360,7 @@ func (w *Web) Logout(rw http.ResponseWriter, r *http.Request) {
360 360 }
361 361 w.clearCookie(rw, sessionCookieName)
362 362 if w.devAccount != nil {
363 // Log out must stick even though loopback would otherwise sign us back
363 // Signing out must stick even though loopback would otherwise sign us back
364 364 // in. /dev/login clears this opt-out.
365 365 w.clearCookieFor(rw, devSessionCookieName, false)
366 366 http.SetCookie(rw, &http.Cookie{