Fix race condition in switchRelays

This commit is contained in:
Jon Staab
2026-04-01 11:31:26 -07:00
parent 5c6a211712
commit 17f169e502
+9 -3
View File
@@ -496,10 +496,16 @@ export class Nip46Broker extends Emitter {
if (relays && relays.length > 0) { if (relays && relays.length > 0) {
this.params.relays = relays.map(normalizeRelayUrl) this.params.relays = relays.map(normalizeRelayUrl)
this.sender.stop() const oldSender = this.sender
this.sender = this.makeSender() const oldReceiver = this.receiver
this.receiver.stop() // Let any in-flight requests finish first
setTimeout(() => {
oldSender.stop()
oldReceiver.stop()
}, 5_000)
this.sender = this.makeSender()
this.receiver = this.makeReceiver() this.receiver = this.makeReceiver()
} }