snarfed / bridgy-fed

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

Periodically re-sync protocol bot followers and enable the bridge for anyone who was missed #1314

Open therealNAAN opened 2 months ago

therealNAAN commented 2 months ago

I believe this may be related to this issue #1295--and it's possible someone else mentioned this issue in the other open ones but I couldn't find anything on my end. Apologies if this is a duplicate, as such.

I've taught some folks how to use Bridgy from their end on Bsky, including following the account and everything. Unfortunately we didn't account for the fact that we did this during the sudden influx of Brazilians joining Bsky. As a result, they could see me, but I had nothing of theirs on my end from Fediverse. Now that the bridge has been synced in real time, I can now see the people from Bsky posting in, well, real time again. The ones I followed before BrazilSky, that is. I still can't see or follow back anyone during or after that event.

I'll show what I mean. I made a toot earlier asking for a comment or like on my post. image

As you can tell by that timestamp, I have no likes. But if I go to Bsky, with the same timestamp: image

There's 4 likes on it but I cannot follow back or see them from Fedi. I have yet to receive any notifications. I also cannot search the people who bridged their account from Fedi. I've verified that they are following the bridgy account and I followed the instructions on the site to look them up, but nothing.

Here's my toot, so you can verify the likes yourself: https://sakurajima.moe/@naan/113109520048504599

Here's the bridged version: https://bsky.app/profile/naan.sakurajima.moe.ap.brid.gy/post/3l3qqyouk2em2

Any help is appreciated. Apologies if I missed something in my explanation. Thank you!

snarfed commented 2 months ago

Hmm, sorry for the trouble! Looks like the bridge isn't actually enabled for any of those accounts:

Out of curiosity, where did you check that they follow @ap.brid.gy?

If they did, it's possible that some events got lost while I was trying to scale the bridge. If they unfollow @ap.brid.gy and then follow it again, that should fix this.

therealNAAN commented 2 months ago

Thank you for the quick response! I should actually note, I only know the Inkyoh account (I do not know who the other three are, I'm suspecting they just liked my skeet for...reasons I'll never know!)--and that account is following the Bridgy account (it's under me): https://bsky.app/profile/inkyoh.bsky.social/follows

image

There are other people who follow me who haven't liked the tweet but were some of those to whom I taught about BridgyFed. However, I'll let them know about the possible fix and see what happens. \ o /

qazmlp commented 2 months ago

I feel like it would be a good idea to once in a while (not frequently) sync @ap.brid.gy's followers from the Bluesky AppView and at the same check bridged users' blocks for the bridge (on their PDS?).

These indefinite desyncs are very unfortunate.

@therealNAAN Also note that existing inter-network follows are currently not synced when the follower opts into bridging, so there can be some perceived asymmetry: #1102 Not applicable here if their status page doesn't show, but it's a noticeable rough edge.

snarfed commented 2 months ago

I feel like it would be a good idea to once in a while (not frequently) sync @ap.brid.gy's followers from the Bluesky AppView and at the same check bridged users' blocks for the bridge (on their PDS?).

Definitely a good idea! It'd be a substantial amount of work though, both building it and the resulting load on the production system.

therealNAAN commented 2 months ago

So first off, I'd like to report that the fix of "unfollow and refollow" worked! I can now see them again on my end when I look up the bridged account! Hooray! Thank you for the help!

Second, I def ditto the idea of checking once in a while to see if the syncing still works. (I am not a programmer, so everything else sounds very technical but checking in once in a while is good. I also do understand the extra amount of work for that though D: )

Thirdly, just to reply:

@therealNAAN Also note that existing inter-network follows are currently not synced when the follower opts into bridging, so there can be some perceived asymmetry: #1102 Not applicable here if their status page doesn't show, but it's a noticeable rough edge.

Apologies if I misunderstood you @qazmlp and #1102 but--basically that if we search the bridged accounts, we may see that the "follows you" badge may be one-sided? I don't follow my bridged account on Fedi, so I don't know how it looks but at least for me so far, the badge has "worked" in its function for me. I would agree, from the sounds of your explanation and the linked issue (from what I've been able to understand), that it sounds rough.

qazmlp commented 2 months ago

Apologies if I misunderstood you @qazmlp and #1102 but--basically that if we search the bridged accounts, we may see that the "follows you" badge may be one-sided?

Yes, it's possible that the "follows you" doesn't appear in some cases. (Doesn't newly occur once both accounts are bridged though!)

All other interactions still work without issue, just things like the Mutuals feed on Bluesky are affected by this.

qazmlp commented 2 months ago

I feel like it would be a good idea to once in a while (not frequently) sync @ap.brid.gy's followers from the Bluesky AppView and at the same check bridged users' blocks for the bridge (on their PDS?).

Definitely a good idea! It'd be a substantial amount of work though, both building it and the resulting load on the production system.

It'd be best to run any such sync tasks with low throughput, at least if there's significantly many changes being applied.

Technically ActivityPub servers are supposed to support "mass-follows" since someone can import their follows from their previous instance, but it can still look a bit odd on the receiving end and from what I can see, some fedi admins can be a little trigger-happy. (Not talking about mine, just witnessed it.)

Archenoth commented 1 week ago

Out of curiosity, but what about if this were implemented (at least initially) for when you click the "refresh" button on your brid.gy page?

That way, it would only happen when people realize something is weird with their follows/followers (on either side of the bridge maybe?) in a pretty self-serve way--and if a manual refresh does change something, give you a pretty good idea about the kinds of edge cases that can break this

Also, it would be significantly lower server load than doing this for every user, even ones where nothing is broken