snarfed / bridgy-fed

🌉 A bridge between decentralized social network protocols
https://fed.brid.gy
Creative Commons Zero v1.0 Universal
726 stars 39 forks source link

AP: change actor type from Application to Person? #1482

Open shiribailem opened 1 week ago

shiribailem commented 1 week ago

References: original AP profile: https://foggyminds.com/profile/shiri bluesky via bridge: https://bsky.app/profile/shiri.foggyminds.com.ap.brid.gy

It looks like an earlier attempt to connect to the bridge kinda worked because the profile description is a slightly older version, but the picture is very current. I've done public posts since following the bridge the other day and none of them have mirrored over.

I'm the admin of foggyminds.com and willing to provide additional information. Additionally if you want to test directly then I'll approve your registration.

Tamschi commented 1 week ago

The original issue for Friendica-support is #9, it seems there's a bit of discussion there. I'll still label this a bug since that issue is closed.

snarfed commented 1 week ago

@shiribailem did the bridge follow you back? did you accept that follow?

shiribailem commented 1 week ago

Accepting was automatic and is confirmed here. image

I did previously, months back try and got errors on the attempt at following (iirc it was basically telling me it couldn't even get the request through for some reason), but when I tried again recently it went through and I got the follow back. I wouldn't rule out a completely borked account.

NUMB3RS00 commented 1 week ago

If you mention a bluesky user that also bridged their account in your post it'll work (found this out a few months ago by doing some testing)

snarfed commented 6 days ago

@shiribailem looks like it's working now! https://bsky.app/profile/shiri.foggyminds.com.ap.brid.gy

Looking at Bridgy Fed's logs for the last month, your instance only started sending us activities for your posts starting today, around 2024-11-15 19:45:41 UTC. Not sure why. Looks like your posts have been bridging ok since then though!

Tamschi commented 6 days ago

I'll tentatively close this, but feel free to reopen if public posts without mentions still don't go through.

shiribailem commented 4 days ago

Just a follow up, it seems to be working okay at least for regular posts now.

@snarfed that timeframe was about the time of the post where I tagged a friend on the other side of the bridge as per @NUMB3RS00 's suggestion. But there were prior posts, even discounting boosts, that weren't coped over so some sort of disconnect occurred for it to not get anything until then.

Since Friendica is absolutely working fine for AP in general this would indicate some bug in behavior between the two that doesn't get resolved until then (and I'm watching to see if it's resolved in general vs only transferring posts tagging bluesky users).

So I would say this should probably stay open both as a bug to track that behavior and so others can find the temporary fix(?)

shiribailem commented 4 days ago

Did a separate test post btw, and watching for it to federate across the bridge:

Original: https://foggyminds.com/display/c6ef095f-1867-3a09-5f33-633457444101 Bluesky side: https://bsky.app/profile/shiri.foggyminds.com.ap.brid.gy

It's been over 10 minutes at the time of this comment and Friendica does report that it's been delivered to all remote servers.

Maybe Friendica isn't sending to the bridge unless it (or another account on it) is explicitly mentioned? is it possible that there's something different in the follow request that's essentially telling it that it'll be fetched rather than needing the push?

shiribailem commented 4 days ago

Also because there's more than one side to these issues, I made a Friendica issue as well: https://github.com/friendica/friendica/issues/14560

I have a sneaking suspicion it has something to do with it being flagged as a "relay" account.

shiribailem commented 4 days ago

Also relevant, the earlier post has still not bridged, made a follow up tagged post that's likewise not bridging: https://foggyminds.com/display/c6ef095f-4567-3a11-f571-eef127013253

(Untagged Friendica reported delivery to 108, tagged it reported 109)

I know the bridge sometimes gets behind, but I don't know of a way to confirm that status. So just leaving it to check again later in case it's just lagging.

snarfed commented 4 days ago

Thanks! Yeah we had some downtime and backups last night and this morning, still working through them, sorry.

As for why your earlier posts didn't start bridging until a couple days ago, as mentioned in https://github.com/snarfed/bridgy-fed/issues/1482#issuecomment-2479928439, even though @bsky.brid.gy@bsky.brid.gy had followed you a while before, and you'd accepted, your instance only started sending Bridgy Fed your activities at 2024-11-15 19:45:41 UTC. I'm happy to help debug more if you want to dig in!...but not sure that the problem there is on the bridge's end, or what it could do differently.

shiribailem commented 4 days ago

I'm keeping up here because I suspect it's a both sides sort of thing... Friendica generally doesn't have deliverability issues, so if my server isn't sending it then there's a reason to it.

My suspicion is that Friendica has the accounts marked as relays and it might be handling them differently, in which case that would mean figuring out what on the bridge's side is causing them to be marked in that way to address that problem.

For more information, following up now that the bridge has been able to sync:

That's part of why I also made a Friendica issue because they can better answer what the relay identification means and why it's being marked that way.

From there Friendica can potentially address how that's handled and the bridge can potentially address why it was triggering it in the first place.

If nothing else, this can be addressed in documentation (ie. an FAQ entry about the issue addressing it) once we have it locked down. (Or at the very least the issue can be found by people looking for answers)

shiribailem commented 3 days ago

Got feedback from the friendica side and I think I understand what's going on now.

According to them bridgy is sending it's account types as "application" and according to them this is typically used for system accounts and relays that send (rather than receive). So yes, Bridgy is basically telling Friendica to not send it anything with the account type it sends.

Based on their response it would solve things and also potentially help signalling with platforms like Friendica if you defined the bridge account as "service" and the bridged profiles as just "person".

snarfed commented 3 days ago

According to them bridgy is sending it's account types as "application" and according to them this is typically used for system accounts and relays that send (rather than receive). So yes, Bridgy is basically telling Friendica to not send it anything with the account type it sends.

Wow, that's surprising, and unusual. Bridgy Fed interoperates with a lot of different fediverse servers, and Friendica is the first I've heard of that ignores Follows from Application actors like this. I wonder if that's even technically ActivityPub compliant; https://www.w3.org/TR/activitypub/ doesn't distinguish follow or inbox delivery behavior based on actor type as far as I can tell.

Having said that, switching to Person would probably be fine. I used Application so that bridged fediverse accounts would show the user-visible "Automated" label, out of an abundance of caution, but that may not have been necessary. I don't know how high I'd prioritize backfilling and sending Updates for every single bridged user to all of their followers' instances, though.

Tamschi commented 3 days ago

I'll reopen for now since there's now work attached on our side.

In theory most instances should refresh actors once in a while, since they can go out of sync easily, but I'm not clear on the details. There's an account-related stale threshold in Mastodon for example, but I don't know under which circumstances it's effective: https://github.com/mastodon/mastodon/blob/37f00fb01811f379d0f2978d5b9fa6cec031e7c7/app/models/account.rb#L69

shiribailem commented 1 day ago

Just because you mentioned backfilling as a concern, there's a menu option on our end to update the contact which should take just fine. So if you change the actor type I can just click that button and all is solved.