fix: retry instead of spawning local server when auto_kill=false#366
Merged
sudo-tee merged 2 commits intosudo-tee:mainfrom Apr 27, 2026
Merged
fix: retry instead of spawning local server when auto_kill=false#366sudo-tee merged 2 commits intosudo-tee:mainfrom
sudo-tee merged 2 commits intosudo-tee:mainfrom
Conversation
When connecting to an externally managed server (auto_kill=false), the health check failure path fell through to spawn_local_server(). These spawned processes survived Neovim exit (Go binary ignores SIGHUP) and were never cleaned up because VimLeavePre only unregistered the port instead of killing the process. Now retries the health check (5 attempts with backoff) instead of spawning an orphan.
Add three tests for the new code path that retries connecting to an externally managed server instead of spawning a local one: - succeeds after transient health-check failures - rejects after exhausting all retries - never falls back to spawn_local_server
Owner
|
This seems to be a reasonable fix. Thanks for the PR |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
auto_kill=false), if the initial health check fails, retry the connection instead of spawning a new local server that would leak as an orphan processVimLeavePreonly unregisters the port without killing the process, so these orphans survive Neovim exitChanges
server_job.lua— Added a new branch intry_connect_to_custom_server: when the connection fails andauto_killisfalse, retries the health check (5 attempts with backoff) instead of falling through tospawn_local_server(). Resolves the promise on success or rejects with a clear error after retries are exhausted.