@fiatjaf @Mike Dilger @hzrd149 @Vitor Pamplona Talking about nostr user relays management: is there a best practice in choosing/using inbox/outbox relays and app relays (the ones only used on the specific client)? Are there some articles or documentation about it? I get one should use few inbox/outbox relays (normal and/or WoT ones), but what about all the other relay types? Search, app specific ones, etc...? I see most of the clients have this "app relays" that are used "for everything in the app", but why would I use them if we have decided the outbox model is pretty much the one to follow? Aren't they "useless"? I mean I get the need for general search/read relays to search for content (for example global feed and to bootstrap the client after a fresh login), but why the write ones? Please help a fellow nostrich.
Some clients have "app relays" because they haven't implemented the outbox/inbox model yet and are just talking to these specific app relays and none other, some use these "app relays" as fallbacks for when they can't find anything using outbox and other heuristics, like Snort. Some clients don't have the concept of app relays, like Gossip and Coracle. Some apps have search relays in a separate category, like Yana and Amethyst.
Ok, so if I understand correctly, the general idea is to setup your inbox/outbox relays plus some other relays based on the client and on what you want to do with it (social, chat, etc...). So in my example above I should only set inbox/outbox relays plus some other "read" relays for everything else (whether they are called app relays, search relays or something else doesn't matter).
I don't think I can offer general advice, because each client will behave differently. Clients should probably guide you better, or set up some nice defaults for you.
Oh, last question: let's say I change inbox/outbox relays, but I don't want to "lose" events, would you say rebroadcasting everything I have written to the new ones is the correct thing to do? How would you manage this situation?
I feel like (from a user perspective) there is not a proper relays "standard", making them not really portable between clients (a part from inbox/outbox ones), am I too harsh on this? Maybe it need to be like this because it depends on the client use case, I don't know.
Just think about what has to happen and make sure that it can happen: Outbox -- Make sure you can write to it (subscriptions/AUTH are ok). Make sure everybody can read from it (without needing a subscription or AUTH). Inbox -- Make sure everybody can write to it without a subscription or AUTH, at least in so much as when they tag you. And make sure you can read from it (subscriptiuon/AUTH are ok).