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.

Goal

Client sends periodic heartbeats so it (and the server) detect dropped connections rather than waiting on a stalled read.

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

Acceptance

  • Client heartbeat task running on the cobalt scheduler.
  • Missed-heartbeat threshold triggers disconnect.
  • Server-side heartbeat ack.

Plan

(Plan was distilled into the parent story's * Decisions and cleared when the task closed.)

Notes

  • Removes a class of "disconnected but nobody noticed" bugs that surfaced during the session-cancellation work.

Result

Heartbeat in place; disconnect detection now timely.

Emacs 29.1 (Org mode 9.6.6)