Skip to content

test: stabilize websocket broadcast test#31039

Open
josephnilo wants to merge 2 commits into
NousResearch:mainfrom
josephnilo:fix/websocket-broadcast-test-timeout
Open

test: stabilize websocket broadcast test#31039
josephnilo wants to merge 2 commits into
NousResearch:mainfrom
josephnilo:fix/websocket-broadcast-test-timeout

Conversation

@josephnilo

Copy link
Copy Markdown

Summary

  • keep the /api/pub websocket open briefly after sending the broadcast frame
  • receive the event on the same TestClient thread instead of a background receiver thread
  • removes the CI-hanging receive race in TestPtyWebSocket

Test Plan

  • python -m pytest tests/hermes_cli/test_web_server.py::TestPtyWebSocket::test_pub_broadcasts_to_events_subscribers -q -o 'addopts='
  • repeated the targeted test 5x locally
  • python -m pytest tests/hermes_cli/test_web_server.py -q -o 'addopts='

Context: PR #30948's test slice failed on this flaky websocket broadcast test; this patch is independent of the curator change and intended to unblock release CI.

@alt-glitch alt-glitch added type/test Test coverage or test infrastructure comp/gateway Gateway runner, session dispatch, delivery P3 Low — cosmetic, nice to have labels May 23, 2026
@josephnilo

josephnilo commented May 23, 2026

Copy link
Copy Markdown
Author

Release-unblock context from triage:

This PR now addresses two independent CI blockers seen across current release-candidate PRs:

  1. Stabilizes the websocket broadcast test that failed on fix(curator): add post-archive safety guard to prevent unverified skill archival #30948 (tests/hermes_cli/test_web_server.py::TestPtyWebSocket::test_pub_broadcasts_to_events_subscribers). Verified locally with the targeted test repeated 5x plus the full tests/hermes_cli/test_web_server.py file.
  2. Fixes contributor-check false negatives / missing mappings seen on gateway: quiet Telegram operational chatter #31034, fix(memory): refuse mutations when on-disk file changed since last read (#26045) #30993, docs(xai-oauth): confirm token propagation is correct, add E2E regression tests (#29344) #30992, and fix(providers): warn on duplicate name/alias registration (#30921) #30984:
    • accepts both GitHub noreply forms (123+user@users.noreply.github.com and user@users.noreply.github.com)
    • maps linux2010@github.com, root@srv1626652.hstgr.cloud, and this fork branch's mike@hilomedia.local author email.

Local verification after the second commit:

  • python -m pytest tests/hermes_cli/test_web_server.py::TestPtyWebSocket::test_pub_broadcasts_to_events_subscribers tests/gateway/test_verbose_command.py::TestVerboseCommand::test_defaults_to_all_when_no_tool_progress_set tests/gateway/test_verbose_command.py::TestVerboseCommand::test_per_platform_isolation tests/providers/test_provider_profiles.py::TestNvidiaProfile tests/acp/test_server.py::TestSlashCommands::test_model_switch_uses_requested_provider -q -o 'addopts=' → 8 passed
  • python -m py_compile scripts/release.py
  • git diff --check

Note: GitHub currently reports no checks for this fork PR, so the local verification above is the available signal from this machine.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp/gateway Gateway runner, session dispatch, delivery P3 Low — cosmetic, nice to have type/test Test coverage or test infrastructure

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants