diff --git a/cmd/server/main.go b/cmd/server/main.go index 7df44f9..5da71de 100644 --- a/cmd/server/main.go +++ b/cmd/server/main.go @@ -340,10 +340,9 @@ func buildDiagramsNetURL(r *http.Request, id string, xml string) string { } base := fmt.Sprintf("%s://%s/diagram?id=%s", scheme, r.Host, url.QueryEscape(id)) // Request AWS library for custom shapes (e.g., aws4) to render correctly. - // Provide only the fragment (#U) with an encoded URL because some self-hosted builds only read that token. - // Keeping it encoded avoids header bloat and keeps characters safe inside the fragment. - encoded := url.QueryEscape(base) - redirect := fmt.Sprintf("%s/?splash=0&ui=min&libs=aws4#U%s", drawioBaseURL, encoded) + // Provide only the fragment (#U) with a raw URL because some self-hosted builds only read that token and expect it + // unescaped (mirroring the desktop/open-url behavior). + redirect := fmt.Sprintf("%s/?splash=0&ui=min&libs=aws4#U%s", drawioBaseURL, base) _ = xml // kept for signature compatibility; may be used in future fallbacks return redirect }