@@ -12,6 +12,7 @@ import * as semver from "semver"
12
12
import * as vscode from "vscode"
13
13
import * as ws from "ws"
14
14
import { makeCoderSdk } from "./api"
15
+ import { errToStr } from "./api-helper"
15
16
import { Commands } from "./commands"
16
17
import { getHeaderCommand } from "./headers"
17
18
import { SSHConfig , SSHValues , mergeSSHConfigValues } from "./sshConfig"
@@ -238,7 +239,8 @@ export class Remote {
238
239
try {
239
240
const baseUrl = new URL ( baseUrlRaw )
240
241
const proto = baseUrl . protocol === "https:" ? "wss:" : "ws:"
241
- const socket = new ws . WebSocket ( new URL ( `${ proto } //${ baseUrl . host } ${ path } ` ) , {
242
+ const socketUrlRaw = `${ proto } //${ baseUrl . host } ${ path } `
243
+ const socket = new ws . WebSocket ( new URL ( socketUrlRaw ) , {
242
244
headers : {
243
245
"Coder-Session-Token" : token ,
244
246
} ,
@@ -249,15 +251,15 @@ export class Remote {
249
251
const log = JSON . parse ( buf . toString ( ) ) as ProvisionerJobLog
250
252
writeEmitter . fire ( log . output + "\r\n" )
251
253
} )
252
- socket . on ( "error" , ( err ) => {
253
- reject ( err )
254
+ socket . on ( "error" , ( error ) => {
255
+ reject ( new Error ( `Failed to open web socket to ${ socketUrlRaw } : ${ errToStr ( error , "no further details" ) } ` ) )
254
256
} )
255
257
socket . on ( "close" , ( ) => {
256
258
resolve ( )
257
259
} )
258
260
} catch ( error ) {
259
261
// If this errors, it is probably a malformed URL.
260
- reject ( error )
262
+ reject ( new Error ( `Failed to open web socket to ${ baseUrlRaw } : ${ errToStr ( error , "no further details" ) } ` ) )
261
263
}
262
264
} )
263
265
writeEmitter . fire ( "Build complete" )
0 commit comments