Skip to content

Fix remote SSH binary resolution - #1

Merged
d8vjork merged 4 commits into
mainfrom
fix/remote-ssh-binary-resolution
Jun 12, 2026
Merged

Fix remote SSH binary resolution#1
d8vjork merged 4 commits into
mainfrom
fix/remote-ssh-binary-resolution

Conversation

@d8vjork

@d8vjork d8vjork commented Jun 3, 2026

Copy link
Copy Markdown
Member

No description provided.

d8vjork and others added 4 commits June 3, 2026 14:21
Force the extension onto the remote extension host with
extensionKind: ["workspace"] so process.platform/arch and binary paths
resolve against the remote, not the local UI host. This fixes spawning a
local-platform binary path on an SSH remote.

Rewrite findServerBinary (now async) with precedence: configured override
(validated) -> bundled -> cached download (version-checked) ->
download-on-activation (SHA-256 verified) -> PATH fallback. Surface an
actionable error instead of exec'ing a missing command.

Ship tusk-lsp.json in the .vsix so the pinned version and sha256 sums are
readable at runtime for version checks and verified downloads.
Apply the same --version check used for the cached binary to the
bundled binary, so a stale bundled server isn't run silently; on
mismatch, fall through to the cache/download path. Surface a PATH
version mismatch via showWarningMessage instead of only logging
"using it anyway", so the user can act on an incompatible server.

Harden downloadFile: pipe the response into the sha256 hash stream
(end:false) so every byte written to disk is hashed regardless of
event ordering, and resolve on the write stream's "close" event
rather than "finish" so the fd is closed before the subsequent
chmod/exec (fixes a Windows race).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@d8vjork
d8vjork merged commit ff81570 into main Jun 12, 2026
1 check passed
@d8vjork
d8vjork deleted the fix/remote-ssh-binary-resolution branch June 12, 2026 13:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant