From c982d8c3a0fd963262eb5f3ec876ab1510856b53 Mon Sep 17 00:00:00 2001 From: Adhiraj Singh Date: Thu, 14 Jul 2022 11:22:17 +0530 Subject: [PATCH] fix: dup close events --- src/Socket/socket.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/Socket/socket.ts b/src/Socket/socket.ts index a91151f..badea47 100644 --- a/src/Socket/socket.ts +++ b/src/Socket/socket.ts @@ -48,6 +48,7 @@ export const makeSocket = ({ let epoch = 1 let keepAliveReq: NodeJS.Timeout let qrTimer: NodeJS.Timeout + let closed = false const uqTagId = generateMdTagPrefix() const generateMessageTag = () => `${uqTagId}${epoch++}` @@ -280,8 +281,14 @@ export const makeSocket = ({ } const end = (error: Error | undefined) => { + if(closed) { + logger.trace({ trace: error?.stack }, 'connection already closed') + return + } + + closed = true logger.info( - { error, trace: error?.stack }, + { trace: error?.stack }, error ? 'connection errored' : 'connection closed' )