I mean if you look into Twitter/X API there’s “followes_count: 99” objects, why the client not save the contact number count locally, just the total number not the entire list?

So by default it will not download entire followers list, but when user do, it will cache that (only the number), so next time user will see the approximate last time follower number

Reply to this note

Please Login to reply.

Discussion

because nostr is not an api, and there is no follows_count. If you want to propose that as a protocol extension then by all means, but most nostr devs already find kind3 contact lists problematic so it’s unlikely to happen.

as for caching counts when you download lists, yes thats the best you can do. but considering it is so easy to fake follow counts i don’t think its worth it or meaningful.

A more meaningful metric in a decentralized network is eigencentrality (like pagerank but for web of trust)

primal.net did caching btw despite its on the back end.

I mean its such annoying that everytime I load someone profile in Damus it must load all followers from 0.

yes but primal is not a nostr client. I am building a nostr client.

*feedback rejected*

not rejected, just giving my feedback to your feedback. I have been thinking about this for 3+ years

clients are not meant to trust relays in any way, i don’t see how you could even trust follow counts from relays in the outbox model.

You of course have a trusted index, but indexers abuse those to promote their friends

Followers count doesn’t need to be trusted, accurate, or complicated.

but the way Damus force user to click “Download Follower” is just ugly. Saving/caching integer value locally doesnt cost that much but yet intuitive in UX perspective

yes its planned in nostrdb, as well as cached wot scores based on incoming contact lists. Like i said its the best you can do, other than hyperloglog counts