From 9570547ff9367608ecc02bdbb3ab5cbaa3f13a71 Mon Sep 17 00:00:00 2001 From: zarzet Date: Thu, 1 Jan 2026 21:45:33 +0700 Subject: [PATCH] fix: trim whitespace from metadata fields to prevent filename issues --- go_backend/exports.go | 15 +++++++++++++++ go_backend/filename.go | 3 ++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/go_backend/exports.go b/go_backend/exports.go index 994397f..916f06a 100644 --- a/go_backend/exports.go +++ b/go_backend/exports.go @@ -5,6 +5,7 @@ package gobackend import ( "context" "encoding/json" + "strings" "time" ) @@ -124,6 +125,13 @@ func DownloadTrack(requestJSON string) (string, error) { return errorResponse("Invalid request: " + err.Error()) } + // Trim whitespace from string fields to prevent filename/path issues + req.TrackName = strings.TrimSpace(req.TrackName) + req.ArtistName = strings.TrimSpace(req.ArtistName) + req.AlbumName = strings.TrimSpace(req.AlbumName) + req.AlbumArtist = strings.TrimSpace(req.AlbumArtist) + req.OutputDir = strings.TrimSpace(req.OutputDir) + var filePath string var err error @@ -172,6 +180,13 @@ func DownloadWithFallback(requestJSON string) (string, error) { return errorResponse("Invalid request: " + err.Error()) } + // Trim whitespace from string fields to prevent filename/path issues + req.TrackName = strings.TrimSpace(req.TrackName) + req.ArtistName = strings.TrimSpace(req.ArtistName) + req.AlbumName = strings.TrimSpace(req.AlbumName) + req.AlbumArtist = strings.TrimSpace(req.AlbumArtist) + req.OutputDir = strings.TrimSpace(req.OutputDir) + // Build service order starting with preferred service allServices := []string{"tidal", "qobuz", "amazon"} preferredService := req.Service diff --git a/go_backend/filename.go b/go_backend/filename.go index a3651c1..bcd8434 100644 --- a/go_backend/filename.go +++ b/go_backend/filename.go @@ -63,7 +63,8 @@ func buildFilenameFromTemplate(template string, metadata map[string]interface{}) func getString(m map[string]interface{}, key string) string { if v, ok := m[key]; ok { if s, ok := v.(string); ok { - return s + // Trim leading/trailing whitespace to prevent filename issues + return strings.TrimSpace(s) } } return ""