From 0a3d61a8759be25d9c6030bc466847556a5be0d7 Mon Sep 17 00:00:00 2001 From: Andrew Phillips Date: Sun, 15 Mar 2026 12:46:29 -0300 Subject: [PATCH] fix: client save with --compression none stored lz4 instead of none - server_compress was true when compression_type=None, telling server to recompress with its default (lz4) instead of storing raw - compression_type query param was only sent when !server_compress, so 'none' was never sent to server - Fix: server_compress always false in client mode (client handles all compression), compression_type always sent to server Tested: save/get/list/info/filters/delete for lz4, none, gzip on both local and client/server modes. All operations produce matching results. --- src/modes/client/save.rs | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) 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)> =