Task: Implement client heartbeat for disconnect detection
This page documents a task in the Session lifecycle follow-up story. It captures the goal, current status, acceptance, and any notes or results.
1. Goal
Client sends periodic heartbeats so it (and the server) detect dropped connections rather than waiting on a stalled read.
2. Status
| Field | Value |
|---|---|
| State | DONE |
| Parent story | Session lifecycle follow-up |
| Now | Completed 2025-12-04. |
| Waiting on | None. |
| Next | None. |
| Last touched | 2025-12-04 |
3. Acceptance
- Client heartbeat task running on the cobalt scheduler.
- Missed-heartbeat threshold triggers disconnect.
- Server-side heartbeat ack.
4. Plan
(Plan was distilled into the parent story's * Decisions and cleared when the task closed.)
5. Notes
- Removes a class of "disconnected but nobody noticed" bugs that surfaced during the session-cancellation work.
6. Result
Heartbeat in place; disconnect detection now timely.