hephaestus/heph.nvim/lua/heph
Erich Blume b932a814ca
Some checks failed
Build / validate (pull_request) Failing after 5m51s
heph.nvim: fix daemon.wait_ready deadlock on a stale socket
wait_ready ran the rpc health probe inside a `vim.wait` predicate, and the probe
itself uses `vim.wait` — nesting vim.wait inside another vim.wait's predicate
deadlocks Neovim. It only bit when the socket file existed: the first launch's
socket doesn't exist yet (probe short-circuits), but the second launch hit the
stale socket left by the prior daemon and froze in setup().

- wait_ready now probes in a plain Lua loop (deadline via uv.hrtime + a bare
  vim.wait(50) yield) — never a vim.wait inside a vim.wait predicate.
- stop_spawned now unlinks the socket on exit, so a clean exit leaves no stale
  socket (a crash still can — the wait_ready fix handles that too).

Verified: two-launch repro no longer hangs; a crash-left stale socket recovers
in ~460ms. 10 e2e specs green.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-02 10:23:42 -07:00
..
command.lua heph.nvim: context-item promotion + Dagger headless-nvim CI (slice 11c) 2026-06-02 06:08:41 -07:00
config.lua heph.nvim: plug-and-play managed daemon (autostart, self-heal, client/server guardrail) 2026-06-02 09:37:49 -07:00
daemon.lua heph.nvim: fix daemon.wait_ready deadlock on a stale socket 2026-06-02 10:23:42 -07:00
init.lua heph.nvim: plug-and-play managed daemon (autostart, self-heal, client/server guardrail) 2026-06-02 09:37:49 -07:00
journal.lua heph.nvim: RPC client + buffer editing + wiki-links + journal (slice 11a) 2026-06-01 20:33:29 -07:00
link.lua heph.nvim: RPC client + buffer editing + wiki-links + journal (slice 11a) 2026-06-01 20:33:29 -07:00
node.lua heph.nvim: RPC client + buffer editing + wiki-links + journal (slice 11a) 2026-06-01 20:33:29 -07:00
picker.lua heph.nvim: task views — next/list/capture/attention/state/log (slice 11b) 2026-06-01 21:12:56 -07:00
rpc.lua heph.nvim: plug-and-play managed daemon (autostart, self-heal, client/server guardrail) 2026-06-02 09:37:49 -07:00
task.lua heph.nvim: context-item promotion + Dagger headless-nvim CI (slice 11c) 2026-06-02 06:08:41 -07:00
util.lua heph.nvim: context-item promotion + Dagger headless-nvim CI (slice 11c) 2026-06-02 06:08:41 -07:00
view.lua heph.nvim: task views — next/list/capture/attention/state/log (slice 11b) 2026-06-01 21:12:56 -07:00