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...

Reply to this note

Please Login to reply.

Discussion

So that's why the lists get nuked... I think nostur has a restore contact list feature.

And you can restore with primal as well. Go to the premium tab --> manage premium --> restore contact list.

Not reliably unfortunately.

We looked into it. It may take a bit to load but should work with good connection.

Looks like you fixed 👍

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.

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).

I'm thinking about implementing this in my app, but a specification written by the "core" members would really help me out.

Go ahead and write a spec! Happy to comment if you want feedback

I meant not all events. The merged follow list at that point in time.

https://nostr.land/restore should fix this

Also why I built follow backups into #PlebsVsZombies. 🏹🧟‍♀️🔪🧟‍♂️

yes! this has happened to me, but i used nostr:nprofile1qqs99d9qw67th0wr5xh05de4s9k0wjvnkxudkgptq8yg83vtulad30gpp4mhxue69uhkummn9ekx7mqpz3mhxue69uhhyetvv9ujuerpd46hxtnfdudt29ct ‘s creation that helps get your follow list back.

Sure but even though we have fixes doesn’t mean that it’s a good system.

the lack of cohesion between the clients can be attributed to a majority of issues.

What NIPs are there for “contacts”? I only know about subscriptions from NIP-01. And they are different per relay by design.

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.

Indeed. This happened to me too. It should be solved. If not, many users may be disappointed here.