Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Request]: filters #200

Closed
1 of 4 tasks
GeopJr opened this issue Apr 21, 2023 · 9 comments · Fixed by #800
Closed
1 of 4 tasks

[Request]: filters #200

GeopJr opened this issue Apr 21, 2023 · 9 comments · Fixed by #800
Labels
enhancement New feature or request

Comments

@GeopJr
Copy link
Owner

GeopJr commented Apr 21, 2023

Describe the request

#143

Implementation Details

  • This should be an option in settings.
  • This should be only available to some fediverse backends. (Include which ones on the above field).
  • This is client-only (and shouldn't sync with the instance).
  • This follows the GNOME HIG.
@nekohayo
Copy link

Note that while issue 143 was about linguistic filters, I would also love it if Tuba could apply the keywords/strings filters I have configured in my Mastodon instance's account, so that I can have either CWs or hidden (depending on how they're configured) toots in the timelines, lists view, searches, user profiles views, conversations, etc. (depending, again, on how the filter was configured in terms of scope). It lets me be subscribed to various topics (hashtags and people) without drowning in some specific sub-topics that I don't care about.

That's more complex than just language filtering, but I thought I'd mention it here since this ticket was titled very generically, so maybe you already had this in mind :) the Mastodon web UI already implements this, if it's any help in having some UI behavior reference.

@Froggy232
Copy link

Hi,
Any news on this?
I would really love to filter languages in the app, I think it would be a really great feature.
Thanks you a lot for you work!

@GeopJr
Copy link
Owner Author

GeopJr commented Feb 24, 2024

Okay so, I'll prioritize this for a second. I don't use filters so I need to know what's the expected implementation:

  • In settings I see "Hide with a warning" and "Hide completely". I assume this request is about "with a warning" and completely are handled already by the server (aka filtered posts with the "completely" setting are never sent to clients). Is that correct? Or do you still see filtered posts you've set to "hide completely"?
  • When the setting is "with a warning", would you like everything to be hidden behind a button or just the content - like content warnings? I assume the first one, right?

cc: @nekohayo (whenever you get some free time)

@GeopJr
Copy link
Owner Author

GeopJr commented Feb 24, 2024

I would really love to filter languages in the app, I think it would be a really great feature.

and from #143:

I would like to be able to have both features in Tuba, so that I can read things only in the 3-4 languages I actually understand in the home, search, hashtags, lists, etc.

Server-side, setting language filters only apply to public timelines (federated, local), not Home etc. And I agree with that for two reasons:

  1. Many people you follow who use multiple languages often forget to change from their default setting and most clients, when replying to a post, use the same language. E.g. Person1 posts ":cat:" with their language set to German. Person2 replies with ":3" with language also set to German because their client follows the post they are replying to. You can't see either and vice versa.
  2. Same old problem with any kind of client side filtering: What if your whole timeline is just in a filtered language? Do you expect Tuba to just spam the instance until it gets 20 non-filtered posts? That's bad both for UX and instance spamming. It has to be done server-side

@GeopJr GeopJr mentioned this issue Feb 24, 2024
@LukaszH77
Copy link
Contributor

The official Mastodon webclient hides everything:

Zrzut ekranu z 2024-02-24 16-59-09

But I like Phanpy's and Elk's behaviour more, because I can see who wrote that filtered post:

Zrzut ekranu z 2024-02-24 16-59-21
Zrzut ekranu z 2024-02-24 17-00-02

@GeopJr
Copy link
Owner Author

GeopJr commented Feb 24, 2024

On #800 I went with the first option

Screencast.from.2024-02-24.16-59-18.webm

Though, from a GTK perspective, I'd rather do the same as elk (re-use the content warning widgets).

My main concern however is that it might be too similar to the content warning one. 🤷 I'm okay with either so I'll leave it up to you all to decide

@algernon
Copy link

I'm in the "hide all" camp, because when I hide something, I'm not interested in who posted about it, I just want it hidden (until I completely remove it once I'm certain that I don't have too many false positives). A toot hidden via filters should, in my opinion, look different than a CW.

@LukaszH77
Copy link
Contributor

As I said earlier, I like knowing whose posts are being filtered, so I can decide if I want to see that post anyway. And being able to hide it back would be nice, in case seeing it was a mistake :)

@GeopJr
Copy link
Owner Author

GeopJr commented Feb 28, 2024

Language filters (the ones from the mastodon web settings) are NOT documented. I can mimic the request the web client does but it can change at any moment and it can break, so I'll not implement it for now.

The design at the moment is close to Mastodon's. I'm not opposed to adding more info (like avi and name) but I'll iterate on it at a later point, just to merge filters and get them tested asap

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants