From 8f26d689d7fcb86fe3e3b09c08f4d4cbc0622baa Mon Sep 17 00:00:00 2001 From: aecsocket Date: Thu, 6 Feb 2025 17:55:21 +0000 Subject: [PATCH 1/7] Update WebTransport dependencies --- Cargo.lock | 40 +++++++++++++------ Cargo.toml | 8 ++-- crates/aeronet_webtransport/Cargo.toml | 2 +- .../examples/webtransport_echo_server.rs | 4 +- .../src/client/backend.rs | 7 +--- .../aeronet_webtransport/tests/connection.rs | 5 ++- examples/move_box_server/src/server.rs | 4 +- 7 files changed, 42 insertions(+), 28 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index d9368ddc..ad2ac4fa 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -246,7 +246,7 @@ dependencies = [ "wtransport", "x509-cert", "xwt-core", - "xwt-web-sys", + "xwt-web", "xwt-wtransport", ] @@ -6235,6 +6235,19 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "web-wt-sys" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9be7bc7d2d53ad808ff3b3e967391ec3734932d8119320dfd96b13d89327dfc9" +dependencies = [ + "js-sys", + "paste", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + [[package]] name = "webbrowser" version = "1.0.3" @@ -6961,9 +6974,9 @@ checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" [[package]] name = "wtransport" -version = "0.3.1" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfe1ad803279d5a9c216e2e77f20e46b3c1275a9aba30c5e533f7537a85f5f2a" +checksum = "93a724f65db90b6a1ffa92ea4966cf03cb7e2bcd3ef7135b84dfe4339640d1b9" dependencies = [ "bytes", "pem", @@ -6986,9 +6999,9 @@ dependencies = [ [[package]] name = "wtransport-proto" -version = "0.3.1" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2e4eb0239a9157bc05e8a40deccc9358796db67e42d096f7673630f17955edb" +checksum = "14e4882c24a62f15024609b3688e6e29a4c2129634d27debc849ccd3f9b9690b" dependencies = [ "httlib-huffman", "octets", @@ -7099,32 +7112,35 @@ checksum = "c5b940ebc25896e71dd073bad2dbaa2abfe97b0a391415e22ad1326d9c54e3c4" [[package]] name = "xwt-core" -version = "0.5.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e003285401374e0eb07a563d78bc4d79402482df5228c304829c36888a54aaed" +checksum = "647e17b66bd49bfebe8fe73d327358432f298bb41227600f47fb07fa4f7c1eef" [[package]] -name = "xwt-web-sys" -version = "0.12.0" +name = "xwt-web" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2dcac32667f471216ce3003742f67e2e0f33bff76c8fec09ecd34e98690ad16" +checksum = "f80997b90d89451537f2866130f52b1e4be4d29cfadf9183081b24542f1abdf0" dependencies = [ "js-sys", + "thiserror 2.0.11", "tokio", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", "web-sys-async-io", "web-sys-stream-utils", + "web-wt-sys", "xwt-core", ] [[package]] name = "xwt-wtransport" -version = "0.10.0" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4681f9defee857e88528f65cbf77bf98921a8cf2bd22ba27f05fe60fe0df49b" +checksum = "e08a2dd44b6b4c44e55934b1bca0b92b5356ef36e7a3a59226262b60a684affa" dependencies = [ + "thiserror 2.0.11", "wtransport", "xwt-core", ] diff --git a/Cargo.toml b/Cargo.toml index d92170ef..dfe6399b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -128,16 +128,16 @@ tokio-tungstenite = "0.24.0" # aeronet_webtransport # core -xwt-core = "0.5.0" +xwt-core = "0.6.0" # native spki = "0.7.3" -wtransport = "0.3.1" +wtransport = "0.5.0" x509-cert = "0.2.5" -xwt-wtransport = "0.10.0" +xwt-wtransport = "0.13.0" # wasm -xwt-web-sys = "0.12.0" +xwt-web = "0.15.0" # aeronet_replicon diff --git a/crates/aeronet_webtransport/Cargo.toml b/crates/aeronet_webtransport/Cargo.toml index 0d64ddca..88f16193 100644 --- a/crates/aeronet_webtransport/Cargo.toml +++ b/crates/aeronet_webtransport/Cargo.toml @@ -71,7 +71,7 @@ gloo-timers = { workspace = true, features = ["futures"] } js-sys = { workspace = true } wasm-bindgen = { workspace = true } wasm-bindgen-futures = { workspace = true } -xwt-web-sys = { workspace = true } +xwt-web = { workspace = true } [target.'cfg(not(target_family = "wasm"))'.dependencies] spki = { workspace = true, features = ["fingerprint"] } diff --git a/crates/aeronet_webtransport/examples/webtransport_echo_server.rs b/crates/aeronet_webtransport/examples/webtransport_echo_server.rs index a7923454..cb06ac65 100644 --- a/crates/aeronet_webtransport/examples/webtransport_echo_server.rs +++ b/crates/aeronet_webtransport/examples/webtransport_echo_server.rs @@ -53,11 +53,11 @@ fn open_server(mut commands: Commands) { info!(" {cert_hash}"); info!("************************"); - let config = server_config(&identity); + let config = server_config(identity); commands.spawn_empty().queue(WebTransportServer::open(config)); } -fn server_config(identity: &wtransport::Identity) -> ServerConfig { +fn server_config(identity: wtransport::Identity) -> ServerConfig { wtransport::ServerConfig::builder() .with_bind_default(25565) .with_identity(identity) diff --git a/crates/aeronet_webtransport/src/client/backend.rs b/crates/aeronet_webtransport/src/client/backend.rs index dc707123..60393998 100644 --- a/crates/aeronet_webtransport/src/client/backend.rs +++ b/crates/aeronet_webtransport/src/client/backend.rs @@ -16,14 +16,10 @@ pub async fn start( target: ConnectTarget, send_next: oneshot::Sender, ) -> Result> { - // TODO: On native, debug log the target after this is merged: - // https://github.com/BiagioFesta/wtransport/pull/226 - #[cfg(target_family = "wasm")] - debug!("Spawning backend task to connect to {target:?}"); - let endpoint = { #[cfg(target_family = "wasm")] { + debug!("Spawning backend task to connect to {target:?}"); xwt_web_sys::Endpoint { options: config.to_js(), } @@ -31,6 +27,7 @@ pub async fn start( #[cfg(not(target_family = "wasm"))] { + debug!("Spawning backend task to connect to {:?}", target.url()); wtransport::Endpoint::client(config) .map(xwt_wtransport::Endpoint) .map_err(SessionError::CreateEndpoint) diff --git a/crates/aeronet_webtransport/tests/connection.rs b/crates/aeronet_webtransport/tests/connection.rs index 08c9bd2f..483126f6 100644 --- a/crates/aeronet_webtransport/tests/connection.rs +++ b/crates/aeronet_webtransport/tests/connection.rs @@ -28,14 +28,15 @@ fn connect() { _ = wtransport::tls::rustls::crypto::ring::default_provider().install_default(); let identity = Identity::self_signed(["127.0.0.1", "::1", "localhost"]).unwrap(); + let cert_hash = identity.certificate_chain().as_slice()[0].hash(); ping_pong( ServerConfig::builder() .with_bind_default(PORT) - .with_identity(&identity) + .with_identity(identity) .build(), ClientConfig::builder() .with_bind_default() - .with_server_certificate_hashes([identity.certificate_chain().as_slice()[0].hash()]) + .with_server_certificate_hashes([cert_hash]) .build(), format!("https://[::1]:{PORT}"), ); diff --git a/examples/move_box_server/src/server.rs b/examples/move_box_server/src/server.rs index 1b006aad..cef850da 100644 --- a/examples/move_box_server/src/server.rs +++ b/examples/move_box_server/src/server.rs @@ -86,7 +86,7 @@ fn open_web_transport_server(mut commands: Commands, args: Res) { info!(" {cert_hash}"); info!("************************"); - let config = web_transport_config(&identity, &args); + let config = web_transport_config(identity, &args); let server = commands .spawn((Name::new("WebTransport Server"), AeronetRepliconServer)) .queue(WebTransportServer::open(config)) @@ -96,7 +96,7 @@ fn open_web_transport_server(mut commands: Commands, args: Res) { type WebTransportServerConfig = aeronet_webtransport::server::ServerConfig; -fn web_transport_config(identity: &wtransport::Identity, args: &Args) -> WebTransportServerConfig { +fn web_transport_config(identity: wtransport::Identity, args: &Args) -> WebTransportServerConfig { WebTransportServerConfig::builder() .with_bind_default(args.wt_port) .with_identity(identity) From b91dba1e3892ea11a678358c41e1103fca448f37 Mon Sep 17 00:00:00 2001 From: aecsocket Date: Thu, 6 Feb 2025 17:55:57 +0000 Subject: [PATCH 2/7] Add changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 709c47d3..870e3b9a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ - For now, all crates will share the same major and minor version number, but we are now free to bump the patch for individual subcrates - `aeronet_replicon` properly reports backend statistics to Replicon i.e. RTT, packet loss - Updated `bevy_replicon` to `0.30.0` +- Update `wtransport` to `0.5.0`, `xwt-wtransport` and `xwt-web` # 0.11.0 From 914907b301ee10e3d2cd5403c6a24e818adf37bf Mon Sep 17 00:00:00 2001 From: aecsocket Date: Thu, 6 Feb 2025 18:23:33 +0000 Subject: [PATCH 3/7] Fix WASM target --- .../examples/websocket_client.rs | 4 ++++ .../examples/websocket_echo_server.rs | 2 -- crates/aeronet_websocket/tests/connection.rs | 7 +++++- .../examples/webtransport_client.rs | 24 +++++++++++-------- .../examples/webtransport_echo_server.rs | 2 -- .../src/client/backend.rs | 2 +- crates/aeronet_webtransport/src/client/mod.rs | 2 +- crates/aeronet_webtransport/src/js_error.rs | 4 ++-- crates/aeronet_webtransport/src/lib.rs | 2 +- crates/aeronet_webtransport/src/session.rs | 15 ++++++------ .../aeronet_webtransport/tests/connection.rs | 7 +++++- examples/move_box_client/src/main.rs | 11 ++++----- 12 files changed, 48 insertions(+), 34 deletions(-) diff --git a/crates/aeronet_websocket/examples/websocket_client.rs b/crates/aeronet_websocket/examples/websocket_client.rs index 82de5e2b..dd4f9532 100644 --- a/crates/aeronet_websocket/examples/websocket_client.rs +++ b/crates/aeronet_websocket/examples/websocket_client.rs @@ -121,6 +121,10 @@ fn global_ui(mut egui: EguiContexts, mut commands: Commands, mut ui_state: ResMu #[cfg(target_family = "wasm")] fn client_config() -> ClientConfig { + #[expect( + clippy::default_constructed_unit_structs, + reason = "keep parity with non-WASM" + )] ClientConfig::default() } diff --git a/crates/aeronet_websocket/examples/websocket_echo_server.rs b/crates/aeronet_websocket/examples/websocket_echo_server.rs index 6329d4e3..3d5755f6 100644 --- a/crates/aeronet_websocket/examples/websocket_echo_server.rs +++ b/crates/aeronet_websocket/examples/websocket_echo_server.rs @@ -1,8 +1,6 @@ //! Example server using WebSocket which listens for clients sending strings //! and sends back a string reply. -use aeronet_io::server::Server; - cfg_if::cfg_if! { if #[cfg(target_family = "wasm")] { fn main() { diff --git a/crates/aeronet_websocket/tests/connection.rs b/crates/aeronet_websocket/tests/connection.rs index 62f3bb9c..b2b3a66c 100644 --- a/crates/aeronet_websocket/tests/connection.rs +++ b/crates/aeronet_websocket/tests/connection.rs @@ -1,4 +1,9 @@ -#![expect(missing_docs, clippy::too_many_lines, reason = "testing")] +#![expect(missing_docs, reason = "testing")] +#![cfg(not(target_family = "wasm"))] +#![cfg_attr( + target_family = "wasm", + expect(clippy::too_many_lines, reason = "testing") +)] use { aeronet_io::{ diff --git a/crates/aeronet_webtransport/examples/webtransport_client.rs b/crates/aeronet_webtransport/examples/webtransport_client.rs index 7cf2e2e0..389408b2 100644 --- a/crates/aeronet_webtransport/examples/webtransport_client.rs +++ b/crates/aeronet_webtransport/examples/webtransport_client.rs @@ -143,16 +143,20 @@ fn global_ui(mut egui: EguiContexts, mut commands: Commands, mut ui_state: ResMu #[cfg(target_family = "wasm")] fn client_config(cert_hash: String) -> Result { - use aeronet_webtransport::xwt_web_sys::{CertificateHash, HashAlgorithm}; - - let server_certificate_hashes = match cert::hash_from_b64(&cert_hash) { - Ok(hash) => vec![CertificateHash { - algorithm: HashAlgorithm::Sha256, - value: Vec::from(hash), - }], - Err(err) => { - warn!("Failed to read certificate hash from string: {err:?}",); - Vec::new() + use aeronet_webtransport::xwt_web::{CertificateHash, HashAlgorithm}; + use anyhow::bail; + + let server_certificate_hashes = if cert_hash.is_empty() { + Vec::new() + } else { + match cert::hash_from_b64(&cert_hash) { + Ok(hash) => vec![CertificateHash { + algorithm: HashAlgorithm::Sha256, + value: Vec::from(hash), + }], + Err(err) => { + bail!("Failed to read certificate hash from string: {err:?}"); + } } }; diff --git a/crates/aeronet_webtransport/examples/webtransport_echo_server.rs b/crates/aeronet_webtransport/examples/webtransport_echo_server.rs index cb06ac65..043b1a1f 100644 --- a/crates/aeronet_webtransport/examples/webtransport_echo_server.rs +++ b/crates/aeronet_webtransport/examples/webtransport_echo_server.rs @@ -1,8 +1,6 @@ //! Example server using WebTransport which listens for clients sending strings //! and sends back a string reply. -use aeronet_io::{Session, server::Server}; - cfg_if::cfg_if! { if #[cfg(target_family = "wasm")] { fn main() { diff --git a/crates/aeronet_webtransport/src/client/backend.rs b/crates/aeronet_webtransport/src/client/backend.rs index 60393998..4b9e4a88 100644 --- a/crates/aeronet_webtransport/src/client/backend.rs +++ b/crates/aeronet_webtransport/src/client/backend.rs @@ -20,7 +20,7 @@ pub async fn start( #[cfg(target_family = "wasm")] { debug!("Spawning backend task to connect to {target:?}"); - xwt_web_sys::Endpoint { + xwt_web::Endpoint { options: config.to_js(), } } diff --git a/crates/aeronet_webtransport/src/client/mod.rs b/crates/aeronet_webtransport/src/client/mod.rs index 029d132c..00a1af72 100644 --- a/crates/aeronet_webtransport/src/client/mod.rs +++ b/crates/aeronet_webtransport/src/client/mod.rs @@ -26,7 +26,7 @@ use { cfg_if::cfg_if! { if #[cfg(target_family = "wasm")] { /// Configuration for the [`WebTransportClient`] on WASM platforms. - pub type ClientConfig = xwt_web_sys::WebTransportOptions; + pub type ClientConfig = xwt_web::WebTransportOptions; type ConnectTarget = String; diff --git a/crates/aeronet_webtransport/src/js_error.rs b/crates/aeronet_webtransport/src/js_error.rs index b7919e6d..f16008a8 100644 --- a/crates/aeronet_webtransport/src/js_error.rs +++ b/crates/aeronet_webtransport/src/js_error.rs @@ -32,8 +32,8 @@ impl From for JsError { } } -impl From for JsError { - fn from(value: xwt_web_sys::Error) -> Self { +impl From for JsError { + fn from(value: xwt_web::Error) -> Self { Self::from(value.0) } } diff --git a/crates/aeronet_webtransport/src/lib.rs b/crates/aeronet_webtransport/src/lib.rs index 64659a85..be0cd5f7 100644 --- a/crates/aeronet_webtransport/src/lib.rs +++ b/crates/aeronet_webtransport/src/lib.rs @@ -27,7 +27,7 @@ cfg_if::cfg_if! { mod js_error; pub use js_error::JsError; - pub use xwt_web_sys; + pub use xwt_web; } else { #[cfg(feature = "server")] pub mod server; diff --git a/crates/aeronet_webtransport/src/session.rs b/crates/aeronet_webtransport/src/session.rs index 5c7f3786..213ac80e 100644 --- a/crates/aeronet_webtransport/src/session.rs +++ b/crates/aeronet_webtransport/src/session.rs @@ -20,6 +20,7 @@ use { channel::{mpsc, oneshot}, never::Never, }, + js_sys::JsString, std::io, tracing::{trace, trace_span}, web_time::Instant, @@ -28,7 +29,7 @@ use { cfg_if::cfg_if! { if #[cfg(target_family = "wasm")] { - type Connection = xwt_web_sys::Session; + type Connection = xwt_web::Session; type ConnectionError = crate::JsError; } else { type Connection = xwt_wtransport::Connection; @@ -463,11 +464,11 @@ async fn disconnect(conn: Arc, reason: &str) { #[cfg(target_family = "wasm")] { - use {wasm_bindgen_futures::JsFuture, xwt_web_sys::sys::WebTransportCloseInfo}; + use xwt_web::web_wt_sys::WebTransportCloseInfo; - let mut close_info = WebTransportCloseInfo::new(); - close_info.close_code(DISCONNECT_ERROR_CODE); - close_info.reason(reason); + let close_info = WebTransportCloseInfo::new(); + close_info.set_close_code(DISCONNECT_ERROR_CODE); + close_info.set_reason(JsString::from(reason)); // TODO: This seems to not close the connection properly // Could it be because of this? @@ -475,8 +476,8 @@ async fn disconnect(conn: Arc, reason: &str) { // // Tested: the server times us out instead of actually // reading the disconnect - conn.transport.close_with_close_info(&close_info); - _ = JsFuture::from(conn.transport.closed()).await; + conn.transport.close_with_info(&close_info); + _ = conn.transport.closed().await; } #[cfg(not(target_family = "wasm"))] diff --git a/crates/aeronet_webtransport/tests/connection.rs b/crates/aeronet_webtransport/tests/connection.rs index 483126f6..cdeb015d 100644 --- a/crates/aeronet_webtransport/tests/connection.rs +++ b/crates/aeronet_webtransport/tests/connection.rs @@ -1,4 +1,9 @@ -#![expect(missing_docs, clippy::too_many_lines, reason = "testing")] +#![expect(missing_docs, reason = "testing")] +#![cfg(not(target_family = "wasm"))] +#![cfg_attr( + target_family = "wasm", + expect(clippy::too_many_lines, reason = "testing") +)] use { aeronet_io::{ diff --git a/examples/move_box_client/src/main.rs b/examples/move_box_client/src/main.rs index d36dee00..b06bbcd2 100644 --- a/examples/move_box_client/src/main.rs +++ b/examples/move_box_client/src/main.rs @@ -103,14 +103,13 @@ fn on_connected( ui_state.log.push(format!("{name} connected")); game_state.set(GameState::Playing); - commands.entity(entity).insert(( - SessionVisualizer::default(), - TransportConfig { + commands + .entity(entity) + .insert((SessionVisualizer::default(), TransportConfig { max_memory_usage: 64 * 1024, send_bytes_per_sec: 4 * 1024, ..default() - }, - )); + })); } fn on_disconnected( @@ -254,7 +253,7 @@ type WebTransportClientConfig = aeronet_webtransport::client::ClientConfig; #[cfg(target_family = "wasm")] fn web_transport_config(cert_hash: String) -> WebTransportClientConfig { - use aeronet_webtransport::xwt_web_sys::{CertificateHash, HashAlgorithm}; + use aeronet_webtransport::xwt_web::{CertificateHash, HashAlgorithm}; let server_certificate_hashes = match cert::hash_from_b64(&cert_hash) { Ok(hash) => vec![CertificateHash { From f1217b2b16a25502790030d5685c9f8e8de3f6bd Mon Sep 17 00:00:00 2001 From: aecsocket Date: Thu, 6 Feb 2025 18:24:21 +0000 Subject: [PATCH 4/7] Fix non-WASM target --- crates/aeronet_websocket/examples/websocket_echo_server.rs | 1 + crates/aeronet_websocket/tests/connection.rs | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/crates/aeronet_websocket/examples/websocket_echo_server.rs b/crates/aeronet_websocket/examples/websocket_echo_server.rs index 3d5755f6..f30dad95 100644 --- a/crates/aeronet_websocket/examples/websocket_echo_server.rs +++ b/crates/aeronet_websocket/examples/websocket_echo_server.rs @@ -11,6 +11,7 @@ cfg_if::cfg_if! { use { aeronet_io::{ connection::{DisconnectReason, Disconnected, LocalAddr}, + server::Server, SessionEndpoint, Session, }, aeronet_websocket::server::{Identity, ServerConfig, WebSocketServer, WebSocketServerPlugin}, diff --git a/crates/aeronet_websocket/tests/connection.rs b/crates/aeronet_websocket/tests/connection.rs index b2b3a66c..6b8542f6 100644 --- a/crates/aeronet_websocket/tests/connection.rs +++ b/crates/aeronet_websocket/tests/connection.rs @@ -1,7 +1,7 @@ #![expect(missing_docs, reason = "testing")] #![cfg(not(target_family = "wasm"))] #![cfg_attr( - target_family = "wasm", + not(target_family = "wasm"), expect(clippy::too_many_lines, reason = "testing") )] From eff1195c2f79a05dcffdf6ae1fd7ed8836f8b234 Mon Sep 17 00:00:00 2001 From: aecsocket Date: Thu, 6 Feb 2025 18:31:54 +0000 Subject: [PATCH 5/7] CI fixes --- crates/aeronet_webtransport/src/js_error.rs | 2 +- crates/aeronet_webtransport/src/session.rs | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/crates/aeronet_webtransport/src/js_error.rs b/crates/aeronet_webtransport/src/js_error.rs index f16008a8..2507defd 100644 --- a/crates/aeronet_webtransport/src/js_error.rs +++ b/crates/aeronet_webtransport/src/js_error.rs @@ -7,7 +7,7 @@ use { /// /// You can get one [from][`From`] a: /// - [`JsValue`] -/// - [`xwt_web_sys::Error`] +/// - [`xwt_web::Error`] #[derive(Debug, Clone)] pub struct JsError(pub String); diff --git a/crates/aeronet_webtransport/src/session.rs b/crates/aeronet_webtransport/src/session.rs index 213ac80e..6a83a493 100644 --- a/crates/aeronet_webtransport/src/session.rs +++ b/crates/aeronet_webtransport/src/session.rs @@ -20,7 +20,6 @@ use { channel::{mpsc, oneshot}, never::Never, }, - js_sys::JsString, std::io, tracing::{trace, trace_span}, web_time::Instant, @@ -464,7 +463,7 @@ async fn disconnect(conn: Arc, reason: &str) { #[cfg(target_family = "wasm")] { - use xwt_web::web_wt_sys::WebTransportCloseInfo; + use {js_sys::JsString, xwt_web::web_wt_sys::WebTransportCloseInfo}; let close_info = WebTransportCloseInfo::new(); close_info.set_close_code(DISCONNECT_ERROR_CODE); From 016ca87dc5741b65bb3511584b6e4fbc29a4559d Mon Sep 17 00:00:00 2001 From: aecsocket Date: Thu, 6 Feb 2025 18:33:49 +0000 Subject: [PATCH 6/7] more CI fixes --- .../aeronet_webtransport/examples/webtransport_client.rs | 6 ++++-- .../examples/webtransport_echo_server.rs | 2 ++ crates/aeronet_webtransport/tests/connection.rs | 2 +- examples/move_box_client/src/main.rs | 9 +++++---- 4 files changed, 12 insertions(+), 7 deletions(-) diff --git a/crates/aeronet_webtransport/examples/webtransport_client.rs b/crates/aeronet_webtransport/examples/webtransport_client.rs index 389408b2..407711af 100644 --- a/crates/aeronet_webtransport/examples/webtransport_client.rs +++ b/crates/aeronet_webtransport/examples/webtransport_client.rs @@ -143,8 +143,10 @@ fn global_ui(mut egui: EguiContexts, mut commands: Commands, mut ui_state: ResMu #[cfg(target_family = "wasm")] fn client_config(cert_hash: String) -> Result { - use aeronet_webtransport::xwt_web::{CertificateHash, HashAlgorithm}; - use anyhow::bail; + use { + aeronet_webtransport::xwt_web::{CertificateHash, HashAlgorithm}, + anyhow::bail, + }; let server_certificate_hashes = if cert_hash.is_empty() { Vec::new() diff --git a/crates/aeronet_webtransport/examples/webtransport_echo_server.rs b/crates/aeronet_webtransport/examples/webtransport_echo_server.rs index 043b1a1f..2664615a 100644 --- a/crates/aeronet_webtransport/examples/webtransport_echo_server.rs +++ b/crates/aeronet_webtransport/examples/webtransport_echo_server.rs @@ -11,6 +11,8 @@ cfg_if::cfg_if! { use { aeronet_io::{ connection::{DisconnectReason, Disconnected, LocalAddr}, + server::Server, + Session, }, aeronet_webtransport::{ cert, diff --git a/crates/aeronet_webtransport/tests/connection.rs b/crates/aeronet_webtransport/tests/connection.rs index cdeb015d..24a9bd34 100644 --- a/crates/aeronet_webtransport/tests/connection.rs +++ b/crates/aeronet_webtransport/tests/connection.rs @@ -1,7 +1,7 @@ #![expect(missing_docs, reason = "testing")] #![cfg(not(target_family = "wasm"))] #![cfg_attr( - target_family = "wasm", + not(target_family = "wasm"), expect(clippy::too_many_lines, reason = "testing") )] diff --git a/examples/move_box_client/src/main.rs b/examples/move_box_client/src/main.rs index b06bbcd2..b68f372f 100644 --- a/examples/move_box_client/src/main.rs +++ b/examples/move_box_client/src/main.rs @@ -103,13 +103,14 @@ fn on_connected( ui_state.log.push(format!("{name} connected")); game_state.set(GameState::Playing); - commands - .entity(entity) - .insert((SessionVisualizer::default(), TransportConfig { + commands.entity(entity).insert(( + SessionVisualizer::default(), + TransportConfig { max_memory_usage: 64 * 1024, send_bytes_per_sec: 4 * 1024, ..default() - })); + }, + )); } fn on_disconnected( From 1b8b8072871a59caf8d254ff13cb750cdb0b1ae3 Mon Sep 17 00:00:00 2001 From: aecsocket Date: Thu, 6 Feb 2025 18:44:03 +0000 Subject: [PATCH 7/7] fix test?? --- crates/aeronet_webtransport/src/server/mod.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/aeronet_webtransport/src/server/mod.rs b/crates/aeronet_webtransport/src/server/mod.rs index a0a4e773..723e4058 100644 --- a/crates/aeronet_webtransport/src/server/mod.rs +++ b/crates/aeronet_webtransport/src/server/mod.rs @@ -78,7 +78,7 @@ impl WebTransportServer { /// /// let config = ServerConfig::builder() /// .with_bind_default(12345) // server port - /// .with_identity(&identity) + /// .with_identity(identity) /// .build(); /// /// // using `Commands`