From 5137bfc17d763488083b76ee9008611df333272a Mon Sep 17 00:00:00 2001 From: DD Date: Sat, 30 Jul 2022 21:37:46 +0300 Subject: [PATCH] fix(WebSocketShard): account code 1000 with no prior indication (#8399) --- packages/ws/src/ws/WebSocketShard.ts | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/packages/ws/src/ws/WebSocketShard.ts b/packages/ws/src/ws/WebSocketShard.ts index 2b32c9451..ebb807ef1 100644 --- a/packages/ws/src/ws/WebSocketShard.ts +++ b/packages/ws/src/ws/WebSocketShard.ts @@ -460,8 +460,20 @@ export class WebSocketShard extends AsyncEventEmitter { private async onClose(code: number) { switch (code) { - case 1000: - case 4200: { + case CloseCodes.Normal: { + this.debug([`Disconnected normally from code ${code}`]); + if (this.status === WebSocketShardStatus.Ready) { + return this.destroy({ + code, + reason: 'Got disconnected by Discord', + recover: WebSocketShardDestroyRecovery.Reconnect, + }); + } + + break; + } + + case CloseCodes.Resuming: { this.debug([`Disconnected normally from code ${code}`]); break; }