diff --git a/rust/agama-server/src/manager/web.rs b/rust/agama-server/src/manager/web.rs index 364307358b..da2199efca 100644 --- a/rust/agama-server/src/manager/web.rs +++ b/rust/agama-server/src/manager/web.rs @@ -251,10 +251,15 @@ async fn download_logs() -> impl IntoResponse { header::CONTENT_TYPE, HeaderValue::from_static("application/x-compressed-tar"), ); - headers.insert( - header::CONTENT_DISPOSITION, - HeaderValue::from_static("attachment; filename=\"agama-logs\""), - ); + if let Some(file_name) = path.file_name() { + let disposition = + format!("attachment; filename=\"{}\"", &file_name.to_string_lossy()); + headers.insert( + header::CONTENT_DISPOSITION, + HeaderValue::from_str(&disposition) + .unwrap_or_else(|_| HeaderValue::from_static("attachment")), + ); + } headers.insert( header::CONTENT_ENCODING, HeaderValue::from_static(logs::DEFAULT_COMPRESSION.1), diff --git a/rust/package/agama.changes b/rust/package/agama.changes index 4a9dbba872..17e8e9eae7 100644 --- a/rust/package/agama.changes +++ b/rust/package/agama.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Wed Mar 12 13:09:52 UTC 2025 - Imobach Gonzalez Sosa + +- Set the extension in the disposition "filename" so Chrome uses + the correct name (gh#agama-project/agama#2141). + ------------------------------------------------------------------- Mon Mar 10 12:13:19 UTC 2025 - José Iván López González