Avatar
hzrd149
266815e0c9210dfa324c6cba3573b14bee49da4209a9456f9484e5106cd408a5
JavaScript developer working on some nostr stuff - noStrudel https://nostrudel.ninja - Blossom https://github.com/hzrd149/blossom - Applesauce https://hzrd149.github.io/applesauce

no, the extension on the "GET /" endpoint will always be optional. mainly because its not important to the server, its mostly there just to allow the client to have a hint at file type so it can show an image / video / pdf viewer

Although I'm going to open a PR tomorrow to make the file extension required on the "url" field returned from the /upload /list and /mirror endpoints. since that field is intended to be used by the client and the client generally needs the file extension

The "GET " endpoint should always be served at the root path of the domain. so if it was file.nostrmedia.com then the endpoint should be file.nostrmedia.com/

generally its also good to have the /upload endpoint on the same domain because clients wont be able to easily know about both domains. and when users select a the blossom server in a client they would be only setting one of the domains

nostr:npub19ppwxjrqckwl4n2a7j960fjsvhn8vrggcd0h092nmq7zcgcskjfsywp04j can you add a lightning address to your profile? I love your music and I want to zap you

Link for those who are curious

https://lnbeats.com/artist/longy

I'll consider it. I still need to read over hodlbod's PR though

With all the attention on blossom I feel its a good time let all the devs know about our telegram group https://t.me/blossommafia

Its not very active but if you have questions its a good place to ask them

I'm undecided if thats a good thing or not. but thats how it works currently.

either way nostrmedia.com should support the "GET /" endpoint since that is one of the core required endpoints in the spec

Replying to Avatar Vitor Pamplona

nostr:nprofile1qqszv6q4uryjzr06xfxxew34wwc5hmjfmfpqn229d72gfegsdn2q3fgpz9mhxue69uhkummnw3ezuamfdejj7qgjwaehxw309ahx7um5wf6k2tnrdakj7qg6waehxw309ac8junpd45kgtnxd9shg6npvchxxmmd9usc5pxf do you have a reference implementation for Blossom? I am using primal to test, but I keep receiving a hash that is different than the one I sent in and I don't know why. Is blossom's hash just from the blob or the whole request? Byte array length is also different.

Also nostr:npub1gcxzte5zlkncx26j68ez60fzkvtkm9e0vrwdcvsjakxf9mu9qewqlfnj5z I added you to the whitelist on my server https://cdn.hzrd149.com so you can use it to test if you like

I don't have any useful suggestions, just don't want it to seem like we are picking a fight with X or bluesky. Technically nothing is stopping them from using Nostr keys

Great work on the site so far though

It doesn't feel right to immediately start the description of nostr off with "we are just like these other things but apolitical"

our strength isn't that we are rebuilding what X, bluesky or anyone else has built. but instead that we are actually using cryptography, unlike them...

The "url" field was intended to make live easier for the client. ideally though if the client knows the mime type and hash it can build the url itself

Its not good that they are modifying the blob though. that makes it impossible to upload or re-upload the blobs to the primal server and keep the hashes (for censorship resistance)

Replying to Avatar Vitor Pamplona

nostr:nprofile1qqszv6q4uryjzr06xfxxew34wwc5hmjfmfpqn229d72gfegsdn2q3fgpz9mhxue69uhkummnw3ezuamfdejj7qgjwaehxw309ahx7um5wf6k2tnrdakj7qg6waehxw309ac8junpd45kgtnxd9shg6npvchxxmmd9usc5pxf do you have a reference implementation for Blossom? I am using primal to test, but I keep receiving a hash that is different than the one I sent in and I don't know why. Is blossom's hash just from the blob or the whole request? Byte array length is also different.

I've been building a typescript blossom server although I would be hesitant to call it a reference implementation since it has a lot of extra features https://github.com/hzrd149/blossom-server

nostr:npub180cvv07tjdrrgpa0j7j7tmnyl2yr6yr7l8j4s3evf6u64th6gkwsyjh6w6 also create a great cli tool for interacting with servers https://git.fiatjaf.com/blossom

There is also a repo I've been keeping track of all the blossom project I know of https://github.com/hzrd149/awesome-blossom

I'm not sure whats with primals blossom server but it does seem to be modifying the blob in some way on the `PUT /upload` endpoint, which its not supposed to do 😞

Replying to Avatar Leo Wandersleb

https://npub1wyuh3scfgzqmxn709a2fzuemps389rxnk7nfgege6s847zze3tuqfl87ez.nsite.lol/ doesn't work for me right now. I get an empty document.

yeah something is either broken with my blossom server or my nsite host... 😞

rx-nostr looks really well thought out https://penpenpng.github.io/rx-nostr/en/v3/

I really like how it handles connections and how it makes a distinction between backwards and forwards requests

however... I really wish it wasn't built to be a single SDK. I want to use just the relay connection logic and then use applesauce to handle parsing events

Its just a PWA so you have to open it in the browser. but I use it on mobile so I keep it barely functional

I like the two column feed layout that https://jouble.surge.sh/ has, should I copy it and use it as the default layout for #noStrudel on desktop?

