I don’t think Miljan is misrepresenting his client or Nostr. He made a design choice to improve user experience and every decision has tradeoffs. He’s discussed it, and the source code is freely available. Your analogy between primal and shitcoins doesn’t work. I can’t use solana on the bitcoin network. But I can still interact with the Nostr protocol via primal.

Reply to this note

Please Login to reply.

Discussion

you can use bitcoin on solana through a trusted intermediary

the analogy is sound

but it would be even more accurate to say primal is coinbase

I can’t have bitcoin on Coinbase and then open my sparrow wallet to see my coins.

If we’re comparing it to bitcoin I think it’s more analogous to running your own node or using someone else’s. Or using Breez vs WoS.

of course no analogy will match exactly otherwise it wouldn't be an analogy

but I'm fine with yours too

just tell me what will happen when primal get a court order from turkey to censor someone

They comply. And you use another client that has better censorship resistance and worse Ux. Or fork their client and run it yourself with your own caching server.

does primal relay primal user notes to other relays? so you can drop your nsec in another app?

Yes. The relays listed in your settings on Primal are the ones where your notes will be written to and accessible from other apps.

thank you! so even if ISPs block primal.net and brick the app temporarily, we just pick up our keys and move the party somewhere else

Sure. If your ISP blocks Primal, if their caching relay goes down, if they start censoring users... You can just use a Nostr client that isn't affected.

You can have wrapped bitcoin on ethereum and other chains.

In the source code Semisol and others have pointed out how their cache relay works and how they reconstruct notes in which they are replacing users media links with their own primal links. By altering the note they remove authenticity. Even if it’s the same media they have altered the note by removing the users media link and added their own link in which the user never signed or agreed to. What’s stoping them from altering an image now that they control the media file. This alone is enough reason to consider primal not a Nostr client.

I haven’t heard that and I’m very much against that if true. Do you have a note you can share that references this?

nostr:npub1m4ny6hjqzepn4rxknuq94c2gpqzr29ufkkw7ttcxyak7v43n6vvsajc2jl nostr:note1aqztmcwv5nc2d9sv78emw289f7ykv32kyzj3xfmvwkmz05trv7aqt28ja9

Can confirm. If you go to Primal's web app and look at any image, it is assigned a Primal proxy URL. For example, look at this note from nostr:

nostr:nevent1qvzqqqqqqypzq7ueramk6pxc0j6agfvk3qv855s0dt7pdv4e45nd434caemv9pqdqqswfq02ghfjxu4hhcjfa3qlrrqad9xaujdrdxw2c5mlgxwx2vaj87cu9mxe8

On primal, the image URL begins with `r2.primal.net/cache/b/c0/6b/`, but Jumble.social correctly shows that the image is actually hosted on nostr.build.

*...note from nostr:npub10wv37amdqnv8edw5yktgsxr62g8k4lqkk2u66fk6c6uwuakzssxsf4v22x."

Hmm… don’t love that. Just checked on iOS though and I’m able to copy the raw json event as well as the img url which points to Nostr.build. I’ll try on my pixel and on the web app later on. Thanks for sharing that

There's still something funky happening with the mobile app, too. For instance, this note shows tje image has been removed from nostr.build on most clients, but it is still visible on Primal's app, until you tap to view it full screen.

nostr:nevent1qqs2kgj3ffyf30p6c4m4w4h8tccd2m3jzzhmfqmfjvtg9faexl8anwgpndmhxue69uhkummn9ekx7mp0y5erqamnwvaz7tmwdaehgu3wd3skuep0y5erqffjxpshvct5v9ez2v3swaehxw309ahx7um5wgh8w6twv5hj2v3sy5erqctkv96xzu39xgc8wumn8ghj7ur4wfcxcetjv4kxz7fwvdhk6te9xgc8wumn8ghj7un9d3shjtnyv9kh2uewd9hj7ffjxpmhxue69uhhyetvv9ujuumwdae8gtnnda3kjctv9upzp89n23wrd9qdngh0sm2s6hr6374eqvgvezvvgdztelzvsghlg772qvzqqqqqqy9aphvk

Primal screenshot:

Expanded:

This suggests that primal is showing their cached version until you open the image, rather than just showing the original.

I deleted the image from nostr.build

You are seeing a cashed version somewhere.

On Primal, tjey cached it before you deleted.

Probably. Even Damus will cache it I believe.

Damus caches locally though, at least that’s my understanding. Not sure if primal is cashing on their servers as well.

Now, bear in mind, Primal is not the only Nostr app that does this. Coracle I would definitely classify as a Nostr client, yet it also uses an image proxy, which I assume is why media sometimes takes so long to load on Coracle.

For instance, the same note from nostr:npub10wv37amdqnv8edw5yktgsxr62g8k4lqkk2u66fk6c6uwuakzssxsf4v22x on Coracle loads the image URL starting with `imgproxy.coracle.social/x/s:640:1024/"