So I'm new here - I wondered if there's a way to "block" entire other federations?
E.g. I've seen complaints about "exploding head" being a wellspring for undesirable content, so turning that off individually gives users control over their experience without giving a power of censorship to the admin of this instance.
Also there are servers out there where English is not the default language - which is of no interest to monolingual me. I'd rather turn off content from that server entirely rather than just playing whack a mole with every new community that gets federated(?) Across.
There are only two real levels/options available for us.
Server Admins: Defederation (which blocks every community for every user on that instance)
Users: Blocking a Community or User (removes that content from your feed)
What is coming out soon (I hope) will be the option for Users to perform a block/filter on an instance level. That would completely solve your problem as I understand it.
Kbin has the feature currently where it gives the users the ability to block a whole instance/domain, but lemmy does not have that ability currently. (specifically I think it would be lemmy-ui, the interface for lemmy that we at Reddthat use)
These issues are really only prevalent when browsing All. I think once people find communities they enjoy and subscribe to them, changing your default view to Subscriptions (via your settings) will completely remove any chance that you would accidentally stumble across their content.
I've broached the issue in the lemmy admin channels (regarding user-level instance blocks) but I do not believe it is on the table yet. I think it would be the best solution rather than defederating when there are some users who wish to view edgy-memes.
I hope that answers your points and gives you a better idea of what is coming for Reddthat and how we will deal with the issues that federation provides us.
Cheers,
Tiff
I do not know how quickly it would be implemented in Lemmy UI, but I fully expect a third party app like sync when it becomes available or connect at some point will support it.
When you request a list of posts, the return is in json. It should only be like 5 lines of code to filter out posts at an instance level using a third party app setting before displaying in the app.
Blocking on a native level will require a database to hold user block preferences, and then the server would have to look the user preferences and parse the json on the way out to fulfill the filter at a server level. At scale, this will be very resource intensive for instance servers, but would be much easier for performance if the filtering is distributed and done on the users computer.
TLDR: hard for Lemmy server to do, easy for third party apps.
This could be implemented natively with a DB list on the server side that holds the user block preferences and is presented to the Lemmy UI client and then some JavaScript runs on the user side that is supplied by Lemmy UI to block the instances in the view. Would take unification of implementation between server and UI code base, but it would not be 5 lines of code like it would be on a third party app with its own local user setting database.