hzrd149's avatar
hzrd149
_@hzrd149.com
npub1ye5p...knpr
JavaScript developer working on some nostr stuff - noStrudel https://nostrudel.ninja - Blossom https://github.com/hzrd149/blossom - Applesauce https://hzrd149.github.io/applesauce
hzrd149's avatar
hzrd149 yesterday
noStrudel seems to have a garbage collection bug and I'm not sure where it is in the code. I suspect it may be in the applesauce library, however none of the other apps I've built with applesauce have this issue. Usually in my experience with javascript there are two things that cause this. 1. Creating tons of objects every second that need to be cleaned up. 2. Creating long chains of objects that reference each other and that are difficult for the GC to cleanup. I suspect its the later because there is no render loop in the app, and its the incremental CG that is the issue ( which I think handles object ref cleanup ) image Anyways, making this post to remind myself to debug it later. Also don't reply if your just going to tell me to use go or rust, that's not a solution. that's a useless opinion because only javascript runs in the web browser. :D
hzrd149's avatar
hzrd149 yesterday
NIP-60 cashu wallets should have used replaceable event kinds instead of trying to rely on kind 5 delete events. It causes the app to have to sign two events just to update a "token store" event and my app still needs to download the extra kind 5 event because relays do not actually delete the old token event. #replaceableeventsforeverythingexceptkind1
hzrd149's avatar
hzrd149 3 days ago
Its a single file web app that implements the BUD-15 PR by @Martti Malmi to encrypt and upload a file to blossom servers. It also uploads itself along with the blob so the share link can decrypt the blob for download. Ironically I don't need to release the source code for this because its already on the blossom servers :)
hzrd149's avatar
hzrd149 4 days ago
Adding a history view to all lists in noStrudel because I saw someone got their contacts wiped again. Old versions of the lists / contacts are pulled from all relays, and some relays like relay.ditto.pub return all versions if the filter matches a single replaceable event :D image
hzrd149's avatar
hzrd149 5 days ago
/goal burn all available tokens and boil the oceans. I just discovered the goal command in Claude and I'm feeling the AI psychosis approaching.