From d357a5a7b93f12ea773cae6333341591a6042602 Mon Sep 17 00:00:00 2001 From: giles Date: Wed, 1 Jul 2026 19:00:12 +0000 Subject: [PATCH] otel: mount otel/routes before the blog /:slug catch-all in serve.sh The blog post-detail route /:slug matches any single segment, so /otel was being served as a missing blog slug (404). Order otel/routes ahead of the blog routes so the literal /otel + /otel/stream match first. --- lib/host/serve.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/host/serve.sh b/lib/host/serve.sh index dc82404c..63d6aa29 100755 --- a/lib/host/serve.sh +++ b/lib/host/serve.sh @@ -195,5 +195,5 @@ EPOCH=1 # middleware, so a browser logs in then publishes. The bearer resolver is a stub # (no API tokens configured) — browser session is the live auth path for now. # blog-routes LAST — its GET /:slug catch-all must not shadow the rest. - echo "(eval \"(host/serve $PORT (list host/static-routes host/feed-routes host/relations-routes (host/blog-write-routes (fn (tok) nil)) host/blog-routes otel/routes))\")" + echo "(eval \"(host/serve $PORT (list host/static-routes otel/routes host/feed-routes host/relations-routes (host/blog-write-routes (fn (tok) nil)) host/blog-routes))\")" } | exec "$SX_SERVER"