Don't report ok to global onEvent when ok is false

This commit is contained in:
Jon Staab
2024-12-10 08:44:20 -08:00
parent 8978b77983
commit 03c5103ee9
2 changed files with 22 additions and 7 deletions
+16 -4
View File
@@ -17,8 +17,18 @@ export class Tracker extends Emitter {
hasRelay = (eventId: string, relay: string) => this.relaysById.get(eventId)?.has(relay)
addRelay = (eventId: string, relay: string) => {
const relays = this.relaysById.get(eventId) || new Set()
const ids = this.idsByRelay.get(relay) || new Set()
let relays = this.relaysById.get(eventId)
let ids = this.idsByRelay.get(relay)
if (relays?.has(relay) && ids?.has(eventId)) return
if (!relays) {
relays = new Set()
}
if (!ids) {
ids = new Set()
}
relays.add(relay)
ids.add(eventId)
@@ -30,8 +40,10 @@ export class Tracker extends Emitter {
}
removeRelay = (eventId: string, relay: string) => {
this.relaysById.get(eventId)?.delete(relay)
this.idsByRelay.get(relay)?.delete(eventId)
const didDeleteRelay = this.relaysById.get(eventId)?.delete(relay)
const didDeleteId = this.idsByRelay.get(relay)?.delete(eventId)
if (!didDeleteRelay && !didDeleteId) return
this.emit('update')
}