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) {
this.params.relays = relays.map(normalizeRelayUrl)
this.sender.stop()
this.sender = this.makeSender()
const oldSender = this.sender
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()
}