+1
-1
appview/pages/templates/timeline.html
+1
-1
appview/pages/templates/timeline.html
···
23
</div>
24
<div class="italic text-lg">
25
tightly-knit social coding, <a href="/login" class="underline inline-flex gap-1 items-center">join now {{ i "arrow-right" "w-4 h-4" }}</a>
26
-
<p class="pt-5 px-10 text-sm text-gray-500 dark:text-gray-400">Join our IRC channel: <a href="https://web.libera.chat/#tangled"><code>#tangled</code> on Libera Chat</a>.
27
Read an introduction to Tangled <a href="https://blog.tangled.sh/intro">here</a>.</p>
28
</div>
29
</div>
···
23
</div>
24
<div class="italic text-lg">
25
tightly-knit social coding, <a href="/login" class="underline inline-flex gap-1 items-center">join now {{ i "arrow-right" "w-4 h-4" }}</a>
26
+
<p class="pt-5 px-10 text-sm text-gray-500 dark:text-gray-400">Join our <a href="https://chat.tangled.sh">Discord</a>or IRC channel: <a href="https://web.libera.chat/#tangled"><code>#tangled</code> on Libera Chat</a>.
27
Read an introduction to Tangled <a href="https://blog.tangled.sh/intro">here</a>.</p>
28
</div>
29
</div>
+1
-1
appview/pages/templates/user/login.html
+1
-1
appview/pages/templates/user/login.html
+8
appview/state/middleware.go
+8
appview/state/middleware.go
···
8
"strings"
9
"time"
10
11
comatproto "github.com/bluesky-social/indigo/api/atproto"
12
"github.com/bluesky-social/indigo/atproto/identity"
13
"github.com/bluesky-social/indigo/xrpc"
···
174
}
175
176
func ResolveIdent(s *State) Middleware {
177
return func(next http.Handler) http.Handler {
178
return http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) {
179
didOrHandle := chi.URLParam(req, "user")
180
181
id, err := s.resolver.ResolveIdent(req.Context(), didOrHandle)
182
if err != nil {
···
8
"strings"
9
"time"
10
11
+
"slices"
12
+
13
comatproto "github.com/bluesky-social/indigo/api/atproto"
14
"github.com/bluesky-social/indigo/atproto/identity"
15
"github.com/bluesky-social/indigo/xrpc"
···
176
}
177
178
func ResolveIdent(s *State) Middleware {
179
+
excluded := []string{"favicon.ico"}
180
+
181
return func(next http.Handler) http.Handler {
182
return http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) {
183
didOrHandle := chi.URLParam(req, "user")
184
+
if slices.Contains(excluded, didOrHandle) {
185
+
next.ServeHTTP(w, req)
186
+
return
187
+
}
188
189
id, err := s.resolver.ResolveIdent(req.Context(), didOrHandle)
190
if err != nil {