From 07fb7dbbacf2a8e078ee5a70c4ffff4d384cba01 Mon Sep 17 00:00:00 2001 From: rcourtman Date: Wed, 8 Jul 2026 14:36:55 +0100 Subject: [PATCH] Serve shipped markdown docs as text instead of a forced download The embedded frontend file server had no content type for .md, so every in-app "Full details" / "Terms of Service" / security-guide link to /docs/*.md answered application/octet-stream and the browser downloaded the file instead of showing it. Shipped docs now serve as text/plain; charset=utf-8 and open readable in the tab the app targets. --- internal/api/frontend_embed.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/internal/api/frontend_embed.go b/internal/api/frontend_embed.go index 84efd3f6b..c70650ecc 100644 --- a/internal/api/frontend_embed.go +++ b/internal/api/frontend_embed.go @@ -262,6 +262,11 @@ func serveFrontendHandler() http.HandlerFunc { contentType = "application/json" } else if strings.HasSuffix(lookupPath, ".svg") { contentType = "image/svg+xml" + } else if strings.HasSuffix(lookupPath, ".md") { + // Shipped docs (/docs/*.md) open in a browser tab from + // in-app links; text/plain renders them readable instead + // of forcing a download. + contentType = "text/plain; charset=utf-8" } w.Header().Set("Content-Type", contentType)