Nimblesite / Nimblesite/SharpLsp
READY echoes the requested endpoint even when the listener bound a relocated path
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 132
- Forks
- 5
- Avg merge
- 6h 24m
- Merged PRs (30d)
- 27
Description
Latent (unreachable with current host-generated short paths, both producers stay under the limit):
IpcListener.CreateUnixSocket binds ShortenIfNeeded(endpoint) — for a >107-char Unix endpoint that is a different, hashed temp path — but SidecarHost.AcceptAndRunLoopAsync prints READY:{socketPath} with the original argv endpoint, and the Rust host connects to the echoed path verbatim with no shortening counterpart (src/sidecar/manager.rs wait_for_ready/connect_transport). An overlong endpoint would therefore connect to a path nothing listens on, with a misleading error.
Proposed: echo the effective bound path in READY (the host already re-parses the echoed path, so this is protocol-compatible), or validate endpoint length instead of silently relocating.
Spec refs: [DIST-CI-WIN-TRANSPORT].
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Inspect IpcListener.CreateUnixSocket and SidecarHost.AcceptAndRunLoopAsync, then compare ShortenIfNeeded with the READY message. Review src/sidecar/manager.rs, especially wait_for_ready and connect_transport, and verify the behavior with an overlong endpoint. Done means READY contains the effective bound path and the Rust host connects to it successfully.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust, typescript
- Domain
- networking
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 68/100