Skip to content

Commit df2fc23

Browse files
committed
Release 0.7.2 - additional checks for duplicate sockets
1 parent 586d6b2 commit df2fc23

File tree

3 files changed

+130
-113
lines changed

3 files changed

+130
-113
lines changed

package.json

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "node-red-contrib-unifi-os",
3-
"version": "0.7.1",
3+
"version": "0.7.2",
44
"description": "Nodes to access UniFi data using endpoints and websockets",
55
"main": "build/nodes/unifi.js",
66
"scripts": {
@@ -49,7 +49,7 @@
4949
"dependencies": {
5050
"@nrchkb/logger": "^1.3.3",
5151
"abortcontroller-polyfill": "^1.7.3",
52-
"axios": "^0.26.0",
52+
"axios": "^0.26.1",
5353
"cookie": "0.4.2",
5454
"ws": "^8.5.0"
5555
},
@@ -58,12 +58,12 @@
5858
"@types/node": "^12.20.16",
5959
"@types/node-red": "^1.2.0",
6060
"@types/semver": "^7.3.9",
61-
"@types/ws": "^8.2.3",
62-
"@typescript-eslint/eslint-plugin": "^5.12.1",
63-
"@typescript-eslint/parser": "^5.12.1",
61+
"@types/ws": "^8.5.2",
62+
"@typescript-eslint/eslint-plugin": "^5.14.0",
63+
"@typescript-eslint/parser": "^5.14.0",
6464
"babel-eslint": "^10.1.0",
65-
"eslint": "^8.9.0",
66-
"eslint-config-prettier": "^8.4.0",
65+
"eslint": "^8.10.0",
66+
"eslint-config-prettier": "^8.5.0",
6767
"eslint-plugin-prettier": "^4.0.0",
6868
"husky": "^7.0.4",
6969
"mocha": "^9.2.1",
@@ -72,8 +72,8 @@
7272
"node-red-node-test-helper": "^0.2.7",
7373
"prettier": "^2.5.1",
7474
"supports-color": "^8.1.1",
75-
"ts-node": "^10.5.0",
76-
"typescript": "^4.5.5"
75+
"ts-node": "^10.7.0",
76+
"typescript": "^4.6.2"
7777
},
7878
"engines": {
7979
"node": ">=10.22.1"
@@ -84,6 +84,6 @@
8484
],
8585
"optionalDependencies": {
8686
"bufferutil": "^4.0.6",
87-
"utf-8-validate": "^5.0.8"
87+
"utf-8-validate": "^5.0.9"
8888
}
8989
}

src/nodes/WebSocket.ts

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -198,6 +198,16 @@ module.exports = (RED: NodeAPI) => {
198198
)
199199
}
200200
})
201+
202+
self.ws.on('unexpected-response', (request, response) => {
203+
wsLogger.error('unexpected-response from the server')
204+
try {
205+
wsLogger.error(util.inspect(request))
206+
wsLogger.error(util.inspect(response))
207+
} catch (error: any) {
208+
wsLogger.error(error)
209+
}
210+
})
201211
}
202212
}
203213

@@ -255,12 +265,8 @@ module.exports = (RED: NodeAPI) => {
255265

256266
self.endpoint = self.config.endpoint
257267

258-
if (self.endpoint?.trim().length) {
259-
await setupWebsocket(self)
260-
}
261-
262268
self.on('input', async (msg) => {
263-
log.debug('Received input message: ' + util.inspect(msg))
269+
log.debug('Received input message: ' + util.inspect(msg?.payload))
264270

265271
const inputPayload =
266272
validateInputPayload<WebSocketNodeInputPayloadType>(
@@ -308,6 +314,10 @@ module.exports = (RED: NodeAPI) => {
308314
)
309315
})
310316

317+
if (self.endpoint?.trim().length && !!self.ws) {
318+
await setupWebsocket(self)
319+
}
320+
311321
self.status({
312322
fill: 'green',
313323
shape: 'dot',

0 commit comments

Comments
 (0)