aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2023-04-11 19:22:10 +0000
committerAdam Soltys <[email protected]>2023-04-11 19:22:14 +0000
commitf8b0e547e6cf055636f765833e430cf06549fcbe (patch)
tree3a503e082a788af7fb77b5befb2663515d5d0632
parent4d480b400a3a7d6990aac4a0cacccd86c0fd9cd3 (diff)
downloadcoinos-server-f8b0e547e6cf055636f765833e430cf06549fcbe.tar.gz
coinos-server-f8b0e547e6cf055636f765833e430cf06549fcbe.zip
upgrade websocket lib
-rw-r--r--lib/sockets.js13
-rw-r--r--package.json2
-rw-r--r--pnpm-lock.yaml14
-rwxr-xr-xwatcher.sh2
4 files changed, 17 insertions, 14 deletions
diff --git a/lib/sockets.js b/lib/sockets.js
index 458c77a9..7be4936b 100644
--- a/lib/sockets.js
+++ b/lib/sockets.js
@@ -41,7 +41,7 @@ export const broadcast = (type, data) => {
}
}
- Object.values(all).map(ws => {
+ Object.values(all).map((ws) => {
if (!sent.includes(ws.id)) ws.send(JSON.stringify({ type, data }));
});
};
@@ -49,14 +49,17 @@ export const broadcast = (type, data) => {
export async function socketServer(app) {
let seconds = (n, d = new Date()) => d.setSeconds(d.getSeconds() - n) && d;
- app.get("/ws", { websocket: true }, ({ socket: ws }, req) => {
+ app.get("/ws", { websocket: true }, (connection, req) => {
+ let { socket: ws } = connection;
+ connection.on("error", console.log);
+
const id = v4();
ws.id = id;
ws.beats = 0;
ws.send(JSON.stringify({ type: "connected", data: id }));
all[id] = ws;
- ws.on("message", async message => {
+ ws.on("message", async (message) => {
let type, data;
try {
({ type, data } = JSON.parse(message));
@@ -87,7 +90,7 @@ export async function socketServer(app) {
if (!store.sockets[uid]) store.sockets[uid] = {};
const existing = Object.keys(store.sockets[uid]);
if (existing.length > 4) {
- const p = existing.find(sid => sid !== uid);
+ const p = existing.find((sid) => sid !== uid);
store.sockets[uid][p].send(JSON.stringify({ type: "logout" }));
setTimeout(() => {
if (store.sockets[uid][p])
@@ -132,7 +135,7 @@ export async function socketServer(app) {
ws.on("error", console.log);
- ws.on("close", function(code, reason) {
+ ws.on("close", function (code, reason) {
try {
const uid = users[id];
if (store.sockets[uid] && store.sockets[uid][id]) {
diff --git a/package.json b/package.json
index 554f0220..2e69bae5 100644
--- a/package.json
+++ b/package.json
@@ -12,7 +12,7 @@
"@fastify/passport": "^2.2.0",
"@fastify/secure-session": "^5.2.0",
"@fastify/static": "^6.5.0",
- "@fastify/websocket": "^7.0.1",
+ "@fastify/websocket": "^7.2.0",
"bcrypt": "^5.0.0",
"bech32": "^2.0.0",
"clightning-client": "github:SimonVrouwe/lightning-client-js#2022-11-04_improve_doc",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index e82ffa6d..0485e84b 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -6,7 +6,7 @@ specifiers:
'@fastify/passport': ^2.2.0
'@fastify/secure-session': ^5.2.0
'@fastify/static': ^6.5.0
- '@fastify/websocket': ^7.0.1
+ '@fastify/websocket': ^7.2.0
bcrypt: ^5.0.0
bech32: ^2.0.0
clightning-client: github:SimonVrouwe/lightning-client-js#2022-11-04_improve_doc
@@ -39,7 +39,7 @@ dependencies:
'@fastify/passport': 2.2.0
'@fastify/secure-session': 5.2.0
'@fastify/static': 6.5.0
- '@fastify/websocket': 7.1.0
+ '@fastify/websocket': 7.2.0
bcrypt: 5.1.0
bech32: 2.0.0
clightning-client: github.com/SimonVrouwe/lightning-client-js/946642bafca572fb5d9ce2dc1316d415fa950a05
@@ -893,8 +893,8 @@ packages:
- supports-color
dev: false
- /@fastify/websocket/7.1.0:
- resolution: {integrity: sha512-aEHlymGnMOCY5pTSI6gOlLBX/5pIhQ485zyEx/m2+kITSa9vWtL08jbtAzbsaQBcqOz+bbVvxzerbHZdqQp2qQ==}
+ /@fastify/websocket/7.2.0:
+ resolution: {integrity: sha512-vhWQCT0I5a1JIKc34LXHQ2earW7kViYvhGn5x+lZr8TIOJKmx6NJk0Bw9zGWakulXhMsu/0y89QnsUnHiII9ag==}
dependencies:
fastify-plugin: 4.3.0
ws: 8.9.0
@@ -1979,7 +1979,7 @@ packages:
source-map: 0.6.1
wordwrap: 1.0.0
optionalDependencies:
- uglify-js: 3.17.3
+ uglify-js: 3.17.4
dev: false
/has-flag/3.0.0:
@@ -3300,8 +3300,8 @@ packages:
resolution: {integrity: sha512-7uc1O8h1M1g0rArakJdf0uLRSSgFcYexrVoKo+bzJd32gd4gDy2L/Z+8/FjPnU9ydY3pEnVPtr9FyscYY60K1g==}
dev: false
- /uglify-js/3.17.3:
- resolution: {integrity: sha512-JmMFDME3iufZnBpyKL+uS78LRiC+mK55zWfM5f/pWBJfpOttXAqYfdDGRukYhJuyRinvPVAtUhvy7rlDybNtFg==}
+ /uglify-js/3.17.4:
+ resolution: {integrity: sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==}
engines: {node: '>=0.8.0'}
hasBin: true
requiresBuild: true
diff --git a/watcher.sh b/watcher.sh
index 5afe3a5a..405aecfb 100755
--- a/watcher.sh
+++ b/watcher.sh
@@ -6,7 +6,7 @@ while true
do
f=/home/adam/coinos-server/data/funds/$(date +"%m-%d-%y-%T").json
docker exec -it cl lightning-cli listfunds > $f
- lnc=$(cat $f | jr '[.channels[] | .channel_sat] | add')
+ lnc=$(cat $f | jr '[.channels[] | select(.state == "CHANNELD_NORMAL") | .channel_sat] | add')
lnw=$(cat $f | jr '[.outputs[] | .value] | add')
ln=$(node -pe "$lnc + $lnw")
bc=$(docker exec -it bc bitcoin-cli getbalance | jr)