hephaestus/docs/how-to
Erich Blume b04a71421e
All checks were successful
Build / validate (pull_request) Successful in 8m7s
fix(hephd): reconnect the socket client across daemon restarts
`Client` connected to the unix socket once and never reconnected, so after an
opt-in self-update or `heph daemon restart` dropped the socket, every later
`call()` failed — `heph-tui` would sit on errors until relaunched (and the work
we just shipped makes restarts more frequent).

`Client` now stores the socket path and reconnects on a dropped connection,
classifying the failure to stay safe:
- write-side failure (request never reached the daemon) → reconnect + retry once;
- reply lost after sending (daemon closed mid-request) → reconnect for next time
  but surface this one, so a mutation is never silently double-applied;
- genuine RPC errors are passed through untouched.

heph-tui and the CLI use `Client` unchanged, so the TUI self-heals on its next
refresh tick. Adds an integration test driving a mock daemon that drops the
connection after each request.

Closes the "heph-tui: reconnect on a dropped daemon socket" backlog task.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-08 15:19:10 -07:00
..
agent-change-process.md Initial commit 2026-05-31 06:13:36 -07:00
heph-pwa.md doc(heph-pwa): production runbook — host the app from the hub (indri) with OIDC 2026-06-04 17:17:25 -07:00
host-heph-pwa.md feat(heph-tui,hephd): surface sync health (last-sync age, conflicts, auth failure) 2026-06-06 10:19:11 -07:00
how-to.md doc(heph-pwa): production runbook — host the app from the hub (indri) with OIDC 2026-06-04 17:17:25 -07:00
import-todoist.md feat(tooling): mise run import-todoist — seed a heph store from Todoist 2026-06-02 20:15:05 -07:00
install-heph.md docs: install-heph defaults to the v1.0.0 release tag (v1 is out) 2026-06-04 09:47:23 -07:00
run-the-daemon.md fix(hephd): reconnect the socket client across daemon restarts 2026-06-08 15:19:10 -07:00
self-update.md feat(heph): bake daemon mode/hub/oidc/self-update-interval into the service 2026-06-08 13:25:15 -07:00
set-up-sync-hub.md feat(hephd,heph,heph-tui): distinguish IdP rejection from unreachable + actionable re-auth 2026-06-08 14:06:08 -07:00