hometown-fork / hometown

A supported fork of Mastodon that provides local posting and a wider range of content types.
GNU Affero General Public License v3.0
743 stars 55 forks source link

Cautiously optimistic federation #1237

Open rscmbbng opened 1 year ago

rscmbbng commented 1 year ago

Pitch

It would be great to have a "cautiously optimistic" federation model. This model would notify admins/mods that new servers have been discovered and that you can add them to the allowlist (or not). In terms of form, this could be similar to how Mastodon handles Trends, which need to be vetted by an admin before they are exposed to the rest.

This cautiously optimistic federation model could tie in to the neighborhood model proposed in https://github.com/hometown-fork/hometown/issues/1220, but is a different feature onto itself.

It would essentially allow you to slowly grow a list of ok servers to add to your allow list, as your instance discovers them through interactions. Of course, a bonus would be to see whether the instances you are already connected to are also connecting with those new discoveries.

Peertube has a similar model where instances can follow one another. Peertube instance admins can choose to manually approve these follow requests.

Motivation

It is weird that you either have LIMITED_FEDERATION_MODE or a super permissive federation model, which is the default. The first basically requires one to learn of any interesting 3rd party instances outside your own instance because you can't see them. Only after discovering them through other means, can you add them to your allow list. The permissive federation model, on the other hand, basically promiscuously connects to anything. This has the opposite effect: I (unknowingly) connect to something which I later come to regret. I then have to manually disconnect (suspend). Often, at that point, the damage is already done, as I tend to learn about these instances through a report.

In particular instances which are more sheltered but that want to be open to discovering others would benefit the most. However, also more generalistic instance would benefit as this a solid way to prevent spam.