superseriousbusiness / gotosocial

Fast, fun, small ActivityPub server.
https://docs.gotosocial.org
GNU Affero General Public License v3.0
3.69k stars 312 forks source link

[feature] Hide boosts from account and/or timeline #999

Closed zladuric closed 1 year ago

zladuric commented 1 year ago

Is your feature request related to a problem ?

I would sometimes like to have a timeline show me only "original content", not boosts from the people I follow. I understand that we may have two or even three issues, but I just want to document my thoughts so far.

[Problem 1]: Currently I have this workaround on the API level: for aperson I follow, I need to unfollow, then follow with { "reblogs": false } parameter set, which is highly inconvenient (and will probably spam them and help them decide to block me).

[Possible side issue 2/bug]: The UI I use, Pinafore, lets me click the "Hide boosts from " on user's profile, and POSTs to the same accounts/:id/follow with reblogs: false, but this does not update anything on the account. I'm not sure if this is the intended result.

[Problem 3]: Additionally to that, I would also like the timeline endpoints to let me choose between a clean and a "boosted by boosts" version, regardless of the individual account settings.

Describe the solution you'd like.

  1. I would like either:

The first thing would probably be better for now, even if semantically not clean, because Pinafore and possibly other clients work like this already.

  1. [Optional] I would like the show_reblogs parameter on the timeline/public and timeline/home endpoints to let me choose if I want boosts or just original posts and their replies. Not sure how this would work out in regards to people I follow posting replies - it's not a boost but a reply, but I don't remember if the toot API lets us distinguish between those.

Describe alternatives you've considered.

NONE

Additional context.

I like your work, people. I am opening tickets left and right these days, since I started self-hosting GTS, and you're very proactive in triaging them. Even though you said clearly that this is alpha software.

tsmethurst commented 1 year ago

Thanks for opening this! You can already apply filters with many clients (like pinafore) to not show boosts or replies in the home timeline :) So perhaps that's a decent solution in the meantime?

zladuric commented 1 year ago

Edit: Oh, I found it, thanks! I was not aware I can go into instance settings on the instance list page :)

It's not preserved accross my devices, but it works for me for now!

dmacvicar commented 1 year ago

show_reblogs seems to be unrelated. If I set it to 0 manually (sqlite) for an account, I still see boosts from that account.

tsmethurst commented 1 year ago

the POST to accounts/:id/follow would respect the change in reblogs flag,

This has now been fixed in https://github.com/superseriousbusiness/gotosocial/pull/1680

We still need to add some tests to make sure that show_reblogs is actually respected, because I think it might not be.

tsmethurst commented 1 year ago

Heya! I closed this with the above PR, which just ensures that the show_reblogs flag is respected properly. You can now update your follow by POSTing again to the follow endpoint with show_reblogs set, which is the expected mastodon API behavior.