diff --git a/ts/background.ts b/ts/background.ts index ea75568abb..5b2bb5c2dc 100644 --- a/ts/background.ts +++ b/ts/background.ts @@ -756,7 +756,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 983459007e..027495e4fe 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 0fb99e0b3d..0111f2d77c 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 8c10b3e802..200462a0a9 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(); }