From e4460d38150aef6496f856b3fadf59eb4bd48ff5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=BE=E6=96=87=E9=94=8B0668000834?= Date: Thu, 12 Mar 2026 20:39:26 +0800 Subject: [PATCH] fix(web): correct SVG MIME type to image/svg+xml Go's built-in mime.TypeByExtension returns 'image/svg' for .svg files, but the correct MIME type per RFC 6838 is 'image/svg+xml'. This fix registers the correct MIME type when setting up the static file server. Fixes #1410 --- web/backend/embed.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/web/backend/embed.go b/web/backend/embed.go index 556fb7384..2b28f84b9 100644 --- a/web/backend/embed.go +++ b/web/backend/embed.go @@ -4,6 +4,7 @@ import ( "embed" "io/fs" "log" + "mime" "net/http" "path" "strings" @@ -14,6 +15,13 @@ var frontendFS embed.FS // registerEmbedRoutes sets up the HTTP handler to serve the embedded frontend files func registerEmbedRoutes(mux *http.ServeMux) { + // Register correct MIME type for SVG files + // Go's built-in mime.TypeByExtension returns "image/svg" which is incorrect + // The correct MIME type per RFC 6838 is "image/svg+xml" + if err := mime.AddExtensionType(".svg", "image/svg+xml"); err != nil { + log.Printf("Warning: failed to register SVG MIME type: %v", err) + } + // Attempt to get the subdirectory 'dist' where Vite usually builds subFS, err := fs.Sub(frontendFS, "dist") if err != nil {