I liked this so much that I wanted to host it directly as the homepage of a khatru relay. So I started trying to extract the electron stuff that was hardcoded into it and ended up rewriting all the Nostr-related logic and some of the other parts too and ended up with https://git.fiatjaf.com/jouble It's hosted at https://jouble.surge.sh as a standalone web client, and embedded in https://pyramid.fiatjaf.com/browse for browsing just that relay (although it will load metadata, replies, reactions and parent posts from elsewhere when you click). nostr:nevent1qqsqqqqzzl4t0pkxuyy2plw8yrwpzc379ds0u6sqxvrwna5jarkeztcpzpmhxue69uhkztnwdaejumr0dshszrnhwden5te0dehhxtnvdakz7qgawaehxw309ahx7um5wghxy6t5vdhkjmn9wgh8xmmrd9skctc2wgfra
Take a look at jouble’s modifications later, and absorb some optimizations. 🫡
This is how you integrate it in your own relay, by the way: https://github.com/github-tijlxyz/khatru-pyramid/commit/928e801e69b137d52faeac89ba8ad0bb8734a147 Basically copy the HTML and host it somewhere -- make adjustments as necessary. Notice the window.relayGroups and window.hideRelaySettings options.
nostr:nprofile1qqsw9n8heusyq0el9f99tveg7r0rhcu9tznatuekxt764m78ymqu36cpz4mhxue69uhhyetvv9ujuat50phjummwv5hszymhwden5te0wahhgtn4w3ux7tn0dejj7qg4waehxw309an8yetwwvh82arcduhx7mn99uuwx66a, any thoughts on adding optional first-party integration support for Jouble on Haven? I’m happy to take this on, as well as add Jouble to the Docker Compose setup so users get “browsable” personal relays out-of-the-box.
We definitely want a browser, but I want to take a look at fiatjafs implementation as well before yoloing
In the meantime I also started this other library that can serve as a companion to nostr-tools for more high-level operations: https://jsr.io/@nostr/gadgets/doc For now it does a reasonably good job at fetching profile metadata and replaceable lists efficiently for pubkeys, eventually I want to make it do outbox-model style fetching of posts and also have custom relay selection and WoT handling for each kind of content that can have its own Nostr "silo", like marketplaces, wiki articles, long-form articles, livestreams, recipes, music, podcasts and whatnot following the vision of nostr:naddr1qqyrze35vscrzvfcqyghwumn8ghj7enfv96x5ctx9e3k7mgzyqalp33lewf5vdq847t6te0wvnags0gs0mu72kz8938tn24wlfze6qcyqqq823c0z85e2.
By the way, this library is only available on https://jsr.io/ so @Alex Gleason 🐍🚬 is happy.
God I love JSR. Good choice.
If someone wants to know every conversation being started on the topic Khatru, gossip, inbox or outbox, began by fiatjaf, nostr:nprofile1qqswuyd9ml6qcxd92h6pleptfrcqucvvjy39vg4wx7mv9wm8kakyujgpypmhxue69uhkx6r0wf6hxtndd94k2erfd3nk2u3wvdhk6w35xs6z7qgwwaehxw309ahx7uewd3hkctcpypmhxue69uhkummnw3ezuetfde6kuer6wasku7nfvuh8xurpvdjj7a0nq40 or nostr:nprofile1qqsyvrp9u6p0mfur9dfdru3d853tx9mdjuhkphxuxgfwmryja7zsvhqppemhxue69uhkummn9ekx7mp0qythwumn8ghj7anfw3hhytnwdaehgu339e3k7mf0qyghwumn8ghj7mn0wd68ytnhd9hx2tch2deau, in which no curse word or "gm" is said, here is the RSS link to it: https://nostr-to-rss.deno.dev/feed?users=fiatjaf.com,vitorpamplona.com,mike@mikedilger.com&replies=false&whitelist=khatru,gossip,outbox,inbox&blacklist=fuck,gm Powered by me Ps: the examples for blacklists is just to add some humor nostr:nprofile1qqsqgc0uhmxycvm5gwvn944c7yfxnnxm0nyh8tt62zhrvtd3xkj8fhgprdmhxue69uhkwmr9v9ek7mnpw3hhytnyv4mz7un9d3shjqgcwaehxw309ahx7umywf5hvefwv9c8qtmjv4kxz7gpzemhxue69uhhyetvv9ujumt0wd68ytnsw43z7s3al0v