Improved Blocking
Requirements
- [x] There are no existing issues for this feature.
- [x] This is a request for a single feature (create multiple issues for multiple feature requests).
Description
Enhance the current blocking to better meet our users' needs:
- Differentiate keyword and string literal blocking. Currently we only offer keywords, but this doesn't work if a user wants to block tags like
[M], especially since those are sometimes embedded in words without spacing. String literal blocking would simply check if the given string appears anywhere in the post title. - Add website blocking. I've seen a couple posts around Lemmy asking if this feature exists anywhere. Simply filter out posts that point to a particular host.
Lemmy 1.0 has backend support for both keyword filtering and website host filtering iirc. PieFed also has these but I'm not sure of the API status
IMO if both platforms support this, we should use the backend implementation rather than doing it locally.
The downside of the backend implementation is that it is tied to a single account, while presumably users want these filters to be global. We have a couple ways to approach that:
- Use the backend implementation, and let the users handle synchronizing accounts
- Use the backend implementation and give the users a tool to synchronize filters between accounts
- Use a wholly client-side implementation
- Offer both client-side and backend filtering. This is the most powerful, but probably confusing
Yeah, that's a good question 🤔 I'm torn between these two:
Use the backend implementation and give the users a tool to synchronize filters between accounts Offer both client-side and backend filtering. This is the most powerful, but probably confusing
I think including the backend system is important. We don't control whether a user sets filters up on desktop, for instance.
If we stuck to just the backend system, we'd lose the ability to turn the filters on/off with a simple toggle.
UI note: https://github.com/mlemgroup/mlem/pull/2454#discussion_r2551123672