Monorepo for Tangled tangled.org
2

Configure Feed

Select the types of activity you want to include in your feed.

appview: change users ssh key url to be /{user}.keys

Signed-off-by: Will <did:plc:dadhhalkfcq3gucaq25hjqon>

author willdot.net committer
Tangled
date (Jun 25, 2026, 4:41 AM +0300) commit 47a0e6cf parent 4fa143d3 change-id zryvultm
+19 -1
+1
appview/middleware/middleware.go
··· 222 222 return http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) { 223 223 origSeg := chi.URLParam(req, "user") 224 224 didOrHandle := strings.TrimPrefix(origSeg, "@") 225 + didOrHandle = strings.TrimSuffix(didOrHandle, ".keys") 225 226 226 227 if slices.Contains(excluded, didOrHandle) { 227 228 next.ServeHTTP(w, req)
+17 -1
appview/state/router.go
··· 60 60 61 61 userRouter := s.UserRouter(&middleware) 62 62 standardRouter := s.StandardRouter(&middleware) 63 + keysRouter := s.KeysRouter(&middleware) 63 64 64 65 router.HandleFunc("/*", func(w http.ResponseWriter, r *http.Request) { 65 66 pat := chi.URLParam(r, "*") ··· 87 88 s.logger.Error("db error looking up repo DID", "repoDid", firstPart, "err", err) 88 89 http.Error(w, "internal server error", http.StatusInternalServerError) 89 90 } 91 + return 92 + } 93 + 94 + if strings.HasSuffix(firstPart, ".keys") { 95 + keysRouter.ServeHTTP(w, r) 90 96 return 91 97 } 92 98 ··· 124 130 }) 125 131 126 132 return router 133 + } 134 + 135 + func (s *State) KeysRouter(mw *middleware.Middleware) http.Handler { 136 + r := chi.NewRouter() 137 + r.Use(mw.InjectBaseParams) 138 + 139 + r.With(mw.ResolveIdent()).Route("/{user}", func(r chi.Router) { 140 + r.Get("/", s.Keys) 141 + }) 142 + 143 + return r 127 144 } 128 145 129 146 func (s *State) UserRouter(mw *middleware.Middleware) http.Handler { ··· 256 273 r.Mount("/signup", s.SignupRouter()) 257 274 r.Mount("/", s.oauth.Router()) 258 275 259 - r.Get("/keys/{user}", s.Keys) 260 276 r.Get("/terms", s.TermsOfService) 261 277 r.Get("/privacy", s.PrivacyPolicy) 262 278 r.Get("/brand", s.Brand)
+1
appview/state/state.go
··· 418 418 func (s *State) Keys(w http.ResponseWriter, r *http.Request) { 419 419 user := chi.URLParam(r, "user") 420 420 user = strings.TrimPrefix(user, "@") 421 + user = strings.TrimSuffix(user, ".keys") 421 422 422 423 if user == "" { 423 424 w.WriteHeader(http.StatusBadRequest)