diff --git a/ts/textsecure/Errors.ts b/ts/textsecure/Errors.ts index 06e306555..8d090128e 100644 --- a/ts/textsecure/Errors.ts +++ b/ts/textsecure/Errors.ts @@ -33,9 +33,10 @@ export class HTTPError extends Error { headers: HTTPErrorHeadersType; response?: unknown; stack?: string; + cause?: unknown; } ) { - super(`${message}; code: ${options.code}`); + super(`${message}; code: ${options.code}`, { cause: options.cause }); const { code: providedCode, headers, response, stack } = options; diff --git a/ts/textsecure/WebSocket.ts b/ts/textsecure/WebSocket.ts index 2b361269b..3a0dc19ca 100644 --- a/ts/textsecure/WebSocket.ts +++ b/ts/textsecure/WebSocket.ts @@ -100,17 +100,16 @@ export function connect({ reject(translatedError); }); - client.on('connectFailed', e => { + client.on('connectFailed', originalErr => { Timers.clearTimeout(timer); - reject( - new HTTPError('connectResource: connectFailed', { - code: -1, - headers: {}, - response: e.toString(), - stack, - }) - ); + const err = new HTTPError('connectResource: connectFailed', { + code: -1, + headers: {}, + stack, + cause: originalErr, + }); + reject(err); }); return new AbortableProcess(