Idea for a more capable relay server

Very often I hear from users and ex-users of the Fediverse, that they they complain about posts that never reached their accounts. For example they subscribed to a hashtag on two accounts on separate servers. Now they see that both servers deliver different posts.

A solution for that are relay servers. But not every admin wants to receive thousands of unwanted posts just receive the few ones with content that a user wanted.

A solution for that would be a relay server that would be able to deliver content based on some rules that the admin defined. This should be much more than just a list of hashtags. It should be possible to filter on content in any field of a message.

What do you think about this idea? I’m currently in the process of thinking about a way to communicate these filter conditions.

3 Likes

I think this is an excellent idea.

I’m currently in the process of thinking about a way to communicate these filter conditions.

@helge and I had a discussion recently regarding outbox filtering:

https://mitra.social/objects/019ba7e3-dc8d-bffd-2552-df355897970c

ActivityPub needs some kind of query language. Implementations can use it to request a subset of activities when following an actor (incl. relay actors), and to filter collections. I think FEP-6606 is a good starting point.

Would be good to have some unified search pattern structures. Concerning that discussion: When you are only interested in in a low number of posts, then it doesn’t make sense to receive all others as well.

1 Like

An activitypub relay based on rules makes sense. Filtering by hashtags, actors or message fields can reduce unnecessary traffic and improve consistency of delivery. Maybe FEP-6606 is a good basis for that approach: Convenience functions, too. For example.

Here's another interesting FEP from @steve where JSONPath-based syntax was proposed: https://codeberg.org/fediverse/fep/src/branch/main/fep/c195/fep-c195.md