386 Commits

Author SHA1 Message Date
Connor Peet e9628be821 cli: validate paths when pulling update (#317393) 2026-05-19 14:55:35 -07:00
vs-code-engineering[bot] ef64b359cd [cherry-pick] OSS tool: update third-party notices (v1.121) (#317282)
Co-authored-by: vs-code-engineering[bot] <vs-code-engineering[bot]@users.noreply.github.com>
2026-05-19 16:57:00 +00:00
Nikolai Zakharov 016f6a1848 fix(cli): self-heal missing execute permission on server binary
When the VS Code server binary is extracted without execute permissions
or loses them (e.g. on network filesystems, after interrupted downloads,
or when copied without preserving permissions), spawning the server fails
with 'Permission denied'. The previous code treated this as generic
'ServerUnexpectedExit' corruption, triggering a useless re-download loop
that never fixes the actual problem.

Changes:
- Add ensure_executable() helper that checks and restores +x on Unix
  before attempting to spawn the server binary.
- Add ServerNotExecutable error variant so permission failures are
  reported clearly instead of being lumped into ServerUnexpectedExit.
- Skip the 'evict on corruption' logic for permission errors, since
  re-downloading cannot fix a filesystem permission issue.

Fixes the root cause where VS Code Remote-SSH shows generic connection
failure popups while the actual error ('Permission denied on server
binary') is hidden in remote logs.
2026-05-18 20:08:40 +08:00
Connor Peet fe314db5eb fix: clippy uninlined_format_args in agent_host.rs
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-05-16 07:33:24 -07:00
Connor Peet 118154bac5 comments 2026-05-15 22:46:14 -07:00
Connor Peet 56fe549585 agent host: lenient protocol negotiation + CLI-driven server upgrades
Replaces the exact-match version check in `ProtocolServerHandler._handleInitialize`
with a semver-caret negotiator (`negotiateProtocolVersion`) that picks the
highest offered version compatible with the server.

When negotiation still fails and the agent host was spawned by a managing
VS Code CLI (signalled by the new `VSCODE_AGENT_HOST_MANAGEMENT_SOCKET`
env var), the `UnsupportedProtocolVersion` error advertises a
`_meta.vscodeUpgradeMethod = "_vscodeUpgrade"` hint. The client can then
invoke that method on the same transport (callable pre-`initialize`) to
request a server upgrade.

The CLI runs a hyper-based HTTP control server on a unix socket / named
pipe. `POST /upgrade` synchronously downloads the latest release, returns
a serde-derived response (`{ok, upgradeNeeded, upgradeStarted,
runningCommit, latestCommit, restartDelayMs, error}`), and then schedules
a kill+respawn after a 3 s drain delay so the response can hop back
through the proxy before the transport drops. Single-flight via
`upgrade_in_progress: AtomicBool`; the listener is started lazily from
`AgentHostManager::start_server`.

UI:
- `RemoteAgentHostConnectionStatus.incompatible` carries `vscodeUpgradeMethod`
  (read from `_meta`).
- A `watchForIncompatibleNotifications` autorun on each provider raises a
  one-shot warning notification on transition into `incompatible`, with
  "Update Server" (when the host advertised it) and "Show Options"
  primary actions.
- `runServerUpgrade` is shared between the notification action and the
  per-host quickpick. It drives a progress notification with a per-second
  "Restarting in Ns..." countdown and observes `connectionStatus` so it
  bails out if some other code path is already reconnecting.
2026-05-15 21:34:22 -07:00
Copilot 5089fb0bb7 chore: bump rand in cli to 0.8.6 (#316462)
chore: bump rand in cli from 0.10 to 0.8.6 and fix API usage

Agent-Logs-Url: https://github.com/microsoft/vscode/sessions/dadd6751-1668-4f1a-931b-dfa34f0fc227

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: rzhao271 <7199958+rzhao271@users.noreply.github.com>
2026-05-15 13:12:20 -07:00
Connor Peet 83cac60ab6 actually work 2026-05-13 20:26:23 -07:00
Connor Peet 34d208175f wip 2026-05-13 18:45:19 -07:00
Connor Peet 979d3176a2 fix CI: stable Duration ctor + drop stale doc block 2026-05-13 15:39:05 -07:00
Connor Peet 1c3ba6a284 Merge remote-tracking branch 'origin/main' into connor4312/ah-matrix 2026-05-13 15:20:44 -07:00
Connor Peet 5794a86f60 make it work 2026-05-13 15:11:50 -07:00
Connor Peet 0f960d26f1 wip: connection unification 2026-05-12 14:22:21 -07:00
vs-code-engineering[bot] d486da94b9 [cherry-pick] OSS tool: update third-party notices (v1.120) (#315921) 2026-05-12 01:02:04 +00:00
Connor Peet cd73d8b686 cli: enable upgrades on proxied websocket client connection (#315802)
The serve-web command's websocket proxy spawned the client-side hyper connection without `.with_upgrades()`, so `hyper::upgrade::on(&mut res)` rejected the upgrade with "upgrade expected but low level API in use" and the websocket failed to establish.

- Spawn `connection.with_upgrades()` in `forward_ws_req_to_server` to mirror the server side and the equivalent agent-host proxy.

Fixes https://github.com/microsoft/vscode/issues/315448

(Commit message generated by Copilot)
2026-05-11 11:40:41 -07:00
dependabot[bot] f289f9ac1b Bump openssl from 0.10.78 to 0.10.79 in /cli (#314591)
Bumps [openssl](https://github.com/rust-openssl/rust-openssl) from 0.10.78 to 0.10.79.
- [Release notes](https://github.com/rust-openssl/rust-openssl/releases)
- [Commits](https://github.com/rust-openssl/rust-openssl/compare/openssl-v0.10.78...openssl-v0.10.79)

---
updated-dependencies:
- dependency-name: openssl
  dependency-version: 0.10.79
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-06 07:57:18 -07:00
vs-code-engineering[bot] d8ac9cb08f [cherry-pick] OSS tool 1.119 (#314294) 2026-05-05 00:36:43 +00:00
Connor Peet 487b69ff5c cli: move back to microsoft/dev-tunnels
Had a temporary fork to support the in-progress relay client connections
2026-05-04 12:22:46 -07:00
Rob Lourens 9ea2ac02b3 Fix divide-by-zero panic in CLI unzip for small archives (#313389)
When the archive contained fewer than 20 entries, `archive.len() / 20`
evaluated to 0 and the subsequent `i % report_progress_every` operation
panicked with 'attempt to calculate the remainder with a divisor of zero'.

Clamp the divisor to a minimum of 1.

(Written by Copilot)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-30 20:39:40 -07:00
Connor Peet cdf20ffcba agentHost: improve update pickup and fix startup-failure wedge (#313541)
- Shorten background update check interval from 24h to 6h so newly
  published server versions are picked up sooner after auto-shutdown.
- Don't store the child into self.running when it exits before signaling
  ready. Previously a failed startup left a dead child in running
  forever, wedging ensure_server() so it could never restart the server.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-30 17:44:44 +00:00
Connor Peet 23fcb67582 agentHost: small cli polishes
- Mark agent-host > agent as a native cli command
- Update to final tunnel URI format
- Lock to Github auth for agent host tunnels (matching agents app logic)
2026-04-30 08:48:43 -07:00
Connor Peet ed85ff7a6c comments and more deps 2026-04-28 08:56:30 -07:00
Connor Peet 3317944fde Merge remote-tracking branch 'origin/main' into connor4312/cli-ahp-management 2026-04-28 08:35:16 -07:00
Connor Peet 2c36ddb55e cli: implement client AHP control functionality 2026-04-28 08:10:51 -07:00
vs-code-engineering[bot] 6c2bbf7682 [cherry-pick] OSS tool: update third-party notices (v1.118.0) (#312952)
Co-authored-by: vs-code-engineering[bot] <vs-code-engineering[bot]@users.noreply.github.com>
2026-04-28 01:40:04 +00:00
vs-code-engineering[bot] 776a341e97 [cherry-pick] OSS tool: update third-party notices (v1.117.0) (#311698)
Co-authored-by: vs-code-engineering[bot] <vs-code-engineering[bot]@users.noreply.github.com>
2026-04-27 16:32:52 -07:00
Connor Peet 06db90587c cli: clean up and update dependencies 2026-04-26 19:53:35 -07:00
dependabot[bot] 8f547df8f6 Bump openssl from 0.10.75 to 0.10.78 in /cli (#312161)
Bumps [openssl](https://github.com/rust-openssl/rust-openssl) from 0.10.75 to 0.10.78.
- [Release notes](https://github.com/rust-openssl/rust-openssl/releases)
- [Commits](https://github.com/rust-openssl/rust-openssl/compare/openssl-v0.10.75...openssl-v0.10.78)

---
updated-dependencies:
- dependency-name: openssl
  dependency-version: 0.10.78
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Raymond Zhao <7199958+rzhao271@users.noreply.github.com>
2026-04-24 21:48:09 +00:00
dependabot[bot] 7d224d9546 build(deps): bump rand from 0.8.5 to 0.9.3 in /cli (#309689)
* build(deps): bump rand from 0.8.5 to 0.9.3 in /cli

Bumps [rand](https://github.com/rust-random/rand) from 0.8.5 to 0.9.3.
- [Release notes](https://github.com/rust-random/rand/releases)
- [Changelog](https://github.com/rust-random/rand/blob/0.9.3/CHANGELOG.md)
- [Commits](https://github.com/rust-random/rand/compare/0.8.5...0.9.3)

---
updated-dependencies:
- dependency-name: rand
  dependency-version: 0.9.3
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* fix clippy lint warnings after rand 0.8.5 → 0.9.3 upgrade

Agent-Logs-Url: https://github.com/microsoft/vscode/sessions/8e6151a9-d6c4-42c0-9e9e-e8e384b8ce48

Co-authored-by: rzhao271 <7199958+rzhao271@users.noreply.github.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: rzhao271 <7199958+rzhao271@users.noreply.github.com>
2026-04-17 10:31:19 -07:00
Connor Peet bc6deaadc8 Merge pull request #308249 from microsoft/connor4312/reapply-tunnels
Reapply tunnels work
2026-04-07 12:58:34 -04:00
vs-code-engineering[bot] 5c2fdfe6b8 [cherry-pick] OSS tool: update third-party notices (v1.115.0) (#308172)
Co-authored-by: vs-code-engineering[bot] <vs-code-engineering[bot]@users.noreply.github.com>
2026-04-07 08:20:43 -07:00
Connor Peet 62a503dc25 Revert "Revert build breakages (#308162)"
This reverts commit 8aa4cf8a0f.
2026-04-07 07:48:16 -07:00
João Moreno 8aa4cf8a0f Revert build breakages (#308162)
* Revert "agentHost: Hook up isRead/isDone (#308107)"

This reverts commit a3d69b7767.

* Revert "agentHost: support connections over tunnels (#307948)"

This reverts commit 75f21d0a8d.
2026-04-07 08:43:56 +00:00
Connor Peet 75f21d0a8d agentHost: support connections over tunnels (#307948)
* wip

* clean up unused bits and make auth work correctly

* comments and fixes
2026-04-06 16:14:01 +00:00
Connor Peet 8910ce42f7 Merge pull request #299512 from danplischke/main
Add default-folder, default-workspace and disable-telemetry to serve-web CLI
2026-04-01 11:26:45 -07:00
Alex Ross 3c51a00d73 OSS tool (#306679) 2026-03-31 09:56:27 +00:00
Raymond Zhao 167b3b89a2 Merge branch 'main' into main 2026-03-26 14:07:44 -07:00
Johannes Rieken 46c65bcd05 run oss tool (#304416) 2026-03-24 12:05:30 +01:00
Rob Lourens c82bc515c2 More specific log string for cli agent host proxy (#304339) 2026-03-24 14:14:44 +11:00
Connor Peet b7462b4a00 Merge pull request #303597 from microsoft/connor4312/agent-host-server-fixups
agentHost: fixup build for server
2026-03-20 13:54:33 -07:00
dependabot[bot] 6ee1160198 Bump tar from 0.4.44 to 0.4.45 in /cli (#303573)
Bumps [tar](https://github.com/alexcrichton/tar-rs) from 0.4.44 to 0.4.45.
- [Commits](https://github.com/alexcrichton/tar-rs/compare/0.4.44...0.4.45)

---
updated-dependencies:
- dependency-name: tar
  dependency-version: 0.4.45
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-20 13:28:16 -07:00
Connor Peet 5d5d0763fb fix build 2026-03-16 19:05:09 -07:00
Rob Lourens 4393d06a0f Skip quality check when VSCODE_CLI_OVERRIDE_SERVER_PATH is set and log agent host startup error 2026-03-13 15:36:45 -07:00
Connor Peet 60c18f38f6 auto updating agent host in the cli 2026-03-13 14:07:24 -07:00
Connor Peet 2da8aa0354 better command detection 2026-03-12 23:31:48 -07:00
Connor Peet 222bbd480e add agent-host command for cli 2026-03-12 23:31:40 -07:00
Johannes Rieken 176d771e8e run oss-tool, update distro (#299717) 2026-03-06 11:34:44 +01:00
Dan Plischke b141217200 feat: add support for --default-folder, --default-workspace and --disable-telemetry in rust cli 2026-03-05 16:14:04 +01:00
Ben Villalobos 37f3964564 Run oss tool for 1.110 (before branch) (#298147)
* Run oss tool for 110 (before branch)

* Update distro hash
2026-02-27 02:42:11 +00:00
Robo 1bb7b74f67 chore: update cli dependency (#297618) 2026-02-25 07:44:49 +00:00