@@ -32,6 +32,7 @@ import { untildify } from './common/files';
32
32
import { ExperimentalSettings , isUserOverrideSetting } from './experiments' ;
33
33
import { ISyncExtension , NoSettingsSyncSession , NoSyncStoreError , parseSyncData , SettingsSync , SyncResource } from './settingsSync' ;
34
34
import { retry } from './common/async' ;
35
+ import { getOpenSSHVersion } from './ssh/sshVersion' ;
35
36
36
37
interface SSHConnectionParams {
37
38
workspaceId : string ;
@@ -791,8 +792,9 @@ export default class RemoteConnector extends Disposable {
791
792
const userOverride = isUserOverrideSetting ( 'gitpod.remote.useLocalApp' ) ;
792
793
let sshDestination : string | undefined ;
793
794
if ( ! forceUseLocalApp ) {
795
+ const openSSHVersion = await getOpenSSHVersion ( ) ;
794
796
try {
795
- this . telemetry . sendRawTelemetryEvent ( 'vscode_desktop_ssh' , { kind : 'gateway' , status : 'connecting' , ...params , gitpodVersion : gitpodVersion . raw , userOverride } ) ;
797
+ this . telemetry . sendRawTelemetryEvent ( 'vscode_desktop_ssh' , { kind : 'gateway' , status : 'connecting' , ...params , gitpodVersion : gitpodVersion . raw , userOverride, openSSHVersion } ) ;
796
798
797
799
const { destination, password } = await this . getWorkspaceSSHDestination ( session . accessToken , params ) ;
798
800
sshDestination = destination ;
@@ -801,9 +803,9 @@ export default class RemoteConnector extends Disposable {
801
803
await this . showSSHPasswordModal ( password , params ) ;
802
804
}
803
805
804
- this . telemetry . sendRawTelemetryEvent ( 'vscode_desktop_ssh' , { kind : 'gateway' , status : 'connected' , ...params , gitpodVersion : gitpodVersion . raw , auth : password ? 'password' : 'key' , userOverride } ) ;
806
+ this . telemetry . sendRawTelemetryEvent ( 'vscode_desktop_ssh' , { kind : 'gateway' , status : 'connected' , ...params , gitpodVersion : gitpodVersion . raw , auth : password ? 'password' : 'key' , userOverride, openSSHVersion } ) ;
805
807
} catch ( e ) {
806
- this . telemetry . sendRawTelemetryEvent ( 'vscode_desktop_ssh' , { kind : 'gateway' , status : 'failed' , reason : e . toString ( ) , ...params , gitpodVersion : gitpodVersion . raw , userOverride } ) ;
808
+ this . telemetry . sendRawTelemetryEvent ( 'vscode_desktop_ssh' , { kind : 'gateway' , status : 'failed' , reason : e . toString ( ) , ...params , gitpodVersion : gitpodVersion . raw , userOverride, openSSHVersion } ) ;
807
809
if ( e instanceof NoSSHGatewayError ) {
808
810
this . logger . error ( 'No SSH gateway:' , e ) ;
809
811
vscode . window . showWarningMessage ( `${ e . host } does not support [direct SSH access](https://github.com/gitpod-io/gitpod/blob/main/install/installer/docs/workspace-ssh-access.md), connecting via the deprecated SSH tunnel over WebSocket.` ) ;
0 commit comments