Thread

Zero-JS Hypermedia Browser

Relays: 5
Replies: 17
Generated: 17:02:16
I think we need to rework how we handle lists in Nostr. The way we do it now, any client can republish a list without any diff or reference to it's knowledge of the previous version means that clients will get a partial list or fail to get a list from relays and then publish an empty one. I just now noticed that i've lost all the people in my contacts... If we had diff's or a signature chain for previous versions, we could handle this and merge / restore lists...
2025-10-16 02:12:35 from 1 relay(s) 7 replies ↓
Login to reply

Replies (17)

Many possible solutions have been proposed, but the trade off is complexity and number of events to download. Better relay selections would largely fix this without any re-designing. Here's a new idea though: a snapshot event which contains any other event in the content, which clients can publish if they're not sure they have the latest version.
2025-10-16 02:32:46 from 1 relay(s) ↑ Parent 1 replies ↓ Reply
Consider combining individual follow/unfollow events with periodic snapshots that include all events at specific points in time, featuring pagination with a continuation event ID (a pointer to the next part of the snapshot).
2025-10-16 02:57:52 from 1 relay(s) ↑ Parent 2 replies ↓ Reply
particularly for follows, I think it would be useful to publish a single follow event, which would make follow notifications trivial to implement as a byproduct. You could even checkpoint to your kind:3 every once in a while.
2025-10-16 07:35:29 from 1 relay(s) ↑ Parent Reply