Avatar
Marius Kjeldahl
2e1b0646bb603b8c4febc648a2801d7134d18b5a766ad2bb87bf53db3eca0c6f
Software developer. Currently building on Bitcoin Cash (BCH) & Nostr.

After getting praise from the scifi community, I tried watching "Invasion" AGAIN. Still sucks IMHO.

Pumps seem to work fine, feel free to use them again, with the normal caveats. But Nostr spam seems to have become more of an issue from last time. Seconds from me posting I got one recruitment spam and one regugitating bot posting senseless phrases from my own post. Oh well.

New version of Pumpstr is out (pumpstr.coinmachin.es), a massive upgrade, please try to hold off pumping until I can verify everything is ok:

RELEASE NOTES 2025-05-30

Previously a lot of content was handled server side. This fits poorly with how Nostr was meant to be. So Pumpstr have received massive improvements where it now behaves like a "proper" client app, running inside the browser as a PWA (progressive web app). This means the server is mostly there to allow clients to download the app. All content caching (user profiles and events) is now also done client side only.

I added a "Relay Stats" choice in the sidebar which will show you stats and connection status for your relays. This can be useful to find and remove non-functional relays from your relay list.

I added a "Storage Stats" choice in the sidebar which shows you the number of user profiles and events being cached in the client. The client will auto refresh client profiles every hour. The initial feeds list always get built with live data from relays, but mentioned events (like for replies and reposts) will get persisted to speed up post rendering. Eventually the client will do automatic cleanups to avoid profiles and events piling up endlessly, typically by removing unused profiles and events after a week or two.

If you hide this message by clicking the X icon, you can get it back by selecting "Show sys.msg" from the sidebar.

Testing post-refactoring pumps (again), please leave this post alone.

It's going great. I've recently added a "Relay Stats" view, which proves the new relay connection manager is doing it's job. Scrolling and navigation has received nice improvements. I'm slowly adding remaining features to make it a fully fledged Nostr client, like image/video uploads and likes. Once I have those in place I will start adding more real time features to highlight posts that are receiving pumps and likes (to help promote the ease of use). Suggestions are also welcome.

As soon as remaining bugs from massive improvements to the Nostr client "Pumpstr" stabilizes (http://pumpstr.coinmachin.es/), I need to re-introduce mechanisms to share pump actions. Promoting these for Pumpstr users is one thing, but to gain traction there needs to be ways for non-Pumpstr users to see that sats are flying as well. Suggestions are welcome!

Sharing a screenshot from "threaded view" with new app header on iOS/iPhone, just because!

https://cdn.nostrcheck.me/2e1b0646bb603b8c4febc648a2801d7134d18b5a766ad2bb87bf53db3eca0c6f/45618b7d2fa523bad50c427aac56eed0d6206aac5f737e34fb55e410f7199b03.webp

Thankfully, the payment address generation scheme is solid, so no sats get lost. Although it can feel like that when the confirmation modal fails to confirm the pump.

I've done tons of work to make Pumpstr behave better towards relays and smarter connection pooling. When doing that I have turned off most/all "event caching", to make sure things behave like they should. I will re-enable event caching again soon, but then so that it only happens client side (not server side as before). Relay connection management in Nostr is not easy, so things are breaking while doing these changes. Additionally I'm doing work on the "feel" of the client (scrolling, persistant header etc) to make everything better. Progress is good, but some bugs will show up. Fixing everything asap though, usually within minutes from I notice anything. Thank you for your patience.

Thanks, it registered (visible in my wallet), but feedback (and top list handling) is a bit buggy. I'm updating right now.

Be the idealist, I'll be the realist. Apple is handicapping both PWAs and native apps on iOS (but to a lesser degree, since they are the gatekeeper for the native apps anyway). I suspect we both want full freedom on our own devices and the ability to deliver our software to anyone we want. So whatever disagreement we have is about current best choices considering what we have. I'll leave it at that.

Unless you want to build a very niche mobile app, you typically need a presence on the web, on ios and on android. If possible, build a PWA to validate your concept (and distribution/network effects). Then iterate and build your native apps when you are sure you have a product market fit. There are many reasons to love native stuff, sure. But being a platform "purist" seldom makes sense business wise.

Typical pattern is PWA first, then add native as your userbase and commercials allow the added overhead. Historical examples include Tinder, Uber, Pinterest, Flipcard, Amazon, Starbucks and many more. You can find more examples here:

https://laffaz.com/progressive-web-app-history-examples/

Now it's gotta be said as well that Mobile Safari has become what Internet Explorer used to be; the lowest common denominator that makes it VERY hard to make PWAs almost as polished as native apps.

As a developer, getting started writing a Nostr client can be a bit challenging. Nostr is supposed to be decentralized, connecting to whatever relays the user specifies. Weirdly enough, the user preferred relay lists lives on other relays. Which ones? You don't know. So even as Nostr users are supposed to maintain their own lists of preferred relays, a Nostr client app still needs to have some kind of dynamic/hardcoded list of relays to get that user preferred relay list. In addition, whatever list you start with, lists are dynamic. They come and go. Which means both as a Nostr developer and as a Nostr user, you need to do some upkeep to keep everything working properly over time. This is one area where Nostr could definitively improve. For all parties involved.

So another rewrite of the relay connection manager for Pumpstr and making the client work more independently of the server in preparation for a downloadable app. Not live yet, but soon!

One of the reply tags for this post is set to wss://echo.websocket.org/ . Any idea why (it's tagged as being created by Coracle..)?

Anybody want to clue me in on why some Nostr posts have a "root" tag for a reply set to wss://echo.websocket.org ? I assume that's just an "echo server", not a valid Nostr relay.

Check out this kind 1 event for instance:

6ee27976f9f38c6cac6a2fd3a3889a4cf532ce8471c35d0a2077698ad810314d