LemmyNet / lemmy-ui

The official web app for lemmy.
https://join-lemmy.org/
GNU Affero General Public License v3.0
895 stars 334 forks source link

Add option to hide NSFW communities from "All" feed, while still allowing users to visit NSFW communities and see other NSFW marked posts in non-NSFW communities. #1201

Open bdonvr opened 1 year ago

bdonvr commented 1 year ago

Is your proposal related to a problem?

I'd like to be able to view NSFW content, but generally don't want to see porn communities while browsing. I could toggle the NSFW setting in my profile page, but that would be inconvenient to have to undo and redo every time I want to visit a NSFW community. I also want to see NSFW tagged posts from non-NSFW communities as they're often marked that way for reasons other than being sexually explicit.

Describe the solution you'd like

Add a checkbox to the top of the feed that says something like "Hide NSFW communities". It should probably be enabled by default. Or this could go in the user settings page. This way users can seek out NSFW content when they wish, but not have porn randomly in their feed.

Describe alternatives you've considered

I've tried just using the default NSFW user settings, but it makes for an inconvenient experience and leads to missing non-explicit posts labeled NSFW.

csm10495 commented 1 year ago

Please ensure this option is user-facing and not at the instance-wide level.

Neshura87 commented 1 year ago

The lemmy backend already has the option "hidden" for a community. Once set the affected community will not appear in local or all feeds unless the user is subscribed, I think exposing this route on the front end via an admin setting "Hide NSFW from Feeds" and then iterating over all NSFW posts to enable the flag would do most of the work. I don't know how the UI could still fetch the hidden posts if a user wants to though, I'm not familiar with the codebase.

edit: see this PR for more info on the backend https://github.com/LemmyNet/lemmy/pull/2055

tomharmon commented 11 months ago

IMO this should be an instance wide setting. If a user wants to see content from a nsfw community they can subscribe to it and see it in their subscription feed

pixiekat commented 11 months ago

IMO this should be an instance wide setting. If a user wants to see content from a nsfw community they can subscribe to it and see it in their subscription feed

If it's instance wide though wouldn't that kill discoverability? Because how would someone come across the community and decide they want to join if it's only accessible by accessing it directly and subbing to it?

tomharmon commented 11 months ago

What about if you want to run a small instance for friends and family, and then someone on the site subscribes to a bunch of porn, then none of your friends and family want to use Lemmy anymore :( . This happened to me. People who are interested in following that content could run their own small instance, or find another instance that doesn't hide these communities on the home page. WDYT?