Nimblesite / Nimblesite/SharpLsp

READY echoes the requested endpoint even when the listener bound a relocated path

Open
#154 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

.NET bug cluster:sidecar-startup
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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.