Damus
Joey (NostrComments) profile picture
Joey (NostrComments)
@Joey_NostrComments

I build NostrComments — a browser extension that adds a censorship-resistant comment section to every website, powered by Nostr — and Attest, a Nostr signer for Firefox that holds your key so a website never has to, and asks before it signs anything. Free and open source, always.

NostrComments for Firefox:
https://addons.mozilla.org/en-US/firefox/addon/nostrcomments/

NostrComments for Chrome:
https://chromewebstore.google.com/detail/nostrcomments/ebmgdpicceaencegknannfaljhbfgido

Attest for Firefox:
https://addons.mozilla.org/firefox/addon/attest/

Monero: 87aDTPD9HQx2QenKsS7MvHDdqsziFPD7UB37X6G5XVXc2ZPhAs8DdEKUPYJijVcRjj1gU5KvxLCTfWUKWqrd1D5o8uw5EpM

Relays (4)
  • wss://nos.lol/ – read & write
  • wss://relay.primal.net/ – read & write
  • wss://nostr.mom/ – read & write
  • wss://relay.us.whitenoise.chat/ – read & write

Recent Notes

Joey (NostrComments) profile picture
A few releases of NostrComments since last time: the floating button dims unless you hover it, can be dragged to a corner instead of only picked from a menu, and can now be turned off entirely in settings. With it off, the toolbar icon becomes the way in instead — and now shows how many replies you haven't seen yet, so that's still covered.

https://briskness-byte.github.io/
github.com/briskness-byte/NostrComments
𝕋ℍ𝔼 𝕋𝕆𝔻𝔻𝕊𝕋ℝ · 2d
The little floating button
Joey (NostrComments) profile picture
Thanks for confirming! Good timing — I just shipped exactly that: the button dims by default now, and hovering it shows a small × that turns it off on that site in one click, no settings menu needed. It's live now on GitHub and Firefox (AMO), and submitted to the Chrome Web Store — that review usually takes a few days. Will ping you when Chrome catches up, if you want.
1
𝕋ℍ𝔼 𝕋𝕆𝔻𝔻𝕊𝕋ℝ · 2d
no idc about Chrome
𝕋ℍ𝔼 𝕋𝕆𝔻𝔻𝕊𝕋ℝ · 2d
I had the plugin but I hated how much space it took up & removed it for that reason
Joey (NostrComments) profile picture
Appreciate you saying so, that's useful to know. Quick question so I fix the right thing: was it the little floating button sitting on every page, or the panel once you opened it? (I'm the dev, btw.)

If it's the button: it can be dragged (or set in settings) to whichever corner is free and that's remembered per site, and there's a per-site off switch too. If it's the open panel taking over the screen, that's actually the next big thing I'm working on — moving it out of the page entirely into the browser's own sidebar, so it never overlaps anything.
𝕋ℍ𝔼 𝕋𝕆𝔻𝔻𝕊𝕋ℝ · 2d
The little floating button
Mr. DevCrafter · 2d
I liked what one or two people said below. nostr:npub1ewxm82gprxwkh9qznauyey6vwx62xetpsux3prnmddkyevasatgswmds9e mentioned a good example. 1. Imagine someone named Bob reads a normal blog post and h...
Joey (NostrComments) profile picture
Thanks for picking that up @Mr. DevCrafter , that's pretty much exactly it. One small nuance: the key lives in the browser until Bob chooses to export it (as nsec, or connect a client with NIP-07) — not automatically on his phone, but one copy-paste away whenever he wants it. And agreed on #2 — the bottleneck isn't really Nostr itself, it's getting people who already care about open protocols to notice it exists.
❤️2
𝕋ℍ𝔼 𝕋𝕆𝔻𝔻𝕊𝕋ℝ · 2d
I had the plugin but I hated how much space it took up & removed it for that reason
GM Bot · 3d
GM nostr:npub1ewxm82gprxwkh9qznauyey6vwx62xetpsux3prnmddkyevasatgswmds9e pura vida! 💜
Nostrich · 4d
Genuine question: How do we grow Nostr and bring in people who’ve never heard of it? What are some bold, unconventional, or even radical ideas? #asknostr 💡
Joey (NostrComments) profile picture
One idea (disclosure: it's mine) — meet people where they already are instead of asking them to install a client first. NostrComments puts a Nostr-backed comment thread on any website; reading needs zero signup, posting needs a key. No 'come to Nostr' wall.
1❤️1❤️1
𝕋ℍ𝔼 𝕋𝕆𝔻𝔻𝕊𝕋ℝ · 3d
Does that post to Nostr?
fiatjaf · 1w
Developers should stop trying to address Nostr as if it was a single community. That is not working.
Joey (NostrComments) profile picture
A URL-keyed thread is one place this shows up for me. A comment is filed under a page address rather than a community, so there is no owner to moderate it and nothing to join. That makes it easy to read across clients, but it also means nobody is in charge of what sticks. Where do you think that should sit: with the relay, the reader, or the page?
❤️1
Joey (NostrComments) profile picture
If your browser extension uses sender.tab to tell web pages apart from its own pages, check this. I got it wrong in a signer and it cost me a release.

The background script refused privileged messages, like setting a PIN, whenever sender.tab was set. The reasoning: content scripts run in tabs, so a message with a tab came from a web page.

But the extension's own options page has a tab too, as soon as it is opened in one. So the extension blocked itself. PIN setup didn't throw an error or show a warning. It just did nothing.

The check that means what you intended is the sender's URL, not whether a tab exists: compare sender.url against browser.runtime.getURL(''). Your own pages pass, and anything a content script relays from a web page does not.

The second half of the same fix: the content-script bridge now forwards only an explicit list of message types. Before, some handlers were out of a page's reach only by accident, and an accident is not a boundary.
❤️2
Joey (NostrComments) profile picture
NostrComments 23.4.0 is out. A reader of the extension — Emre Yılmaz ( @Emre Yilmaz ), blog.emre.xyz — wrote up a discovery convention for pages that are also native Nostr content: a <link rel="alternate" href="nostr:naddr…"> tag, so a client can find the entity a page already is. Sent it in as a proper draft, trust considerations included.

Built the read half of it — a page naming its own Nostr entity now has that thread merged into the panel, alongside the URL-scoped one. Thank you for taking the time to write it up properly Emre!
2❤️2❤️1