diff --git a/src/modes/client/save.rs b/src/modes/client/save.rs index 9245028..c92f56c 100644 --- a/src/modes/client/save.rs +++ b/src/modes/client/save.rs @@ -38,7 +38,9 @@ pub fn mode( // Determine compression type from settings let compression_type = settings_compression_type(cmd, settings); let compression_type_str = compression_type.to_string(); - let server_compress = matches!(compression_type, CompressionType::None); + // In client mode, the client always handles compression (even "none"). + // The server should never re-compress client data. + let server_compress = false; // Shared metadata collection: plugins write here via save_meta closure let collected_meta: Arc>> = Arc::new(Mutex::new(HashMap::new())); @@ -124,14 +126,8 @@ pub fn mode( ("compress".to_string(), server_compress.to_string()), ("meta".to_string(), "false".to_string()), ("tags".to_string(), tags_clone.join(",")), - ( - "compression_type".to_string(), - if !server_compress { - compression_type_str_clone - } else { - String::new() - }, - ), + // Always send compression_type when compress=false (client handled compression) + ("compression_type".to_string(), compression_type_str_clone), ]; // Filter out empty params let params: Vec<(String, String)> =