From 13465d78299a431e2b435604fe86c40fc3ce80d0 Mon Sep 17 00:00:00 2001 From: Felipe Cardozo Date: Tue, 28 Jan 2025 11:30:59 -0300 Subject: [PATCH] fix: fluvio time panicking on wasm (#4367) --- Cargo.lock | 3 ++- Cargo.toml | 1 + crates/fluvio/Cargo.toml | 3 ++- crates/fluvio/src/producer/accumulator.rs | 7 ++++++- crates/fluvio/src/producer/record.rs | 4 ++++ 5 files changed, 15 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index e48608b8b3..fb917c9a98 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2333,7 +2333,7 @@ dependencies = [ [[package]] name = "fluvio" -version = "0.24.3" +version = "0.24.4" dependencies = [ "anyhow", "async-channel 1.9.0", @@ -2367,6 +2367,7 @@ dependencies = [ "toml 0.8.19", "tracing", "wasm-bindgen-test", + "web-time", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index cf8a4c7f84..01ef6a52a5 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -155,6 +155,7 @@ wasm-bindgen-test = "0.3.24" wasi-common = { version = "29.0.1" } wasmtime = { version = "29.0.1" } wasmparser = "0.224.0" +web-time = "1.1.0" which = "7.0.1" x509-parser = "0.16.0" diff --git a/crates/fluvio/Cargo.toml b/crates/fluvio/Cargo.toml index d6474aeffa..f1dfbc342b 100644 --- a/crates/fluvio/Cargo.toml +++ b/crates/fluvio/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "fluvio" -version = "0.24.3" +version = "0.24.4" edition = "2021" license = "Apache-2.0" authors = ["Fluvio Contributors "] @@ -73,6 +73,7 @@ fluvio-spu-schema = { workspace = true, features = ["file"] } fluvio-spu-schema = { workspace = true } [target.'cfg(target_arch = "wasm32")'.dependencies] +web-time = { workspace = true } fluvio-spu-schema = { workspace = true } chrono = { workspace = true, features = ["wasmbind", "clock"] } diff --git a/crates/fluvio/src/producer/accumulator.rs b/crates/fluvio/src/producer/accumulator.rs index fac7a67870..b47a82ef78 100644 --- a/crates/fluvio/src/producer/accumulator.rs +++ b/crates/fluvio/src/producer/accumulator.rs @@ -3,7 +3,12 @@ use std::future::Future; use std::pin::Pin; use std::sync::Arc; use std::task::{Context, Poll}; -use std::time::{Duration, Instant}; +use std::time::Duration; + +#[cfg(not(target_arch = "wasm32"))] +use std::time::Instant; +#[cfg(target_arch = "wasm32")] +use web_time::Instant; use async_channel::Sender; use async_lock::RwLock; diff --git a/crates/fluvio/src/producer/record.rs b/crates/fluvio/src/producer/record.rs index b3b9cd03b6..eba5512719 100644 --- a/crates/fluvio/src/producer/record.rs +++ b/crates/fluvio/src/producer/record.rs @@ -1,5 +1,9 @@ use std::sync::Arc; + +#[cfg(not(target_arch = "wasm32"))] use std::time::Instant; +#[cfg(target_arch = "wasm32")] +use web_time::Instant; use async_channel::Receiver; use async_lock::RwLock;