Handle socket errors

This commit is contained in:
Jon Staab
2024-05-22 12:56:54 -07:00
parent fdce131d27
commit d5b4a3218e
8 changed files with 18 additions and 13 deletions
Executable
+5
View File
@@ -0,0 +1,5 @@
#!/bin/bash
for package in $(ls packages); do
./build_and_link.sh $package
done
+2 -2
View File
@@ -3059,7 +3059,7 @@
},
"packages/feeds": {
"name": "@welshman/feeds",
"version": "0.0.6",
"version": "0.0.7",
"license": "MIT",
"dependencies": {
"@welshman/util": "0.0.9"
@@ -3096,7 +3096,7 @@
},
"packages/net": {
"name": "@welshman/net",
"version": "0.0.8",
"version": "0.0.9",
"license": "MIT",
"dependencies": {
"@welshman/lib": "0.0.6",
-1
View File
@@ -230,7 +230,6 @@ export class FeedCompiler<E extends TrustedEvent> {
if (event) {
for (const feed of feedsFromTags(Tags.fromEvent(event), mappings)) {
feeds.push(feed)
}
}
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@welshman/feeds",
"version": "0.0.6",
"version": "0.0.7",
"author": "hodlbod",
"license": "MIT",
"description": "Utilities for building dynamic nostr feeds.",
+5 -6
View File
@@ -159,12 +159,11 @@ export class ConnectionMeta {
getSpeed = () => this.responseCount ? this.responseTimer / this.responseCount : 0
getStatus = () => {
if (this.authStatus === AuthStatus.Unauthorized) return ConnectionStatus.Unauthorized
if (this.authStatus === AuthStatus.Forbidden) return ConnectionStatus.Forbidden
if (this.lastOpen === 0) return ConnectionStatus.Closed
if (this.lastFault > this.lastOpen) return ConnectionStatus.Error
if (this.lastClose > this.lastOpen) return ConnectionStatus.Closed
if (this.getSpeed() > 1000) return ConnectionStatus.Slow
if (this.authStatus === AuthStatus.Unauthorized) return ConnectionStatus.Unauthorized
if (this.authStatus === AuthStatus.Forbidden) return ConnectionStatus.Forbidden
if (this.lastFault && this.lastFault > this.lastOpen) return ConnectionStatus.Error
if (this.lastClose > this.lastOpen) return ConnectionStatus.Closed
if (this.getSpeed() > 1000) return ConnectionStatus.Slow
return ConnectionStatus.Ok
}
+2 -1
View File
@@ -59,6 +59,7 @@ export class Socket {
}
onError = () => {
this.failedToConnect = true
this.opts.onError()
this.disconnect()
}
@@ -105,7 +106,7 @@ export class Socket {
if (this.ws) {
const currentWs = this.ws
this.ready.then(() => currentWs.close())
this.ready.finally(() => currentWs.close())
this.ready = defer()
this.opts.onClose()
this.ws = undefined
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@welshman/net",
"version": "0.0.8",
"version": "0.0.9",
"author": "hodlbod",
"license": "MIT",
"description": "Utilities for connecting with nostr relays.",
+2 -1
View File
@@ -1,7 +1,8 @@
#!/bin/bash
./build.sh
for package in $(ls packages); do
./build_and_link.sh $package
npx onchange packages/$package -e '**/build/**' -k -- ./build_and_link.sh $package &
done