Help, please make a FEP to help competing bridges sort things out

Hi all! I’ve been thinking about this more recently.

FEP-fffd is great! It hasn’t seen much adoption afaik, and I worry about its impacts on interop with existing servers, but I do still plan to implement it in Bridgy Fed.

The specific use case I’m thinking about is, when bridge A sees an actor for the first time, is there a way for it determine whether that actor is already using (and prefers) a different bridge B, and therefore bridge A should ignore it and not bridge it?

Say bridge A translates between AP and ATProto. FEP-fffd says that ATProto is a well-known alternative protocol that’s identified by the did:... URI scheme. If I understand right, bridge A would fetch the actor, see if it has a rel=alternate or rel=canonical link pointing to a did:, and if it does, bridge A would ignore it.

(mediaType and URI schemes aren’t a great way to identify other protocols - eg did: and https: URIs are used by more than one protocol - but that’s a separate concern, and probably manageable. It’s also better than depending on each bridge to hard-code other bridges’s domains or other identities, detect those in links, and constantly keep those lists updated.)

The part I wonder about is beyond ActivityPub. FEP-fffd is great for AP actors, but bridges also need to look at users in other protocols to determine whether to bridge them. You could look at their corresponding AP actor, but you’d need to find it first. I’ve taken one stab at mapping ids and handles between protocols, but there’s obviously no standard, so you don’t necessarily know where to look.

Maybe more importantly, bridges bridge a number of different protocols. I’d love a way to do this across protocols, so that eg an ATProto <=> Nostr bridge could de-dupe bridged accounts and satisfy this same use case.

Many other protocols do have precedent for this, just like FEP-fffd. Web sites have rel=me links. Nostr has NIP-39. They don’t usually have a way to explicit tag an identity as a bridge, but they generally do have URI scheme or MIME type.

Should we use each of those individually? Should we look at user-provided profile links and detect bridged accounts that way? Are there other alternatives I’m missing?

1 Like