mlem icon indicating copy to clipboard operation
mlem copied to clipboard

Improved Blocking

Open EricBAndrews opened this issue 2 months ago • 3 comments

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.

EricBAndrews avatar Oct 09 '25 23:10 EricBAndrews

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.

Sjmarf avatar Oct 10 '25 07:10 Sjmarf

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

EricBAndrews avatar Oct 10 '25 15:10 EricBAndrews

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.

Sjmarf avatar Oct 10 '25 16:10 Sjmarf

UI note: https://github.com/mlemgroup/mlem/pull/2454#discussion_r2551123672

EricBAndrews avatar Nov 23 '25 00:11 EricBAndrews