Calculating the WoT does take a while, so I need to find a way to either download a pre-built one or somehow have the app build it in the background without slowing the app down
good idea. should also help to see if something went wrong and you have 0
Most web clients cant easily validate the hashes since its not possible to get the raw blob from a element. I have a button to do it in noStrudel but the user has to intentionally click it
Also it does not detect https://github.com/willnorris/imageproxy which is the image proxy that noStrudel can use :)
https://api.nostr.land/detect-cache/v1.jpg" class="embedded-image" loading="lazy">
What are you using to detect proxies? User agents?
Also blossom can help prevent tampering with media since the files sha256 is in the URL which is in the signed event
Finally found a way to implement WoT filtering that I like in #noStrudel
https://cdn.hzrd149.com/d584b86bfe06b75027ecf505083fb65b040d5a49510283e211da611635af5d9d.webp
Yeah, sorry it's. Alittle hidden in the menus
I'm not accusing him of it, at least not till I see convincing evidence. But either way I don't think porn spam is good for nostr while it's growing.
The porn scares of new users and makes existing users leave.
Spam attacks are expected and clients and relays are trying to find new ways to mitigate them, but when you spam porn your not just spamming your trying to hurt the small community
gn Nostr
a lot is coming to https://nostr.land⦠what is your biggest complaint and/or favorite feature?
very small complaint. there are lots of layered dialog modals :)
https://cdn.hzrd149.com/4dfdb31ae7d25cd121f0e20f8eec73fe98a31792d0ab66a7cff09fdc43534c1b.webp
Hi nostr:npub1fjqqy4a93z5zsjwsfxqhc2764kvykfdyttvldkkkdera8dr78vhsmmleku.
Kindly go fuck yourself.
nostr:note14qklh45n8gpjmr55hunr7l9fd35n0h0qhyp3usav7tycknddxwdqw3wheg
Well this should be interesting...
Introducing: https://playground.chat
Prompt up to 4 AI models at once and save up to 80% on AI subscription fees.
Instead of subscribing to each AI provider individually, get access to over 40 models under one app, starting at just $10/month.
https://v.nostr.build/O07Y5k49PlFzOBxC.mp4
Free queries available for everyone to start without logging in, feel free to give it a spin!
Look forward to your thoughts and thank you for noticing there is no nostr login (it's not a nostr app)
And now it just needs another AI to summarize the differences π
Is this also a blossom server? And what defaults does it have?
Setup a new relay wss://relay.nsite.lol that only accepts kind 34128 and NIP-65 events for nsites. it shouldn't have a publishing rate limit and its max request limit it set >1000 so that its easy to download all events for an nsite
so if your deploying your app using nsyte, nsite-cli or any of the other tools at https://github.com/nostrver-se/awesome-nsite make sure to add it to the relay list
also setup https://nsite.lol to use it as the first relay to check, so it should make things a little faster and more consistent
cc. nostr:npub1uac67zc9er54ln0kl6e4qp2y6ta3enfcg7ywnayshvlw9r5w6ehsqq99rx nostr:npub1q3sle0kvfsehgsuexttt3ugjd8xdklxfwwkh559wxckmzddywnws6cd26p
Looks good but thats a lot going on. maybe it would make sense to have it in two steps? first date then time
I think your right, the only other one off use case I could think of where the client would need a filter instead of sorting would be if they wanted hide zaps / reactions or browser "global" on a relay. but none of those are things I'm trying to implement :)
I'm going to try and setup a relay for nsite.lol so that its a little faster and easier to deploy to :)
nostr:nprofile1qqswwud0pvzu362lehm0av6sq4zd97cue5uy0z8f7jgtk0hz368dvmcpz4mhxue69uhhyetvv9ujuerpd46hxtnfduhsz9mhwden5te0wfjkccte9ehx7um5wghxyctwvshsz8thwden5te0dehhxarj95crztnev94kj6r0dehx2tnrdakj7qzz7r2 , nostr:nprofile1qqszv6q4uryjzr06xfxxew34wwc5hmjfmfpqn229d72gfegsdn2q3fg729x4s , nostr:nprofile1qqst03hkj9w04xnzllm2rupxqn0g3s3ud3kx6xu0vtrucyr5nuc8aqgxwkfet , nostr:nprofile1qqsvl47lvfue5ghrsjj2khdgcspxep6mzxws737zw94jpndvnnqlrfsn78xj2 nsyte has become incredibly easy to use - especially compared to half a SEC-03.
nostr:nprofile1qqs2qzx779ted7af5rt04vzw3l2hpzfgtk0a2pw6t2plaz4d2734vngpzamhxue69uhhyetvv9ujumn0wd68ytnzv9hxgtcppemhxue69uhkummn9ekx7mp0qy2hwumn8ghj7un9d3shjtnyv9kh2uewd9hj7hycrvd I am firmly convinced that ngit is unstoppable now that there are nostr enabled git servers.
Thanks for all the work you guys have clearly put in!
Pretty sure I remember telling you it was just going to take time and some work π
But I'm glad to hear its working for you. next step is probably to integrate it into some browser or something with a browser extension
nostr:npub1ye5ptcxfyyxl5vjvdjar2ua3f0hynkjzpx552mu5snj3qmx5pzjscpknpr I wonder why here the video defaults to English while on YouTube it defaults to German. I'm German. Did I set this preference in my browser or in YouTube? Should noStrudel do something so I can see it in German here?
I don't think I'm setting any language settings when embedding the video. so maybe youtube defaults to English when its embeded
I'm not too worried about the server lying, since ideally users could choose their provider or maybe run their own.
The way I see it there are two uses for pagerank or "WoT"
1. The client wants to hide content that is outside of the users social network (subjective distance or score)
I'm not sure how this could work without the server sending the whole graph (probably Mb of data) or the client making API requests to check each pubkey (not great for privacy)
For this case I think the simple kind:3 WoT is good enough, at least for now
2. The client wants to sort events or pubkeys by "reputation" or score
Vertex already does this well for user search ( query -> pubkey[] ) but it may be useful to have some kind of generic sorting method for events to allow a client to sort replies ( again probably bad for privacy )
I tend to agree with nostr:npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn. I want my client to work without a dependency on a server. but I'd also like to integrate with some kind of server to improve performance or to get better sorting / filtering results
Random thought. maybe bloom filters could be space efficient way to handle the filtering use case? I don't know much about them but AI says they are used to prove an ID is within a set
I'm not too worried about the server lying, since ideally users could choose their provider or maybe run their own.
The way I see it there are two uses for pagerank or "WoT"
1. The client wants to hide content that is outside of the users social network (subjective distance or score)
I'm not sure how this could work without the server sending the whole graph (probably Mb of data) or the client making API requests to check each pubkey (not great for privacy)
For this case I think the simple kind:3 WoT is good enough, at least for now
2. The client wants to sort events or pubkeys by "reputation" or score
Vertex already does this well for user search ( query -> pubkey[] ) but it may be useful to have some kind of generic sorting method for events to allow a client to sort replies ( again probably bad for privacy )
I tend to agree with nostr:npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn. I want my client to work without a dependency on a server. but I'd also like to integrate with some kind of server to improve performance or to get better sorting / filtering results
nostr:npub1g53mukxnjkcmr94fhryzkqutdz2ukq4ks0gvy5af25rgmwsl4ngq43drvk double ratchet encrypted messages. I'd like to build a simple client for it to see I can understand it.
Once I finish NIP-17 support I think I'm going to start looking into nostr:npub1g53mukxnjkcmr94fhryzkqutdz2ukq4ks0gvy5af25rgmwsl4ngq43drvk double ratchet NIP. It requires the client to keep state, but If I remember correctly it requires a lot less decryption requests from the users pubkey since it uses rotating random keys
Been reading this, so this is where my mind is at https://cdn.hzrd149.com/1dce528f7f612dc2a8ee11064cdd38913f65e915784402341554b02c5be59374.webp
Out of all the apps and libraries I've built I'm probably most proud of the applesauce-relay package.
In ~1.5k lines of code I've managed to build the cleanest API for connecting to relays, and its all stream based so its super flexible.
Also did I mention it also supports client side negentrapy sync? ( although I haven't found a use for it yet π₯ )
I'm looking for help with this issue https://github.com/max21dev/groups-relay/issues/4
I'm using groups-relay which is built on top of khatru to host the noStrudel, blossom, and nsite groups. but there is an issue with chachi / flotilla and the relay which is making it so when users send messages the relay rejects them and no one else in the group see them
I'm not sure whats going on and I don't have the ability to debug it without taking a week or two to learn go
It does not support NUT-18 payment requests π
> do you not think that relays should protect the privacy of users DMs?
Please rewrite the github issue without the snide remarks...
The existing v0.42.0 version is using nostr-tools and custom auth handling logic. there aren't any checks if a relay needs auth before making a REQ so it probably keeps spamming REQs while its waiting for the user to approve the authentication
The next v0.43.0 version is using rx-nostr which has checks if relays require auth. the auths still have to be manually approved by the user (or auto if an option is enabled) but this should at prevent the app from spamming REQ while the auth process is happening
I like the idea of giving clients partial results, but I'm starting to think its too complicated to communicate.
That's a signature of nothing though. sure the pubkey signed that event but it only proves that they signed a k:33333 event, it doesn't relate to the feed at all
For example I could easily copy that feed, modify it, host it on my own site and say its your feed
https://npub1ye5ptcxfyyxl5vjvdjar2ua3f0hynkjzpx552mu5snj3qmx5pzjscpknpr.nsite.lol/feeds/example.xml
The difficulty of cryptographic signatures is that they only work if your able to hash and sign the content itself. otherwise they are kind of pointless
If the k:33333 signed the feed GUID then that at least would prove that you say you "own" the GUID, but still the feed could be modified and there is know way to know what the original one is π
1. Read through the NIPs and if your use case sounds somewhat like what they are designed for. look into using them, otherwise invent your own and ask for a lot of feedback from other devs
2. Pick your favorite number. your birthday. the birthday or your cat. anything as long as you are reasonably sure your not going to conflict with other developers. (you can check this by querying popular relays)
3. Draft a new NIP before your finished. IMO the purposes for NIPs is to *invite* other developers to work with you by explaining to them how your data is structured and what its used for
4. Write it as simple and strait forward as you can, don't explain why users use your app / event kind. instead try to explain to other devs how they can use your new event kind
5. IMO there really isn't a "process". the closest thing we have to a process it the requirement that at least two independent clients implement the standard. beyond that its just developers arguing on the internet...
I would say a good way to think about NIPs is "an invitation for integration". your not writing a standard that will be enforced on other developers. your writing an invitation to ask them to work with you. and generally invitations are best kept short and to the point (think of wedding invitation cards)
Then if they accept, you get to share users and both your apps get better
I couldn't help myself π
nostr:naddr1qvzqqqr4gupzqfngzhsvjggdlgeycm96x4emzjlwf8dyyzdfg4hefp89zpkdgz99qyw8wumn8ghj7umpw3jkcmrfw3jju6r6wfjrzdpe9e3k7mf0qyf8wumn8ghj7mn0wd68yat99e3k7mf0qq2xgmmwwskkyatfd3jz6mmw94ek7cmfv9kqv738cv
Cant remember where I learned it, but its one of the few commands I've memorized
One of the most useful linux commands I know "fuser -k
that or a simple SQL database, AI's aren't the best tool for analyzing large amounts of unknown data
Gladly, let me know when it's ready
