story-kit: create 138_bug_no_heartbeat_to_detect_stale_websocket_connections
This commit is contained in:
@@ -0,0 +1,30 @@
|
|||||||
|
---
|
||||||
|
name: "No heartbeat to detect stale WebSocket connections"
|
||||||
|
---
|
||||||
|
|
||||||
|
# Bug 138: No heartbeat to detect stale WebSocket connections
|
||||||
|
|
||||||
|
## Description
|
||||||
|
|
||||||
|
The WebSocket client in frontend/src/api/client.ts only reconnects when the onclose event fires. If the connection half-closes (appears open but stops receiving data), onclose never fires and reconnection never happens. There is no ping/pong heartbeat mechanism to detect this state.
|
||||||
|
|
||||||
|
## How to Reproduce
|
||||||
|
|
||||||
|
1. Open the web UI and establish a WebSocket connection
|
||||||
|
2. Wait for a network disruption or half-close scenario
|
||||||
|
3. The connection appears open but stops delivering messages
|
||||||
|
4. No reconnection is attempted
|
||||||
|
|
||||||
|
## Actual Result
|
||||||
|
|
||||||
|
The frontend keeps a dead WebSocket open indefinitely with no way to detect it has stopped receiving data. UI becomes permanently stale until manual refresh.
|
||||||
|
|
||||||
|
## Expected Result
|
||||||
|
|
||||||
|
A heartbeat mechanism should detect stale connections and trigger automatic reconnection.
|
||||||
|
|
||||||
|
## Acceptance Criteria
|
||||||
|
|
||||||
|
- [ ] WebSocket client implements a periodic heartbeat/ping to detect stale connections
|
||||||
|
- [ ] Stale connections are automatically closed and reconnected
|
||||||
|
- [ ] Server responds to ping frames or implements server-side keepalive
|
||||||
Reference in New Issue
Block a user