Blocking an account that follows you, doesn't cause them to unfollow you

It may be just how ActivityPub works, and that I'm used to the Mastodon model, but I was surprised to see that blocking an account that follows me, still appears as a follower (albeit also that they are 'blocked').

I expected that the act of blocking them would also implicitly force them to unfollow me. Is that not the case?

Assigned to
2 months ago
2 months ago
No labels applied.

~tsileo 2 months ago

Hey, that's a good point.

Blocking is something done locally to prevent processing/showing activities from the blocked actor, but right now it does not try to make the blocked actor "unfollow" the instance.

It is not really specified in the ActivityPub spec, but Mastodon does suppport to "Undo{Accept{Follow}}" as a way to force someone to unfollow you.

It may not work with all instances, but I agree microblogpub should support that, I will work on it soon.

I guess I will make the server send the Undo and remove the actor from the follower in DB.


~mig5 2 months ago

Thanks! I realise now that yeah, they are two distinct things.. maybe if there was a button on each profile at /followers that said 'remove' (though I don't know whether people would get confused between that and 'unfollow' being two different things too.. we don't really have a word for 'Make them stop following me'. Maybe the buttons could be 'Unfollow them' and 'Unfollow me' ?).

And leave 'blocking' as a separate thing altogether since that already does its job.

~chrichri 2 months ago

Just out of curiosity: is it possible to force someone following me to unfollow me?

If so, which consequences does that have? Does it just block that exactly that @user:server.domain does not get any notification whenever I publish something new? But the user could still navigate to my website and read new content?

Could such a forcefully unfollowed user still read content that I marked as only visible to the timeline of my followers? (I'd expect so since the content published to my followers only is to my understanding public, but not referenced in any timelines)

Or to put it in other words - and I'd be happy to corrected if I'm wrong: an option to forcefully make some account unfollow myself doesn't make any sense despite me closing my eyes about the fact that someone is interested in my content?

The point I'm thinking about is that deleting a follower from the page of followers to make me forget that the account is interested in my public content doesn't seem to help much?

~tsileo 2 months ago

That's the next task on my todo list.

It was a foresight not to "force-unfollow" (by sending a Undo{Accept{Follow}}), I think it makes sense not to send "followers-only" post to an actor you don't want any interactions with.

For now blocking someone prevent the instance from processing/seeing any objects from the blocked actor, but I think it should also force-unfollow them to stop sending "followers-only" object.

After the upcoming change, If an actor is blocked/force-unfollowed:

  • they will still be able to see public objects from your website (and if their instance received the public objects)
  • they might stumble upon unlisted objects on another instance (e.g. a reply to someone they follow)
  • but they won't be able to see followers-only content (as it's only sent to follower and not accessible via the website/instance, even with the link)
  • any interactions on public posts will be dropped/not processed by your instance
  • depending on the software, they might receive a notification (for example, microblogpub does trigger a notification when someone unfollow you, and Mastodon does not)

I don't think having an option to just "force-unfollow" someone alone makes sense without being combined with blocking.

Let me know your thoughts!

~chrichri 2 months ago

I can just argue with a feeling about microblog.pub: it is nice to be close to the protocol in some ways. The software does not dwim 'do what I mean', but it does do only what I tell it to do. That is not very comfortable in all cases, but leads to a high level of control and a closer relation to the underlying protocol.

That said, I see your point and agree.

But I also see the situation (I'm probably not that user though) that someone would just like to have some person disappear from the inbox/stream, but wouldn't care that the same person follows and reads the posts published.

If I'd ever be in the situation I'd want to alter my reality by not listening to someone else I'd probably leave it up to that person if she wants to blend out my public sayings in her own reality.

So I'd prefer to have the option to mute someone (incoming noise) without protecting the same person from my outgoing noise ;-). I guess 'mute' is what the function 'block' does, right?

A request for similar functions (do not want to read - functions) I just put into https://todo.sr.ht/~tsileo/microblog.pub/37 .

Register here or Log in to comment, or comment via email.