snarfed / bridgy-fed

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

Undo account deletion #1130

Open snarfed opened 2 weeks ago

snarfed commented 2 weeks ago

Right now, blocking the bridge bot account disables the bridge for you and deletes your bridged account. That's almost too easy, and right now it can't be undone, which is unfortunate. We should allow undeleting! Background in #783

lupomancer commented 2 weeks ago

In an ideal world where this is solved, would this allow for blocking and unblocking from both Mastodon and Bluesky?

If, say, I want to delete my bridged mastodon -> BSKY account for the time being to avoid confusion, would I later be able to follow the bridger and recreate it?

Additionally, were I to delete my bridged BSKY -> Mastodon account, changed my BSKY handle, and then refollowed, would it create an account with the new BSKY handle? I know this may be blocked by that annoying AP username issue outlined in #1074

snarfed commented 2 weeks ago

Blocking and unblocking to recreate the bridged account is definitely the goal!

Handle changes are a separate question, you're right, #1074 tracks that.

qazmlp commented 2 weeks ago

For what it's worth, once this here is implemented, then the handle change should be reflected in Mastodon this way, at least if you wait a few hours between actions.

You'd still lose all your fediverse connections, but your follows could in theory be re-synchronised. (#1102) Not your followers though, they'd be lost permanently when doing this.

snarfed commented 2 weeks ago

Not sure I follow, but if you mean that deleting and recreating bridged accounts like this this should give us Bluesky => fediverse handle changes for free, I don't think so. Background in https://github.com/snarfed/bridgy-fed/issues/1074#issuecomment-2125733151 .

TLDR is that the actor id itself wouldn't change, and right now it's unclear how broadly the fediverse currently supports either 1) changing an actor's username while keeping its id the same or 2) deleting and recreating an actor with the same id. Both probably need some testing in the wild.

qazmlp commented 2 weeks ago

For Mastodon specifically, I think it uses WebFinger existence to check whether to keep an account alive regarding a cleanup job.

But you're right, while I don't see a uniqueness constraint on the actor id, it's definitely possible that some part of it would glitch out.

snarfed commented 1 day ago

Looks like this is already working for Bluesky => fediverse! jglypt on Bluesky blocked @ap.brid.gy at 2024-06-21T22:47:15.283184Z, and we disabled his account and sent out Deletes for his AP actor (see below). He then unblocked and re-followed it at 2024-06-22T13:14:02Z, and fediverse instances were able to see his actor again. Posts before the block aren't visible, but posts after it are.

{
  "id": "https://bsky.brid.gy/convert/ap/did:plc:4hawmtgzjx3vclfyphbhfn7v#delete-copy-activitypub-2024-06-21T22:47:15.283184+00:00",
  "actor": "https://bsky.brid.gy/ap/did:plc:4hawmtgzjx3vclfyphbhfn7v",
  "@context": "https://www.w3.org/ns/activitystreams",
  "type": "Delete",
  "object": "https://bsky.brid.gy/ap/did:plc:4hawmtgzjx3vclfyphbhfn7v",
  "to": ["https://www.w3.org/ns/activitystreams#Public"]
}

We weren't sure, if we Deleted an actor in AP with a given id, whether we could later recreate that actor with the same id. Our next step was to test it (https://github.com/snarfed/bridgy-fed/issues/783#issuecomment-2119700598). Thanks Jack for doing that test for us!

snarfed commented 1 day ago

So, fediverse => Bluesky is the remaining one here.