Commit Graph

679 Commits

Author SHA1 Message Date
Rob Lourens
e6e776a4b6 Add SSH remote agent host bootstrap (#304882)
* Add SSH remote agent host bootstrap

Adds a new ISSHRemoteAgentHostService that automates connecting to a
remote machine via SSH, installing the VS Code CLI, starting
'code agent-host', and forwarding the agent host port back through
the SSH tunnel.

- New service interface and types in common/sshRemoteAgentHost.ts
- Full implementation using ssh2 in electron-browser/ with dynamic
  imports to respect layering rules
- Multi-step quick input flow for SSH connection details integrated
  into the remote agent host picker
- 'Connect via SSH' command registered in contributions

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Address PR review feedback

- Strip password/privateKeyPath from ISSHAgentHostConnection.config
  so secrets are not exposed to consumers after connect
- Redact connection tokens (?tkn=...) in all log output and error
  messages to prevent credential leakage
- Parse user@host:port format in SSH host input with proper validation
  for port range and missing components
- Guard onDidClose with a closed flag to prevent double-fire when
  dispose and SSH close/error events overlap

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* SSH working through main process

Co-authored-by: Copilot <copilot@github.com>

* Resolve ssh configs

Co-authored-by: Copilot <copilot@github.com>

* progress

* Granular connect progress, test fix

Co-authored-by: Copilot <copilot@github.com>

* Test, refactor

Co-authored-by: Copilot <copilot@github.com>

* Resolve comments

Co-authored-by: Copilot <copilot@github.com>

* Get rid of cpu-features

* Move to shared process

Co-authored-by: Copilot <copilot@github.com>

* fixes

Co-authored-by: Copilot <copilot@github.com>

* add ssh2 to remote/package.json

* Cleanup and fixes

Co-authored-by: Copilot <copilot@github.com>

* fix

Co-authored-by: Copilot <copilot@github.com>

* fix

Co-authored-by: Copilot <copilot@github.com>

* resolve comments

Co-authored-by: Copilot <copilot@github.com>

* comments

Co-authored-by: Copilot <copilot@github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Raymond Zhao <7199958+rzhao271@users.noreply.github.com>
Co-authored-by: Copilot <copilot@github.com>
2026-03-31 21:37:07 -07:00
Robo
bfd8d748ee chore: bump spdlog@0.15.8 (#305281)
Co-authored-by: Benjamin Pasero <benjamin.pasero@gmail.com>
Co-authored-by: Raymond Zhao <7199958+rzhao271@users.noreply.github.com>
2026-03-26 21:32:56 +00:00
Rob Lourens
6c52b71c9a Bump copilot-sdk (#304267)
Co-authored-by: Copilot <copilot@github.com>
2026-03-23 21:58:56 +00:00
dileepyavan
b978bf74b2 tmp directory should not be used by sandboxed commands (#303699)
* Fix terminal sandbox tmp handling and upgrade sandbox runtime

Fixes #299224

Fixes #303568

* fixing test

* merging changes
2026-03-21 10:20:44 +01:00
Christof Marti
4be80a8b42 Update to @vscode/proxy-agent 0.40.0 (#298236) 2026-03-19 23:34:29 +00:00
Rob Lourens
1c035e8297 Merge branch 'main' into connor4312/agent-host-server 2026-03-17 13:56:32 -07:00
Anthony Kim
262ba6d42f Update conpty to 1.25 (#301398)
* Update conpty to 1.25

* see if changes fix 1.2.0-beta11 defering conptyNative.connect()

* Revert "see if changes fix 1.2.0-beta11 defering conptyNative.connect()"

This reverts commit c5d9064efa.

* Reapply "see if changes fix 1.2.0-beta11 defering conptyNative.connect()"

This reverts commit ded49adb14.
2026-03-16 18:27:00 -07:00
Connor Peet
3e15c2da57 agentHost: hello world from server
Exposes --agent-host-port/--agent-host-path to specify an additional
port for them to listen on. This runs as a separate process mirroring
the architecture from main.

Does a 'hello world', I need to keep testing it some more. I honestly
don't know a lot about the import changes Opus is doing here. Without
them, there is an error:

```
import { CopilotClient } from "@github/copilot-sdk";
         ^^^^^^^^^^^^^
SyntaxError: The requested module '@github/copilot-sdk' does not provide an export named 'CopilotClient'
```

This was Copilot's explanation for why they're needed here but not in Electron:

>The agent host process itself didn't change — the issue is the **module resolution environment** differs between Electron and the server.
>
>**Electron (desktop):** `ElectronAgentHostStarter` spawns a utility process that inherits the main process's module resolution. It resolves packages from the **root** node_modules, where `@github/copilot-sdk`, `ws`, etc. are all installed. Everything just works.
>
>**Server:** `NodeAgentHostStarter` spawns a child via `bootstrap-fork.js`, which registers a custom ESM resolver hook (bootstrap-import.ts) that **redirects** all module lookups to node_modules instead of root node_modules. That's the `[bootstrap-import] Initialized node_modules redirector for: ...\remote\node_modules` log line. The remote folder has its own package.json with a curated set of server-specific dependencies.
>
>The problems were:
>1. **Missing deps** — `@github/copilot-sdk`, `@github/copilot`, and `ws` weren't in package.json because the agent host had never run in the server context before
>2. **Resolver bugs** — bootstrap-import.ts was written when all remote deps were CJS. It hardcoded `format: 'commonjs'`, didn't handle `exports` maps, didn't handle `.mjs` files, and didn't resolve subpath imports like `vscode-jsonrpc/node`. These are pre-existing limitations that never mattered until now because no server component previously depended on ESM-only npm packages.
>
>So in short: the agent host code is identical — it's the server's module resolution plumbing that needed updating to support the ESM packages the agent host depends on.

cc @bpasero as the expert in this area
2026-03-12 09:00:40 -07:00
Christof Marti
383c174f7a Add proxy support to WebSocket (#298236) 2026-03-11 21:27:42 +00:00
Anthony Kim
7461493056 Bump xterm to 6.1.0-beta.191 (#300822) 2026-03-11 10:40:56 -07:00
Osvaldo Ortega
0091ab1d49 missing updates 2026-03-10 17:34:48 -07:00
Anthony Kim
01eb53f0f9 Bump xterm to take IME overflow fix (#300322)
Bump xterm to take IME fix
2026-03-10 11:03:43 -07:00
Anthony Kim
4fb8242c5f Bump xterm to fix kitty keyboard protocol (#299833) 2026-03-07 23:03:35 -08:00
Anthony Kim
587cae6666 Bump xterm for imageAdded api (#299073) 2026-03-04 10:17:14 -08:00
Dmitriy Vasyura
4eb8565469 Get accurate Windows version info from registry instead of os.release() (#295842)
Used Windows registry to retrieve Windows release and build numbers.
Added passing User-Agent header to update service.
Updated installer launch env to ignore compat mode.
2026-02-23 16:06:56 +01:00
Anthony Kim
80eaba3b1c Bump xterm for kitty image updates (#296577) 2026-02-20 13:12:33 -08:00
Matt Bierner
7a3b0181f0 Update other packages as well 2026-02-18 22:18:31 -08:00
Anthony Kim
f32f3306fd Enable kitty graphics protocol, bump xterm.js (#295701)
* Bump xterm to enable kitty images

* edit comment about gpu acceleration+kitty

* Update to 162

* Update please

* Mention enable transparency mode

* Stop messing with git

* Update to 165
2026-02-17 21:12:26 -08:00
Daniel Imms
ba35bc88a7 Revert "Merge pull request #294104 from microsoft/tyriar/revert"
This reverts commit a8f61833a3, reversing
changes made to 7e883bb398.
2026-02-10 08:23:47 -08:00
Daniel Imms
64894bd732 Revert "Merge pull request #294081 from microsoft/tyriar/xterm_20260210"
This reverts commit fbefd6388b, reversing
changes made to f8b1fe06c5.
2026-02-10 03:33:23 -08:00
Daniel Imms
8def2f99b7 @xterm/xterm@6.1.0-beta.152
Fixes #293529
2026-02-10 01:47:20 -08:00
Daniel Imms
30d0f4595f Merge pull request #292685 from microsoft/xterm_20260203
@xterm/xterm@6.1.0-beta.144, add textBlinking
2026-02-04 04:24:39 -08:00
Christof Marti
519788fbcb @vscode/proxy-agent 0.38.0 (#289736) 2026-02-04 08:49:34 +01:00
Daniel Imms
359c2ec968 @xterm/xterm@6.1.0-beta.144
Fixes #245840
Fixes #290919
Part of #292572
Part of #292550
2026-02-03 08:24:12 -08:00
dileepyavan
01d7420295 Dileep y/291793 (#292201)
Updating srt paths to work in remote env
2026-02-02 09:05:40 -08:00
Robo
7d83ce8c7e chore: update node-pty@1.2.0-beta.10 (#291471) 2026-01-28 20:52:07 -08:00
Daniel Imms
94fe2c1a48 @xterm/xterm@6.1.0-beta.109
Part of #286809

This brings in xtermjs/xterm.js#5625
2026-01-27 06:59:35 -08:00
Johannes Rieken
e7a06c8eab Revert "@xterm/xterm@6.1.0-beta.109" (#290689)
This reverts commit aef55e6ca4.
2026-01-27 07:12:59 +00:00
Daniel Imms
aef55e6ca4 @xterm/xterm@6.1.0-beta.109
Part of #286809
2026-01-26 14:57:06 -08:00
Raymond Zhao
564100cbce chore: bump parcel/watcher (#289984) 2026-01-23 12:52:42 -08:00
Aiday Marlen Kyzy
d3cca074a0 upgrading the vscode-textmate package (#289876) 2026-01-23 11:42:12 +00:00
Raymond Zhao
e0c97ec0c5 chore: bump spdlog and node-pty (#289748) 2026-01-22 14:49:29 -08:00
Christof Marti
f7730c409e Update @vscode/proxy-agent to 0.37.0 2026-01-22 14:41:26 +01:00
Anthony Kim
acb22942b0 Remove winpty support (#289025)
* Bump node-pty to 1.2.0-beta.7

* Deprecate TerminalSettingId.WindowsEnableConpty setting

* Remove windowsEnableConpty instead of deprecating

* Remove WINPTY from ps.ts

* Remove winpty from appropriate comments

* Remove winpty from IProcessReadyWindowsPty

* Remove from classifier.json. TODO on resize for node-pty

* Try adding option to test

* Add reference to issue
2026-01-21 08:32:11 -08:00
Daniel Imms
9d173ad771 Merge pull request #287561 from microsoft/tyriar/xterm_260113
@xterm/xterm@6.1.0-beta.102
2026-01-16 03:33:20 -08:00
Raymond Zhao
1251d8b737 chore: bump native-watchdog (#287848)
* chore: bump native-watchdog

* Rename more instances

* chore: update Debian x64 dep list
2026-01-15 15:34:13 +09:00
Raymond Zhao
ef0bb3bbc9 chore: bump node-pty (#287627) 2026-01-14 08:42:19 -08:00
Aiday Marlen Kyzy
27782b41f2 using relative values instead of absolute values for the font size and the line height (#286006)
* using relative values instead of absolute values for the font size and the line height

* renaming to multiplier

* setting back to font size and line height

* Revert "renaming to multiplier"

This reverts commit 5588855659.

* doing some polishing work

* changing the api

* updating to higher version of vscode-textmate

* also changing the vscode textmate package version for the remote extension

* increasing the vscode textmate version in remote/web

* updating package lock json

* using css variables instead of fetching font size from config service

* removing the second multiplier event

* adding ? after dom element style

* Ensure dots from floating fontSize are stripped from class names

---------

Co-authored-by: Alexandru Dima <alexdima@microsoft.com>
2026-01-14 09:02:47 +00:00
Daniel Imms
9c0fffb260 @xterm/xterm@6.1.0-beta.102
Part of #286870 (main)
2026-01-13 07:03:38 -08:00
Robo
5e5a439725 Revert "chore: bump several modules (#287146)" (#287227)
* Revert "chore: bump several modules (#287146)"

This reverts commit 1af90223ca.

* chore: bump distro
2026-01-13 07:58:57 +00:00
Raymond Zhao
1af90223ca chore: bump several modules (#287146)
Reduce the number of BinSkim 4146 warnings coming in
2026-01-12 11:15:23 -08:00
Daniel Imms
3a8e4c6556 @xterm/xterm@6.1.0-beta.101
Part of #286896
2026-01-12 07:25:31 -08:00
Benjamin Pasero
2919f6ff58 🆙 @parcel/watcher at 2.5.4 2026-01-11 20:20:25 +01:00
Daniel Imms
de9f107dd7 @xterm/xterm@6.1.0-beta.100 2026-01-10 06:09:57 -08:00
Daniel Imms
41eb2039bc @xterm/xterm@6.1.0-beta.99
Part of #286809
Fixes #286810
2026-01-10 04:58:07 -08:00
Benjamin Pasero
a1c4b06628 watcher - update @parcel/watcher to latest (#286827) 2026-01-09 13:39:11 -08:00
Benjamin Pasero
fe665a91f6 watcher - update to latest version (#286484) 2026-01-09 07:07:37 +01:00
Daniel Imms
fb2a051d73 @xterm/xterm@6.1.0-beta.91
Fixes #245838
Fixes #245839
2026-01-06 08:46:04 -08:00
Daniel Imms
e96281c4c4 @xterm/xterm@6.1.0-beta.89
Fixes #239541
2026-01-05 02:43:20 -08:00
Daniel Imms
f3b1f2f017 @xterm/xterm@6.1.0-beta.77
Fixes #285329
Fixes #285518
2026-01-01 08:49:24 -08:00