mirror of
https://github.com/signalapp/Signal-Desktop.git
synced 2026-02-15 07:28:59 +00:00
Mark offline if websocket connection attempt times out
Co-authored-by: trevor-signal <131492920+trevor-signal@users.noreply.github.com>
This commit is contained in:
@@ -36,7 +36,7 @@ import WebSocketResource, {
|
||||
TransportOption,
|
||||
WebSocketResourceWithShadowing,
|
||||
} from './WebsocketResources';
|
||||
import { HTTPError } from './Errors';
|
||||
import { ConnectTimeoutError, HTTPError } from './Errors';
|
||||
import type { IRequestHandler, WebAPICredentials } from './Types.d';
|
||||
import { connect as connectWebSocket } from './WebSocket';
|
||||
import { isAlpha, isBeta, isStaging } from '../util/version';
|
||||
@@ -117,6 +117,13 @@ export class SocketManager extends EventListener {
|
||||
return this.status;
|
||||
}
|
||||
|
||||
private markOffline() {
|
||||
if (this.privIsOnline !== false) {
|
||||
this.privIsOnline = false;
|
||||
this.emit('offline');
|
||||
}
|
||||
}
|
||||
|
||||
// Update WebAPICredentials and reconnect authenticated resource if
|
||||
// credentials changed
|
||||
public async authenticate(credentials: WebAPICredentials): Promise<void> {
|
||||
@@ -257,10 +264,11 @@ export class SocketManager extends EventListener {
|
||||
return;
|
||||
}
|
||||
|
||||
if (code === -1 && this.privIsOnline !== false) {
|
||||
this.privIsOnline = false;
|
||||
this.emit('offline');
|
||||
if (code === -1) {
|
||||
this.markOffline();
|
||||
}
|
||||
} else if (error instanceof ConnectTimeoutError) {
|
||||
this.markOffline();
|
||||
}
|
||||
|
||||
drop(reconnect());
|
||||
|
||||
Reference in New Issue
Block a user