noStrudel NIP-72 Moderated Communities update

I've got to start packing for #nostraisa so now is as good a time as any to release another update

This time its all about NIP-72 Moderated Communities

TLDR; noStrudel now support all the community features that satellite.earth supports

Changes:

- Add voting and Approval to community posts

- Allow users to create and edit existing communities

- Show the communities a user has join in their profile

- Make community view usable on mobile

- Show community members in community view

- Add option to search for notes in search view

Fixes:

- Better support for non-english hashtags

- Center page layout

- Fix reaction counts when user react multiple times

- Only show first 10 badges on user profile ( saves data )

You can find the client here https://nostrudel.ninja/ or run it using docker "docker run --rm -p 8080:80 ghcr.io/hzrd149/nostrudel:master"

Come join the noStrudel community? nostr:naddr1qqykum6nw3e82er9dsq3zamnwvaz7tmwdaehgun4v5hxxmmdqyxhwumn8ghj7mn0wvhxcmmvqgszv6q4uryjzr06xfxxew34wwc5hmjfmfpqn229d72gfegsdn2q3fgrqsqqpphk8c2vfk

P.S. 25% of zaps on this note go to nostr:npub1lunaq893u4hmtpvqxpk8hfmtkqmm7ggutdtnc4hyuux2skr4ttcqr827lj for building satellite.earth which helped me learn how NIP-72 works. and 25% with nostr:npub1r0rs5q2gk0e3dk3nlc7gnu378ec6cnlenqp8a3cjhyzu6f8k5sgs4sq9ac for nostrdesign.org because I also stole all his designs

Reply to this note

Please Login to reply.

Discussion

Lobely. Nice to see a Community post feed too:)

Commenting from within the community! Nice....looking great if I may say!

enjoy the trip !

So far the best web client

If you're all about replacing Reddit with Nostr's Moderated Communities, then this update is for you. The noStrudel web client just got a whole lot better.

nostr:nevent1qqspqlhcjcsna0a9gcj84xpdeprqrs3c3mh0tryky2x9209lrdcqzscpz9mhxue69uhkummnw3ezuamfdejj7q3qye5ptcxfyyxl5vjvdjar2ua3f0hynkjzpx552mu5snj3qmx5pzjsxpqqqqqqzfm6ddz

Releasing to prod on Friday. I like it.

🤣🥰

👏 design stealing highly encouraged! 😆

“Invalid lightning address “ when trying to zap you

How much P2P is this communities thing in a scale from 0 to 10?

Well the community definition even has "relay" tags. Which can be used to tell the clients what relays to use. So maybe half way P2P?

Wishlist:

- New comment overview. Right now I have no idea if a new comment comes in or where to find it.

- It's a bit odd that people who are not in my community are responding to comments without joining the community. That means I have no way to moderate conversations.

The first can be fixed with a better notifications view and maybe a live notification sound.

As for the replies being unmoderated. I don't know what the original intention was. But I think it might be better then the mods having to approve every comment

based. you are actually the only nostr dev that is not a retard and makes a useful application

Nostrudel.ninja is only missing the automatic translation of the notes and then it would be perfect for me.

nostr:npub1ye5ptcxfyyxl5vjvdjar2ua3f0hynkjzpx552mu5snj3qmx5pzjscpknpr if you need a LibreTranslate endpoint to test against, hit me up.

Transactions is probably one of the oldest things on my to-do list. Ive tested LibreTranslate although I couldn't figure out how to make it ignore URLs and other non word content.

Interesting. I might look at how some of the other FOSS clients do this sometime this week.

oops, I meant "Translations"

I wrote some custom filtering when we do translations with nokyctranslate.com, which I run which filters out certain patterns like urls, e-cash nuts, etc. I mostly did it so that what is translated is shorter and thus cheaper.

I’d be happy to work with you to integrate it as a paid translation option for your client. I did it on damus, which also supports another paid (non btc though, cc only) DeepL.

I’m really excited about your client btw!

Removing the URLs is only half the problem. You have to add them back in the correct position. And since the text is translated the length and position has changed

Yep, that’s what we do. A special syntax counter keeps track of where each piece of non translated text goes and inserts it back in after we get the translation. This does assume the translation service will leave the symbol of the counter untouched. Currently we use AWS machine translation as the translator and it’s nearly perfect at leaving the symbols in place. Haven’t tested LibreTranslate tho.

While our code isn’t open source, I’d be happy to share my logic there as I wrote it in python.

Are you open to offering paid translation services through the client? You could offer libre translate as a free option as well. That’s what damus has.

*untouched and in the right position.

Traveling now but can shoot you over my code logic later tonight, in case it’s helpful.

I have similar issue when using LibreTranslate to detect language. The quality and the performance can be lower whenever involves text with url and non word (symbol). Have to use regex to remove those url and symbols 😅

I have take a look at Mastodon source code, the interesting thing is it seems they don't preprocess any text before request translation

https://github.com/mastodon/mastodon/pull/19218/files