From 57daf0762a84ff190f19862eaf2ef07b2a391c80 Mon Sep 17 00:00:00 2001 From: automated-signal <37887102+automated-signal@users.noreply.github.com> Date: Wed, 1 Dec 2021 11:15:32 -0800 Subject: [PATCH] Use human-readable names for websockets Co-authored-by: Fedor Indutny <79877362+indutny-signal@users.noreply.github.com> --- ts/background.ts | 6 +++++- ts/textsecure/CDSSocketManager.ts | 1 + ts/textsecure/SocketManager.ts | 6 ++++++ ts/textsecure/WebSocket.ts | 8 +++++--- 4 files changed, 17 insertions(+), 4 deletions(-) diff --git a/ts/background.ts b/ts/background.ts index 85d539928..aabea17f6 100644 --- a/ts/background.ts +++ b/ts/background.ts @@ -749,7 +749,11 @@ export async function startApp(): Promise { } // This one should always be last - it could restart the app - if (window.isBeforeVersion(lastVersion, 'v1.15.0-beta.5')) { + if ( + window.isBeforeVersion(lastVersion, 'v1.15.0-beta.5') || + (window.isAfterVersion(lastVersion, 'v5.24.0-alpha') && + window.isBeforeVersion(lastVersion, 'v5.25.0')) + ) { await deleteAllLogs(); window.restart(); return; diff --git a/ts/textsecure/CDSSocketManager.ts b/ts/textsecure/CDSSocketManager.ts index 983459007..027495e4f 100644 --- a/ts/textsecure/CDSSocketManager.ts +++ b/ts/textsecure/CDSSocketManager.ts @@ -67,6 +67,7 @@ export class CDSSocketManager { const url = `${this.options.url}/discovery/${publicKeyHex}/${codeHashHex}`; return connectWebSocket({ + name: 'CDSSocket', url, version, proxyAgent: this.proxyAgent, diff --git a/ts/textsecure/SocketManager.ts b/ts/textsecure/SocketManager.ts index 0fb99e0b3..0111f2d77 100644 --- a/ts/textsecure/SocketManager.ts +++ b/ts/textsecure/SocketManager.ts @@ -129,6 +129,7 @@ export class SocketManager extends EventListener { this.setStatus(SocketStatus.CONNECTING); const process = this.connectResource({ + name: 'authenticated', path: '/v1/websocket/', query: { login: username, password }, resourceOptions: { @@ -253,6 +254,7 @@ export class SocketManager extends EventListener { handler: IRequestHandler ): Promise { return this.connectResource({ + name: 'provisioning', path: '/v1/websocket/provisioning/', resourceOptions: { handleRequest: (req: IncomingWebSocketRequest): void => { @@ -426,6 +428,7 @@ export class SocketManager extends EventListener { log.info('SocketManager: connecting unauthenticated socket'); const process = this.connectResource({ + name: 'unauthenticated', path: '/v1/websocket/', resourceOptions: { keepalive: { path: '/v1/keepalive' }, @@ -464,10 +467,12 @@ export class SocketManager extends EventListener { } private connectResource({ + name, path, resourceOptions, query = {}, }: { + name: string; path: string; resourceOptions: WebSocketResourceOptions; query?: Record; @@ -481,6 +486,7 @@ export class SocketManager extends EventListener { const url = `${this.options.url}${path}?${qs.encode(queryWithDefaults)}`; return connectWebSocket({ + name, url, certificateAuthority: this.options.certificateAuthority, version: this.options.version, diff --git a/ts/textsecure/WebSocket.ts b/ts/textsecure/WebSocket.ts index 8c10b3e80..200462a0a 100644 --- a/ts/textsecure/WebSocket.ts +++ b/ts/textsecure/WebSocket.ts @@ -22,6 +22,7 @@ export type IResource = { }; export type ConnectOptionsType = Readonly<{ + name: string; url: string; certificateAuthority: string; version: string; @@ -32,6 +33,7 @@ export type ConnectOptionsType = Readonly<{ }>; export function connect({ + name, url, certificateAuthority, version, @@ -109,14 +111,14 @@ export function connect({ }); return new AbortableProcess( - `WebSocket.connect(${url})`, + `WebSocket.connect(${name})`, { abort() { if (resource) { - log.warn(`WebSocket: closing socket ${url}`); + log.warn(`WebSocket: closing socket ${name}`); resource.close(3000, 'aborted'); } else { - log.warn(`WebSocket: aborting connection ${url}`); + log.warn(`WebSocket: aborting connection ${name}`); Timers.clearTimeout(timer); client.abort(); }