Task: Implement client heartbeat for disconnect detection

Table of Contents

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.

Emacs 29.3 (Org mode 9.6.15)