SIGN IN SIGN UP

sessions: show status of remote connections, reconnect AH connects (#306538)

* sessions: show status of remote connections, reconnect AH connects

- Add automatic reconnect with exponential backoff (1s-30s) when a
  remote agent host WebSocket connection drops, preserving the session
  cache during reconnect attempts
- Add RemoteAgentHostConnectionStatus enum (Connected/Connecting/
  Disconnected) to IRemoteAgentHostConnectionInfo and expose it on
  ISessionsProvider via an observable
- Add reconnect(address) method to IRemoteAgentHostService for
  explicit reconnect with reset backoff
- Always show configured remote hosts in the workspace picker with
  connection status indicators and a gear button for management
- Gear menu offers Reconnect, Remove Remote, Copy Address, Open
  Settings, and Show Output actions via quickpick
- Remote host browse actions are grouped into the "Select..." submenu
  alongside other providers when multiple providers exist

![](https://memes.peet.io/img/26-03-a1f9e614-1775-4055-99bf-3c4b948a5903.png)

* address PR review comments

- Fix outputChannelId mutability: use getter + setOutputChannelId()
- Fix disposable leak on reconnect: dispose old entry in _connectTo()
- Remove duplicate AGENT_HOST_LABEL_FORMATTER registrations from
  contribution files; centralize in AgentHostFileSystemService
- Fix duplicate IRemoteFilesystemConnection: re-export from provider
- Localize all user-facing status/hover/quickpick strings properly
- Fix setTimeout leak: track timer in _renderDisposables
- Register authority disposal in agentHostChatContribution
- Re-setup ConnectionState when clientId changes on reconnect

* fix tests for new connection status behavior

- Update remoteAgentHostService tests: connections now include
  Connecting/Disconnected entries, use waitForConnected() helper,
  add status field to deepStrictEqual assertions
- Add IAgentHostFileSystemService stub to agentHostChatContribution
  test setup
C
Connor Peet committed
de413b282f0b15a6618a15a79d4680b720ef9dc8
Parent: dcd017c
Committed by GitHub <[email protected]> on 3/31/2026, 1:19:08 AM