Live updates
The console maintains a WebSocket connection to receive real-time events without polling every page.
Connection status
Section titled “Connection status”The sidebar header shows a badge:
| State | Meaning |
|---|---|
| open | Connected — live events flow |
| connecting | Handshake in progress |
| closed | Disconnected — progress may be stale until reconnect |
The client reconnects automatically when you navigate or when the config loads.
What uses WebSocket
Section titled “What uses WebSocket”Scan progress
Section titled “Scan progress”During onboarding and after Re-run all scans or optional pipeline runs:
- Pipeline start, progress, partial complete, and complete events
- Updates the Active scans panel and Scan status banner
- Onboarding confetti triggers on first scan result
Append ?workspaceId= to the WebSocket URL during onboarding so events route to your workspace.
Query results
Section titled “Query results”Scorecard and table data use an async query pattern:
- Page sends
POST /querywith a dataset key (e.g.seo,keyword-research). - API returns
202with a query ID. - Results arrive on the WebSocket when Athena completes.
- Page renders rows and scorecard checks.
Large tables may stream partial results before the query completes.
Content ideas exploration
Section titled “Content ideas exploration”Content Ideas jobs accept a WebSocket connectionId so theme results push to the browser when synthesis finishes.
When to refresh manually
Section titled “When to refresh manually”WebSocket covers progress, not automatic scorecard number updates on every page. After a scan completes, use Refresh data on the relevant page to load the latest checks.