node-steam-session icon indicating copy to clipboard operation
node-steam-session copied to clipboard

TypeError: Cannot read properties of null (reading 'state')

Open WhoisUnknown opened this issue 1 year ago • 0 comments

Hi! 👋

Firstly, thanks for your work on this project! 🙂

Today I used patch-package to patch [email protected] for the project I'm working on.

Sometimes I encounter an error:

 TypeError: Cannot read properties of null (reading 'state')
     at WebSocketCMTransport._disconnectIfApplicable (/node_modules/steam-session/src/transports/WebSocketCMTransport.ts:333:23)
     at WebSocketCMTransport._handleWsMessage (/node_modules/steam-session/src/transports/WebSocketCMTransport.ts:243:10)
     at WebSocket.<anonymous> (/node_modules/steam-session/src/transports/WebSocketCMTransport.ts:162:11)
     at WebSocket.emit (node:events:513:28)
     at /node_modules/websocket13/src/WebSocketBase.ts:611:11
     at pipe (/node_modules/websocket-extensions/lib/pipeline/index.js:37:40)
     at Pipeline._loop (/node_modules/websocket-extensions/lib/pipeline/index.js:44:3)
     at Pipeline.processIncomingMessage (/node_modules/websocket-extensions/lib/pipeline/index.js:13:8)
     at Extensions.processIncomingMessage (/node_modules/websocket-extensions/lib/websocket_extensions.js:133:20)
     at WebSocket._dispatchDataFrame (/node_modules/websocket13/src/WebSocketBase.ts:587:20)
     at WebSocket._handleFrame (/node_modules/websocket13/src/WebSocketBase.ts:583:8)
     at WebSocket._handleData (/node_modules/websocket13/src/WebSocketBase.ts:369:8)
     at TLSSocket.<anonymous> (/node_modules/websocket13/src/WebSocketBase.ts:175:10)
     at TLSSocket.emit (node:events:513:28)
     at addChunk (node:internal/streams/readable:324:12)
     at readableAddChunk (node:internal/streams/readable:297:9)
     at TLSSocket.Readable.push (node:internal/streams/readable:234:10)
     at TLSWrap.onStreamRead (node:internal/stream_base_commons:190:23)

Here is the diff that solved my problem:

diff --git a/node_modules/steam-session/src/transports/WebSocketCMTransport.ts b/node_modules/steam-session/src/transports/WebSocketCMTransport.ts
index 150c09d..a1badfc 100644
--- a/node_modules/steam-session/src/transports/WebSocketCMTransport.ts
+++ b/node_modules/steam-session/src/transports/WebSocketCMTransport.ts
@@ -330,7 +330,7 @@ export default class WebSocketCMTransport implements ITransport {
 	}
 
 	_disconnectIfApplicable() {
-		if (this._websocket.state == WsState.Connected) {
+		if (this._websocket && this._websocket.state == WsState.Connected) {
 			this._websocket.disconnect();
 			this._websocket = null;
 		}

This issue body was partially generated by patch-package.

WhoisUnknown avatar Dec 22 '24 18:12 WhoisUnknown