From ff3090e3ccf669fc6c39c186da379868dd9e9c1b Mon Sep 17 00:00:00 2001 From: Kerollmops Date: Thu, 6 Nov 2025 10:53:07 +0100 Subject: [PATCH] Remove the slash-path dependency --- Cargo.lock | 11 ++--------- crates/index-scheduler/Cargo.toml | 1 - .../src/scheduler/process_snapshot_creation.rs | 7 ++++--- 3 files changed, 6 insertions(+), 13 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 672612de6..73ee7f04b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1123,7 +1123,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "159fa412eae48a1d94d0b9ecdb85c97ce56eb2a347c62394d3fdbf221adabc1a" dependencies = [ "path-matchers", - "path-slash 0.1.5", + "path-slash", ] [[package]] @@ -3259,7 +3259,6 @@ dependencies = [ "meilisearch-types", "memmap2", "page_size", - "path-slash 0.2.1", "rayon", "reqwest", "roaring 0.10.12", @@ -4785,12 +4784,6 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "498a099351efa4becc6a19c72aa9270598e8fd274ca47052e37455241c88b696" -[[package]] -name = "path-slash" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e91099d4268b0e11973f036e885d652fb0b21fedcf69738c627f94db6a44f42" - [[package]] name = "pbkdf2" version = "0.12.2" @@ -6267,7 +6260,7 @@ checksum = "f9c425c07353535ef55b45420f5a8b0a397cd9bc3d7e5236497ca0d90604aa9b" dependencies = [ "change-detection", "mime_guess", - "path-slash 0.1.5", + "path-slash", ] [[package]] diff --git a/crates/index-scheduler/Cargo.toml b/crates/index-scheduler/Cargo.toml index 454f0063a..fb8b6ff7b 100644 --- a/crates/index-scheduler/Cargo.toml +++ b/crates/index-scheduler/Cargo.toml @@ -29,7 +29,6 @@ meilisearch-auth = { path = "../meilisearch-auth" } meilisearch-types = { path = "../meilisearch-types" } memmap2 = "0.9.7" page_size = "0.6.0" -path-slash = "0.2.1" rayon = "1.10.0" roaring = { version = "0.10.12", features = ["serde"] } serde = { version = "1.0.219", features = ["derive"] } diff --git a/crates/index-scheduler/src/scheduler/process_snapshot_creation.rs b/crates/index-scheduler/src/scheduler/process_snapshot_creation.rs index 6c93ae752..a5957764d 100644 --- a/crates/index-scheduler/src/scheduler/process_snapshot_creation.rs +++ b/crates/index-scheduler/src/scheduler/process_snapshot_creation.rs @@ -246,7 +246,6 @@ impl IndexScheduler { use std::path::PathBuf; use bytes::{Bytes, BytesMut}; - use path_slash::PathBufExt as _; use reqwest::header::ETAG; use reqwest::Client; use reqwest::Response; @@ -280,7 +279,7 @@ impl IndexScheduler { let reader = OwnedFd::from(reader); let reader = tokio::net::unix::pipe::Receiver::from_owned_fd(reader)?; - let s3_snapshot_prefix = PathBuf::from_slash(s3_snapshot_prefix); + let s3_snapshot_prefix = PathBuf::from(s3_snapshot_prefix); let url = s3_bucket_url .parse() .map_err(BucketError::ParseError) @@ -290,7 +289,9 @@ impl IndexScheduler { let credential = Credentials::new(s3_access_key, s3_secret_key); // Note for the future (rust 1.91+): use with_added_extension, it's prettier let object_path = s3_snapshot_prefix.join(format!("{db_name}.snapshot")); - let object = object_path.to_slash().expect("Invalid UTF-8 path").into_owned(); + // Note: It doesn't work on Windows and if a port to this platform is needed, + // use the slash-path crate or similar to get the correct path separator. + let object = object_path.display().to_string(); let action = bucket.create_multipart_upload(Some(&credential), &object); let url = action.sign(s3_signature_duration);