From 227e182f6889e8f42f7527f0fb79731c7d95419c Mon Sep 17 00:00:00 2001 From: Kushagra Kumar Date: Tue, 20 Oct 2026 01:23:09 +0530 Subject: [PATCH] fix(collab-net): report exact bytes when server message limit is not a whole unit --- crates/collab-net/src/guest.rs | 4 ++-- crates/collab-net/src/loopback_tests.rs | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/crates/collab-net/src/guest.rs b/crates/collab-net/src/guest.rs index 1cfd784c..7a986ea5 100644 --- a/crates/collab-net/src/guest.rs +++ b/crates/collab-net/src/guest.rs @@ -369,9 +369,9 @@ fn read_loop(mut ws: WebSocket, ctx: &ReaderCtx) { Ok(_) => {} Err(tungstenite::Error::Capacity(_)) => { let max = ctx.cfg.limits.max_server_message; - let limit = if max >= 1 << 20 { + let limit = if max >= 1 << 20 && max.is_multiple_of(1 << 20) { format!("{} MiB", max >> 20) - } else if max >= 1 << 10 { + } else if max >= 1 << 10 && max.is_multiple_of(1 << 10) { format!("{} KiB", max >> 10) } else { format!("{max} bytes") diff --git a/crates/collab-net/src/loopback_tests.rs b/crates/collab-net/src/loopback_tests.rs index 9d86939c..eebda6de 100644 --- a/crates/collab-net/src/loopback_tests.rs +++ b/crates/collab-net/src/loopback_tests.rs @@ -693,7 +693,7 @@ fn oversized_server_message_reports_accurate_diagnostic() { let guest_probe = Probe::new(); let mut guest_cfg = quick(GuestConfig::new(invite, "Ada".into())); - guest_cfg.limits = NetLimits { max_server_message: 512, ..fast_limits() }; + guest_cfg.limits = NetLimits { max_server_message: 1536, ..fast_limits() }; let _g = Guest::start(guest_cfg, guest_probe.inbox.clone()).unwrap(); let mut gp = guest_probe; gp.wait("accurate failure diagnostic", |e| { @@ -701,7 +701,7 @@ fn oversized_server_message_reports_accurate_diagnostic() { matches!( ev, Event::Status(Status::Failed { reason }) - if !reason.contains("The host refused") && reason.contains("received message exceeded size limit (max 512 bytes)") + if !reason.contains("The host refused") && reason.contains("received message exceeded size limit (max 1536 bytes)") ) }) });