Handle lack of EOSE #33
Labels
No labels
Blocked
Bug
Documentation
Duplicate
Enhancement
Good first issue
Help wanted
Idea
In progress
Invalid
Major feature set
Packaging
Question
Soon
UI/UX
Upstream
You're dreamin'
wontfix
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
nostr/gossip#33
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
We should still update last_fetched even if we don't get an EOSE.
FYI: lack of EOSE typically means the relay hasn't finished sending the initial batch of messages. Sometimes it can take a few minutes if the filters are too generic, or if the relay is overloaded.
I'm building a similar app and I'm taking the opposite approach: only save the timestamp on EOSE. I then use this timestamp as
sincefilter on next restart, such that I only do a "full sync" once per relay when the app is first intalled. Any subsequent app starts deal with deltas or incremental syncs.But nip-15 is optional. So there could be a relay that will never send an EOSE. I want to be robust enough to handle that even if I don't use any such relay. Maybe by setting a last fetched at least at the time of the last event I received.
Good point.
This is handled by setting eose immediately on every relay that does not support NIP-11. So I'm closing this (though I should probably fix misparsed NIP-11s)