Repository navigation
Install remote hosts with one shell script - #1133
Merged
Merged
Conversation
thesiti92
force-pushed
the
remote-install-script
branch
from
October 14, 2026 22:06
a14a08e to
6b8ac0e
Compare
packages/review/remote/install.sh probes, installs, updates and uninstalls in one ssh call each. Desktop pipes the copy it bundles, the release publishes it beside the tarballs for hand installs, and the dev install runs it, so all three write Desktop's layout and Desktop updates them.
Folded from #1032: a host with a Desktop or install.sh install updates like VS Code's server; a CLI the user put on PATH still gets the question.
The lock wait ran on the host with nothing written to Desktop, so an install Desktop had abandoned kept polling for up to fifteen minutes, then took the lock and could remove a version before its first heartbeat failed. The wait now beats like `guard` does, and stops at once. The heartbeat is silent on a hand install, which used to print a dot a second on stdout. An option without a value tripped `shift 2`: a bare shell error under dash, an endless loop where sh is bash. `release` without `--token` dropped a lock whose token was never written. Both now fail with a reason, which `fail` always prints on stderr. The dev install reads the version directory off the DONE line instead of assuming the default root, and shows the script's reason when it fails. A test ties the script's layout constants to the protocol's.
thesiti92
force-pushed
the
remote-install-script
branch
from
October 15, 2026 00:41
53c86bd to
fdc04b8
Compare
thesiti92
marked this pull request as ready for review
October 15, 2026 00:56
sidkmenon
approved these changes
Oct 15, 2026
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.
Replaces the remote installer's seven SSH round trips, and the separate dev and hand-install paths, with one POSIX script:
packages/review/remote/install.sh.curl -fsSL https://install.dev.fast/releases/<v>/remote/install.sh | sh -s -- --version <v>. They land in Desktop's layout, so Desktop updates them. An old symlinked hand install is adopted.--file.whiteboard remote uninstallkeep working.whiteboardthe user put onPATHstill gets the question. Folded from Update Desktop's own remote installs without asking #1032, which this replaces.targetfield the old hand hint needed. CI runs shellcheck on the script.Test plan
/bin/sh(162 pass).WB_TEST_CONTAINERS=1), 17 pass, including new ones: an update installs beside the old version and moves the launcher; a hand install through the published script is recognised and updated; the old hand layout is adopted.remote-installjourney: all 12 checks, including the update (step 7), uninstall (step 10) and the hand-install line (step 11).pnpm lint, typecheck (only the knowndiffr/packages/claude-codefailure), shellcheck.