generated from eblume/project-template
|
Some checks failed
Build / validate (pull_request) Failing after 5m51s
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> |
||
|---|---|---|
| .. | ||
| command.lua | ||
| config.lua | ||
| daemon.lua | ||
| init.lua | ||
| journal.lua | ||
| link.lua | ||
| node.lua | ||
| picker.lua | ||
| rpc.lua | ||
| task.lua | ||
| util.lua | ||
| view.lua | ||