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

The current version of noStrudel does not verify any event signatures. the option "Show signature verification" only verifies the signatures after the fact and shows a the result on the post.

This is something that was left over from about 6 months ago when I was building noStrudel to be my personal nostr reading client and I've honestly forgotten about it until recently.

The reason I initially didn't have it verifying signatures was I wanted to see everything returned from a relay and see if I could find relays that where returning invalid events. unfortunately I didn't find any bad actors and so I forgot about signature verification being off

The next.nostrudel.ninja version of the app does verify signatures but its also got some timeline loading bugs I'm working out. also as you would expect its about 20% slower due to the computation needed to verify signatures.

However this gave me a few ideas to explore.

I'm planning on adding an option to use WASM to verify signatures using "nostr-wasm" and the option to option to keep signature verification off in the case where you trust the relays your connecting to

I don't think this really makes pagination easier or simpler. as things are right now pagination is pretty simple

Example relay pagination in typescript https://gist.github.com/hzrd149/19f824060de778c71a7b09965442448d

With the exception of the "cursor" extension everything in this NIP can be done using the "until" filter field and watching how many events are returned in the REQ

nostr:npub1ye5ptcxfyyxl5vjvdjar2ua3f0hynkjzpx552mu5snj3qmx5pzjscpknpr

so i have now tested it, with my code working properly, and two things are happening that you might need to look at:

- notification messages don't appear at all with no database mode on and everything coming from the relay - i think the queries are not being made correctly

- messages are also not appearing, again, this seems to be connected to the previous

in general, there is now a minor new bug that the notifications, even in browser cache mode, are not being fetched, except if you reload the app (alt f5/ctrl-R)

i suspect there is a connection between all of them

also, thanks for doing the thing with the database options... not sure i like the layout (don't see why it can't be in the database tab at the top of settings) but it's working and helps with developing relays... when you fix the message/notification queries issue it will be platinum plated epic

nostr:nevent1qvzqqqqqqypzqnyqqft6tz9g9pyaqjvp0s4a4tvcfvj6gkke7mddvmj86w68uwe0qyt8wumn8ghj7etyv4hzumn0wd68ytnvv9hxgtcpzfmhxue69uhhytndd3jkkafwv3jhvtcqyqgm3lgj0hz5yrjzqt52x00m94gpmc7l4yudhn3njkcyfazl2shnkmajw5p

yeah I've been noticing the issues with notifications and messages. Its not due to the no-cache or in-memory cache options but when you remove the cache it becomes a lot more apparent.

I think its due to how the relay connection and subscripts are handled under the hood. I've been switching out the relay class and it seems to be causing some issues

nostr:npub1euf6fazk9zf378xmulf3ly3mda5gf4qkgj4jesz45rsgqkmhew0qvuhpug is probably the coolest DVM created so far. Its fun browsing my feed and finding random notes to make it read aloud

No I just wrote my own, pretty simple and still less then 100 lines of code. It also has some logging that ties into the rest of the app

https://github.com/hzrd149/nostrudel/blob/next/src/classes/memory-relay.ts

The No Cache option disables the local relay cache. however profiles and some timelines (notifications, feeds) are still cached in memory

So it should work for your use case right?

More cache relay options in #noStrudel... or non-options

The in-memory relay is kind of cool because you can see all the events that are loaded for single session. It also supports importing and exporting those events 😀

I'm also finding it great for finding bugs with how things load in the app. turns out if you remove the cache you can see if things load correctly

Thanks to nostr:npub1fjqqy4a93z5zsjwsfxqhc2764kvykfdyttvldkkkdera8dr78vhsmmleku giving me the idea

The changes are only in next.nostrudel.ninja version for now

nostr:npub1ye5ptcxfyyxl5vjvdjar2ua3f0hynkjzpx552mu5snj3qmx5pzjscpknpr the notifications page has to be forced to refresh to update, it can fall very out of date, like hours or more in a session

is this on the next.nostrudel.ninja version or nostrudel.ninja? I'm doing of bunch of work on the relay code under the hood on the next version and its causing some bugs with timelines and notifications loading

A sad day for sure, there wont be any more posts about AC units or st. louis 😥

The last I heard I think she said she was taking a break. although I don't know if that means she will be back in the future

30023 long form notes. I think they show up on habla.news and yakihonne.com

Replying to Avatar Thomas

Who’s an Alby user with an iPhone?

Try out the Boostz beta: https://testflight.apple.com/join/UVmwmzQI

Comment here letting me know what you think. I’m in the mood to zap!!⚡️⚡️⚡️

I don't have any iphone.... what dose it do?

thanks for lining them all up. this is probably the easiest recipe to follow :)

I really like the idea and I'm going to try to start using it more and zapping 😀

Awesome, it worked and seems a bit faster. but ill give you an A- because you pushed a breaking change on a patch version 😀

I set it to 100 and it seems to be handling it fine, at least on desktop

so, it looks like #nostrudel nostr:npub1ye5ptcxfyyxl5vjvdjar2ua3f0hynkjzpx552mu5snj3qmx5pzjscpknpr is now doing some relay hunting, and i've had to manually block all the domains doing it

somehow the profile event is being found even with all of theme blocked... i can only speculate this is browser caching, and then it loads the profile image of course

but i can also confirm that the relay is sending this event as well on request, it's just funny because literally all relays are blocked except mine and mine is not running so it's getting nothing and i don't have cloudflare or anything... yeh must be browser cache

nope, cleared it fully out, still it's managing to find my kind 10002

no big deal, but it does complicate my testing process at this point

i've been discussing the idea that some types of event should be broadcast everywhere just that this is unhelpful for this particular case

There is one hard-coded relay in noStrudel that is used to find users metadata and k:10002 its probably the thing thats still fetching the events https://github.com/hzrd149/nostrudel/blob/master/src/const.ts#L10

1 and 2 levels of trust seem possible to calculate client side. any more and your dealing with too much data

Replying to Avatar Sebastix

nostr:npub1ye5ptcxfyyxl5vjvdjar2ua3f0hynkjzpx552mu5snj3qmx5pzjscpknpr Where can I submit a feature request to optimize the listview of npubs without the impersonators?

consider your feature request officially submitted. although to fix this would require a web of trust so it could sort the npubs by distance to yours

Took the test and I guess I'm Gryffindor. not quite sure what that means though

Oh. That's an interesting idea, I'll give it a try. Although I think it might be more confusing then anything else

looks cool however I'm not interested in building UI apps that require a server to be served to the user.

They have a lot of cool features, however they are really difficult to host on your own hardware or statistically on s3

Feels good to work with familiar code again after three weeks of working with svelte in blossom drive 😀

Its similar to IPFS in that is uses a files hash as its ID. however it doesn't necessarily have any P2P code. so it should be much simpler to build on and run yourself

*opens noStrudel*

*starts reading notes*

*gets a few pages down*

realize wifi is off an I'm just browsing cached notes....

Found it. I'm going to bookmark it for later

Dose anyone know if its possible to setup nostr-rs-relay or nostream to keep and return all versions of replaceable events?

I'm building another nostr app, and it needs version history thats not just stored locally in the browser cache

Your only going to be able to run linux on it. so you would have to give up MacOS. but its a great laptop

I had one issue with one of the memory modules failing and I had to take it out and only run on one. but luckily the laptop is super easy to open up and replace parts

Read through it. I don't think it covers the same use-case that #Blossom dose

This looks like a good way for clients to load blobs and verity the contents. although it dose not cover re-uploading blobs or censorship resistance

Write it up here but maybe also write it on https://wikifreedia.xyz/

Could be useful to link to it in the future