rework user blocks, mutes and other relationships
User relationships (following/followed-by, blocks, mutes) should be reworked to be a generic Relationship type.
The relationship type should explicitly define what rights are granted by the relationship. This includes revocation of rights that are held by the general public.
Some examples:
-
You follow another user, but you don't want to see the interactions between them and their partner(s). So you configure a relationship which mutes those interactions.
-
You want to block a user and you don't want to see any interactions involving them. So you configure a relationship which blocks the user and mutes any interactions involving them.
-
Somebody follows you and replies to all of your posts, but their replies are not worth reading. So you configure a relationship which mutes their replies to you.
-
You don't want a user following you, but you don't have any other problems with them. So you configure a relationship which revokes their right to follow you. They are still otherwise allowed to interact with you.
Additional motivations and ideas could be drawn from diaspora and Hubzilla.