Fetching all users followed by you would be a mess, just like, currently, fetching the list of people that follow you is a mess (and clients may get it wrong, by listing people that used to follow you but no longer do).

Remember that relays have different data and no relay has all data. So if you follow and then unfollow me, even if the specification says the unfollow event must delete the follow event, some relays will still have the follow event. The client would have to fetch all your follow and unfollow event and the list will be complete only once it has received all events.

Currently, the client still has to fetches multiple relays and wait for multiple answers, then pick the one with the most recent date, however that's less work than it would be required if there were follow events.

I still think that individual follow events (but not really unfollow events) should exist for the purpose of providing a notification when someone follows you.

Reply to this note

Please Login to reply.

Discussion

This is not to say a better solution, in the form of some middle ground, cannot be possible, by the way.

There could be a "main" follow list which only contains references to smaller lists.

Each individual event would be reasonably small, but once you fetch the latest main follow list you would know all referenced events are up to date.

I think just publishing the individual follow / un-follow (delete follow) is consistent with how most things work in Nostr. If I want to see all the replies to a post, I have to query relays to assemble that list, same to see followers (as you mentioned) or reactions to a post. It is a mess in some sense but I think it's a good model.

We couldn't have an event with the list of replies if we wanted.

Also, replies are meaningful even before you collect all of them.

Furthermore, kind 1 text notes (which include replies) and kind 1111 comments cannot be edited or deleted (delete requests can be ignored and are ineffective if the note has spread to other relays). When you get a text note, you know it's valid. But if you get a "follow" or "unfollow" event, you don't know yet, because the user might have followed or unfollowed that account at a later time, invalidating that event, so you have to wait until you have all data for any of it to be valid.

There are cases where the whole follow list of multiple users can be needed, preferrably quickly.