Skip to content

Real-time streaming

Sulu pushes updates to the UI over WebSocket. No polling.

What you'll see

  • The Launches list shows new launches and updates per-card progress as results stream in.
  • The Launch detail page header shows a LIVE pill while the run is in progress and the WebSocket subscription is active.
  • The Tree tab updates per-result rows as their statuses change.

Connection model

The frontend uses STOMP over SockJS. The connection auto-reconnects on temporary failures. If the connection drops persistently, the LIVE pill disappears and the page falls back to its last loaded state.

Topics

The frontend subscribes to launch-level topics owned by the backend. You don't need to care about topic names directly — they're fully managed by SuluWebSocket in the frontend client.

What it isn't

  • Sulu's WebSocket stream is not for arbitrary client-server messaging; it's a one-way fan-out for launch events.
  • It is not authoritative — the REST API is. WebSocket events are notifications. The page state is reconciled with GET requests on initial mount.

Sulu Test Management System