From 4856e5d23851f05198855eddd20e355738166ad7 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 29 Mar 2026 11:09:47 +0000 Subject: [PATCH 1/3] Initial plan From 06e2f114b9f8cfee9c7a9d7f051e096cf764e630 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 29 Mar 2026 11:23:53 +0000 Subject: [PATCH 2/3] fix: stabilize server cargo test in CI Agent-Logs-Url: https://github.com/dlukt/discool/sessions/9d0293b0-c704-4f01-9570-3d4f3c427887 Co-authored-by: dlukt <201112286+dlukt@users.noreply.github.com> --- .github/workflows/ci.yml | 2 +- server/tests/server_binds_to_configured_port.rs | 11 +++++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ce63387..1c7b709 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -32,7 +32,7 @@ jobs: run: cd server && cargo clippy -- -D warnings - name: cargo test - run: cd server && cargo test + run: cd server && RUST_TEST_THREADS=1 cargo test client: runs-on: ubuntu-latest diff --git a/server/tests/server_binds_to_configured_port.rs b/server/tests/server_binds_to_configured_port.rs index 6fe81ef..9a55fa7 100644 --- a/server/tests/server_binds_to_configured_port.rs +++ b/server/tests/server_binds_to_configured_port.rs @@ -302,13 +302,20 @@ async fn websocket_read_json_with_op( ) -> Option { let deadline = Instant::now() + Duration::from_millis(total_timeout_ms); while Instant::now() < deadline { - if let Some(message) = websocket_read_text_frame(stream, 250).await { + let remaining = deadline.saturating_duration_since(Instant::now()); + if remaining.is_zero() { + break; + } + let remaining_ms = remaining.as_millis().min(u128::from(u64::MAX)) as u64; + if let Some(message) = websocket_read_text_frame(stream, remaining_ms).await { let Ok(value) = serde_json::from_str::(&message) else { continue; }; if value["op"] == op { return Some(value); } + } else { + break; } } None @@ -5124,7 +5131,7 @@ async fn websocket_authenticated_upgrade_emits_hello_envelope() { let (mut stream, response) = websocket_connect(&addr, "/ws", Some(&token)).await; assert_eq!(response_status(&response), 101); - let hello = websocket_read_json_with_op(&mut stream, "hello", 1_500) + let hello = websocket_read_json_with_op(&mut stream, "hello", 5_000) .await .expect("expected hello websocket event"); assert_eq!(hello["d"]["protocol_version"], json!("1")); From e4e5b30bbe30da51ba80633033e33b83664ee93d Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 29 Mar 2026 11:27:50 +0000 Subject: [PATCH 3/3] chore: apply review cleanup to websocket timeout helper Agent-Logs-Url: https://github.com/dlukt/discool/sessions/9d0293b0-c704-4f01-9570-3d4f3c427887 Co-authored-by: dlukt <201112286+dlukt@users.noreply.github.com> --- server/tests/server_binds_to_configured_port.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/tests/server_binds_to_configured_port.rs b/server/tests/server_binds_to_configured_port.rs index 9a55fa7..5c7d60b 100644 --- a/server/tests/server_binds_to_configured_port.rs +++ b/server/tests/server_binds_to_configured_port.rs @@ -306,7 +306,7 @@ async fn websocket_read_json_with_op( if remaining.is_zero() { break; } - let remaining_ms = remaining.as_millis().min(u128::from(u64::MAX)) as u64; + let remaining_ms = remaining.as_millis().min(u64::MAX as u128) as u64; if let Some(message) = websocket_read_text_frame(stream, remaining_ms).await { let Ok(value) = serde_json::from_str::(&message) else { continue;