Replying to Avatar phil

I created a quick diagram to illustrate the Primal cache issue in a simplified way that may help some people understand what is going on and help with choices about which client to use. There are many ways to build clients and there are advantages and disadvantages of each.

In Primal’s case, notes are served from Primal’s cache server which gets notes from the relays rather than the client getting them directly from the relays. The advantage to this is that much of the processing can be done on the server side resulting in a very smooth and consistent experience for users.

The down side to this is that it becomes centralised as, without the server infrastructure operated by Primal themselves, the client completely stops working (the cache is open source but I’m not aware of any other instances of the Primal cache being run and most users wouldn’t use a different one anyway). The issues with this centralisation are that it make Primal much more prone to outages and it would be very easy for ISPs to block Primal just by DNS blocking of the Primal cache server or blocking the associated IPs. Primal could also potentially filter or censor the feed from their cache although I’m not aware of whether they actually do this currently.

For me personally, I want a client that talks directly to the relays and does the processing locally but others may be comfortable with the limitations and loss of decentralisation and find that Primal provides a good experience.

One of the best things about Nostr is that you can take your key and move to a different client. It is worthwhile experimenting with different clients to find the experience that best suits you. 💜🫂

What happens to notes on relays they don't cache? Even though a user may select that relay as one they want to read from they won't see the notes in Primal

Reply to this note

Please Login to reply.

Discussion

I would expect that their cache ingests from a fairly large number or relays so hopefully in most cases there would be an overlap between the set of relays that the note is written to. It could be a problem if you are trying to use some special purpose relays. I don’t know how they handle things like the Fediverse bridge relays for example.

It looks like I can see Fediverse accounts in Primal so that does seem to work.

Any notes that are visible ONLY on relays Primal doesn't cache from would not be visible on Primal, regardless of what relays you select. In Primal, you only WRITE to the relays you select, and you only READ from their caching relay.

That said, the likelihood of any notes only being on a relay that Primal isn't caching from is relatively small. Most people are posting their notes to multiple relays with at least one that Primal is pulling notes in from.

I wonder if it’s possible to make it so that primal will read directly from a relay if it isn’t cached by the caching relay.