diff --git a/packages/ws/__tests__/ws/WebSocketManager.test.ts b/packages/ws/__tests__/ws/WebSocketManager.test.ts index 2f4e33fa6..877e339ca 100644 --- a/packages/ws/__tests__/ws/WebSocketManager.test.ts +++ b/packages/ws/__tests__/ws/WebSocketManager.test.ts @@ -229,7 +229,6 @@ test('strategies', async () => { await manager.destroy(destroyOptions); expect(strategy.destroy).toHaveBeenCalledWith(destroyOptions); - // eslint-disable-next-line id-length const send: GatewaySendPayload = { op: GatewayOpcodes.RequestGuildMembers, // eslint-disable-next-line id-length diff --git a/packages/ws/src/ws/WebSocketShard.ts b/packages/ws/src/ws/WebSocketShard.ts index 435c9a97c..b0c67a02f 100644 --- a/packages/ws/src/ws/WebSocketShard.ts +++ b/packages/ws/src/ws/WebSocketShard.ts @@ -259,6 +259,9 @@ export class WebSocketShard extends AsyncEventEmitter { this.#status = WebSocketShardStatus.Idle; if (options.recover !== undefined) { + // There's cases (like no internet connection) where we immediately fail to connect, + // causing a very fast and draining reconnection loop. + await sleep(500); return this.internalConnect(); } }