superseriousbusiness / gotosocial

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

[feature] Remove follower #3058

Open hl0dwig opened 1 week ago

hl0dwig commented 1 week ago

Is your feature request related to a problem ?

Sometimes, for some reason, I'd like to remove someone from my followers list. I'm not into blocking, just remove from the followers list, maybe later that personn could follow me back again, but I'd like to have the choice.

Describe the solution you'd like.

I'm using phanpy.social as my frontend app, on each follower there is an action called "Remove follower..." but for now nothing happens when I click on it. This is why I'm guessing it's not implemented in GoToSocial yet ;-)

Describe alternatives you've considered.

For now, of course I unfollow, mute, and sometimes block people.

Additional context.

No response

tsmethurst commented 1 week ago

Hiya, you can get around this with what's usually called "soft blocking", where you block and then unblock to clear your relationship to someone.

There's nothing in the activitypub protocol to force someone to unfollow you, unfortunately, but most servers do an unfollow as a side effect when receiving a block message, hence why soft blocking works.

hl0dwig commented 1 week ago

Thanks for this! I didn't know I was asking for something that doesn't exist 🤭

tsmethurst commented 1 week ago

I've just been told that the endpoint does actually exist in Mastodon (https://docs.joinmastodon.org/methods/accounts/#remove_from_followers) but I'll have to investigate how they actually do it on an ActivityPub level. If it just removes the follow on the local server it's not very useful, because the remote server will still think that their account follows yours. Opening the issue again pending this investigation.

tsmethurst commented 1 week ago

Alright, I asked around and it seems that Mastodon will send a Reject targeting the previous Follow to the remote server, with the expectation that the server will remove the follow from its local cache too. That seems sensible and like something we could support in GtS too, so we can consider adding this.