ephemerals are not stored.

i don't see why you would want to store them, it contradicts the specification.

orly also actually deletes everything when it gets replaced or is deleted, and it refuses to re-save events that have a delete reference to them (delete by e tag, not a tag).

not implementing actual delete and actual replace clutters up the relay implementation with a lot of unnecessary shit. just delete it bellcurve.jpg

Reply to this note

Please Login to reply.

Discussion

also, yeah, not storing ephemerals, IMO, is one of the whole points of nostr

- post office protocol (message database with optional auth requirement)

- publish-subscribe protocol (when new events are published interested parties can instantly get them)

- rendezvous protocol (ephemeral events make nostr able to implement rendezvous, which is critical to all privacy applications)

That's good. I think the rationale behind the grace period for hanging ephemeral events is to improve robustness against dropping ws connections. However, it is not mandatory, and I've only seen strfry implementing it. I've also put together a circular buffer storage to handle ephemeral events and allow them to be req for a short period of time

yeah, i guess that can work but i think that would impact realtime services that depend on ephemeral rendezvous routing.

better would be to bulid in this "please repeat" message into your subprotocol if you ask me. this is an example of a case where you harm one use case by handling another.