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.

Reply to this note

Please Login to reply.

Discussion

*...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/"