From 58445fa94edfa0ca058e9cc61f8f43279d1f978e Mon Sep 17 00:00:00 2001 From: Chris Lu Date: Tue, 17 Mar 2026 20:49:32 -0700 Subject: [PATCH] Remove needle-name fallback in chunk manifest filename resolution Go's tryHandleChunkedFile only falls back from URL filename to manifest name. Rust had an extra fallback to needle.name that Go does not perform, which could produce different Content-Disposition filenames for chunk manifests. --- seaweed-volume/src/server/handlers.rs | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/seaweed-volume/src/server/handlers.rs b/seaweed-volume/src/server/handlers.rs index 0af8189d9..da97099f9 100644 --- a/seaweed-volume/src/server/handlers.rs +++ b/seaweed-volume/src/server/handlers.rs @@ -2983,11 +2983,9 @@ fn try_expand_chunk_manifest( } } - // Determine filename: URL path filename, then needle name, then manifest name + // Determine filename: URL path filename, then manifest name + // (Go's tryHandleChunkedFile does NOT fall back to needle name) let mut filename = extract_filename_from_path(path); - if filename.is_empty() && n.name_size > 0 { - filename = String::from_utf8_lossy(&n.name).to_string(); - } if filename.is_empty() && !manifest.name.is_empty() { filename = manifest.name.clone(); }