next version of noStrudel (next.nostrudel.ninja) is going to be broken for a while. my hosting provider (fleek) wont let me login with my github account anymore and I'm too lazy to figure out how to setup it up again

If you want the latest buggy builds you can find it over on https://nsite.lol

I've been doing some work on the blossom client sdk so its possible I broke the authentication logic 😞

#nostrdesign I need your help. I need a design for a 2000s style software box for #noStrudel

I don't know why but I have this urge to create a physical distribution of some nostr clients and I cant think of a better way than 2000s software boxes and CDs

I think it would need to have lots of cheesy sayings on it like:

- One free year of updates

- Free copy of snort.social included!

- Unlock your speech on the web

- Etc...

DM me, I'm willing to pay sats

Also if anyone knows a good way to print boxes let me know, I really want to make at least one copy

I think my VPN IP was blocked yesterday or throttled :-D Today it was faster with mod download.

https://hub.docker.com/layers/holgerhatgarkeinenode/haven-docker/v1.0.0/images/sha256-0364ed61722038bf0a845ee886346dcb17dcb568546c76a8fa752bb5deb3fdec?context=explore

The image now has only 17 MB πŸ«‚πŸ«‚πŸ«‚

But I tried the blossom server with it: https://blossom.hzrd149.com/

nostr:npub1ye5ptcxfyyxl5vjvdjar2ua3f0hynkjzpx552mu5snj3qmx5pzjscpknpr This service does not support Blossom Servers with a "/path" like "/blossom" right. It cuts the path.

Haven Blossom server is reachable over the path "/blossom".

Blossom servers should only be reachable at the root path /

If its not on the root path its not really a blossom server

There are a few reasons for this, but mainly because things become 10x more complicated if you have to start specifying paths for services

Replying to Avatar franzap

nostr:npub1ye5ptcxfyyxl5vjvdjar2ua3f0hynkjzpx552mu5snj3qmx5pzjscpknpr have you used nostrudel with a paid relay? Is it possible to automatically auth? Every time I refresh the page I need to go to Task Manager and authenticate again or nothing updates

what nostr:npub1gnwpctdec0aa00hfy4lvadftu08ccs9677mr73h9ddv2zvw8fu9smmerrq said but there is also an option for proactively authenticating. so it will sign the AUTH as soon as the relay sends it

Is it the performance issues that everyone has been talking about? I don't use primal but I find that odd since they run a central caching server

For other web client devs out there. you can "deploy" your app to nsite using https://www.npmjs.com/package/nsite-cli

Its like s3 sync but instead of uploading a single server it uploads the files to all your blossom servers and creates kind:34128 events to map the filenames to blob hashes

Then a nsite "host" ( like nsite-ts https://github.com/hzrd149/nsite-ts ) can look for these events and host your files as a static website

This is still a work in progress so SSL and https are not working yet 😞

nostr:nevent1qvzqqqqqqypzqfngzhsvjggdlgeycm96x4emzjlwf8dyyzdfg4hefp89zpkdgz99qyghwumn8ghj7mn0wd68ytnhd9hx2tcpzfmhxue69uhkummnw3e82efwvdhk6tcqyqffnczv26y3cy4gqr3rfmn7uqsxw9fw9nefl8shk760j704lrq82kffn7r

I wouldn't use NIP-72 communities. There are a bunch of technical reasons, but to summarize they are poorly designed and don't scale well. Also they are inflexible and don't work for much more than public reddit style forms

NIP-29 ( relay based groups ) are a better implementation in my opinion, because they have infrastructure.

I've been meaning to remove NIP-72 from noStrudel, however I don't want to do it until I give people an easy way to run the old versions of the app

This is how it works now, but since NIP-42 lets the relay send the auth challenge anytime it wants. some relays send it as soon as the client connects

Another small #noStrudel update

nostr:naddr1qvzqqqr4gupzqfngzhsvjggdlgeycm96x4emzjlwf8dyyzdfg4hefp89zpkdgz99qyghwumn8ghj7mn0wd68ytnhd9hx2tcprfmhxue69uhkummnw3ezuargv4ekzmt9vdshgtnfduhsqrmwdaehgun4v3jkcttkxq6rzvqkvry0p

mostly because I'm a developer and I think the majority of the audience will be normal people.

So I can't just talk about the tech

Interesting font, might be cool for hiding content on a client https://fonts.google.com/specimen/Flow+Block

Yes then need to review it and do a few tests to make sure the app still works and nothing is broken

I've notified them and hopefully It will be updated soon

#asknostr can someone help me with noStrudel S3 deploy? I'm trying to switch the next version over to being hosted on AWS S3 but I cant get the github action to actually deploy

https://github.com/hzrd149/nostrudel/actions/runs/10554429276/workflow

I have all the secrets setup and the IAM permissions but the action keeps failing...

https://github.com/hzrd149/nostrudel/actions/runs/10554429276/job/29236257623

yes, the dev version compiles every file individually. if you run "yarn build" then "npx serve dist" you will get the compiled production version

If you also have a web server you can copy the contents of the "dist" directory there to host nostrudel on the website

I'm on the lighter side <180lb so any mattress with springs has always been uncomfortable because I don't have enough weight to compress them

I've been happy using a solid foam mattress. Although I don't know if its memory foam