@@ -26,7 +26,6 @@ import {
2626 CompressionMethod ,
2727 CompressionParameterMap ,
2828 ImportantGatewayOpcodes ,
29- KnownNetworkErrorCodes ,
3029 getInitialSendRateLimitState ,
3130} from '../utils/constants.js' ;
3231import type { SessionInfo } from './WebSocketManager.js' ;
@@ -45,6 +44,7 @@ export enum WebSocketShardEvents {
4544 Hello = 'hello' ,
4645 Ready = 'ready' ,
4746 Resumed = 'resumed' ,
47+ SocketError = 'socketError' ,
4848}
4949
5050export enum WebSocketShardStatus {
@@ -68,6 +68,7 @@ export interface WebSocketShardEventsMap {
6868 [ WebSocketShardEvents . Ready ] : [ payload : GatewayReadyDispatchData ] ;
6969 [ WebSocketShardEvents . Resumed ] : [ ] ;
7070 [ WebSocketShardEvents . HeartbeatComplete ] : [ stats : { ackAt : number ; heartbeatAt : number ; latency : number } ] ;
71+ [ WebSocketShardEvents . SocketError ] : [ error : Error ] ;
7172}
7273
7374export interface WebSocketShardDestroyOptions {
@@ -791,13 +792,8 @@ export class WebSocketShard extends AsyncEventEmitter<WebSocketShardEventsMap> {
791792 }
792793
793794 private onError ( error : Error ) {
794- if ( 'code' in error && KnownNetworkErrorCodes . has ( error . code as string ) ) {
795- this . debug ( [ 'Failed to connect to the gateway URL specified due to a network error' ] ) ;
796- this . failedToConnectDueToNetworkError = true ;
797- return ;
798- }
799-
800- this . emit ( WebSocketShardEvents . Error , error ) ;
795+ this . emit ( WebSocketShardEvents . SocketError , error ) ;
796+ this . failedToConnectDueToNetworkError = true ;
801797 }
802798
803799 private async onClose ( code : number ) {
0 commit comments