Replying to Avatar Sirius

Local sqlite db by nostr:npub1v0lxxxxutpvrelsksy8cdhgfux9l6a42hsj2qzquu2zk7vc9qnkszrqj49 is great. So much better than IndexedDB. Iris & Snort can now store a lot of data locally, sync only what they don't already have (negentropy & nip-114) and eventually do p2p over webrtc. Works offline.

Iris now features a "for you" feed which uses the local database. It scores events by recentness, author favoriteness (top authors reacted by you) and amount of reactions from users who often react to the same notes as you.

Recentness is randomly weighted to occasionally show older events as well. Recent notes from all followed users are also mixed in.

Events are marked "seen" when they've been in the viewport for 1 second and not shown again in the "for you" feed. I've found it actually pleasant and interesting to use now. New feed every time.

It's not extensively tested yet, and might not show great results before your local database is populated with notes and reactions. Also, it's unfortunate that sqlite wasm persistence (origin-private filesystem) requires some http headers that broke youtube and some other embeds.

FYI, I think full Negentropy is way too complicated. I have been testing a similar, but simpler sync scheme and I think it solves most of the need https://github.com/nostr-protocol/nips/pull/826

Reply to this note

Please Login to reply.

Discussion

This is why NIP-114 is mentioned, it's a simple proto to return only ids, then client can decide what it wants to fetch.

I can't find 114. Is there a text somewhere? I am trying to sync 200K events at least once a day. I am not sure if the id-only version would work but happy to test.

Made a pull request to the nips repo https://github.com/nostr-protocol/nips/pull/1027