@ -105,6 +105,7 @@ export class NostrSystem extends ExternalStore<SystemSnapshot> implements System
|
||||
c.OnEvent = (s, e) => this.OnEvent(s, e);
|
||||
c.OnEose = s => this.OnEndOfStoredEvents(c, s);
|
||||
c.OnDisconnect = (code) => this.OnRelayDisconnect(c, code);
|
||||
c.OnConnected = (r) => this.OnRelayConnected(c, r);
|
||||
await c.Connect();
|
||||
} else {
|
||||
// update settings if already connected
|
||||
@ -115,6 +116,14 @@ export class NostrSystem extends ExternalStore<SystemSnapshot> implements System
|
||||
}
|
||||
}
|
||||
|
||||
OnRelayConnected(c: Connection, wasReconnect: boolean) {
|
||||
if (wasReconnect) {
|
||||
for (const [, q] of this.Queries) {
|
||||
q.connectionRestored(c);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
OnRelayDisconnect(c: Connection, code: number) {
|
||||
this.#relayMetrics.onDisconnect(c, code);
|
||||
for (const [, q] of this.Queries) {
|
||||
@ -147,6 +156,7 @@ export class NostrSystem extends ExternalStore<SystemSnapshot> implements System
|
||||
c.OnEvent = (s, e) => this.OnEvent(s, e);
|
||||
c.OnEose = s => this.OnEndOfStoredEvents(c, s);
|
||||
c.OnDisconnect = code => this.OnRelayDisconnect(c, code);
|
||||
c.OnConnected = (r) => this.OnRelayConnected(c, r);
|
||||
await c.Connect();
|
||||
return c;
|
||||
}
|
||||
|
Reference in New Issue
Block a user