mirror of
https://github.com/aljazceru/khatru.git
synced 2025-12-17 05:24:22 +01:00
remove event from expiration manager if it is deleted.
This commit is contained in:
@@ -67,6 +67,9 @@ func (rl *Relay) handleDeleteRequest(ctx context.Context, evt *nostr.Event) erro
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// if it was tracked to be expired that is not needed anymore
|
||||||
|
rl.expirationManager.removeEvent(target.ID)
|
||||||
} else {
|
} else {
|
||||||
// fail and stop here
|
// fail and stop here
|
||||||
return fmt.Errorf("blocked: %s", msg)
|
return fmt.Errorf("blocked: %s", msg)
|
||||||
|
|||||||
@@ -134,3 +134,16 @@ func (em *expirationManager) trackEvent(evt *nostr.Event) {
|
|||||||
em.mu.Unlock()
|
em.mu.Unlock()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (em *expirationManager) removeEvent(id string) {
|
||||||
|
em.mu.Lock()
|
||||||
|
defer em.mu.Unlock()
|
||||||
|
|
||||||
|
// Find and remove the event from the heap
|
||||||
|
for i := 0; i < len(em.events); i++ {
|
||||||
|
if em.events[i].id == id {
|
||||||
|
heap.Remove(&em.events, i)
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user