Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] Custom domain locked after "Change Handle" #114

Open
mp-pinheiro opened this issue Oct 28, 2024 · 5 comments
Open

[BUG] Custom domain locked after "Change Handle" #114

mp-pinheiro opened this issue Oct 28, 2024 · 5 comments

Comments

@mp-pinheiro
Copy link

mp-pinheiro commented Oct 28, 2024

Hi, thanks for the awesome work. Sorry if this isn't the way to post this, I've tried both support email and Discord, but I've had no luck so far.

I had a yfritgames.bsky.social account and changed my handle my yfrit.social domain. It worked great, I then deleted the account and setup my self hosted PDS environment in the Cloud, I can no longer use the yfrit.social as my handle. When I try the Change Handle action, both DNS Panel and No DNS Panel give me the same "Incorrect DID returned", with a DID for the old account that no longer exists.

image

As a way of testing, I did this again with another handle. I setup another local environment, and changed the handle to follow.yfrit.com. It worked perfectly, and the new handle was validated. I then, once again, deleted the local environment (without deleting the account). Now if I try to change the handle of any account to the follow.yfrit.com handle, I get the exact same problem, it refuses to change it with the resolveHandle endpoint returning the DID of the local env account I just destroyed, instead of the new one my DNS TXT entry points to.

image
image
image

I'm not very well versed in the PDS architecture, so I apologize if this doesn't make sense, but to me everything points to the handle being locked in the bsky backend somehow after the first, successful "Change Handle" action, always returning the DID of the account that first claimed it.

If there's a way to invalidate / clear this, it'd be very lovely. I purchased the yfrit.social domain specifically for Bluesky, as me and my indie game studio have been meaning to migrate from X for a while now, so it'd be awesome if we could get the custom handle working.

Could you help me with this?
Thank you!

Edit: updated the info about account deletion.

@mp-pinheiro
Copy link
Author

I did more testing and confirmed this also happens within Bluesky's official PDS.

I tried the Change Handle process on my personal account (https://bsky.app/profile/fairfruit.bsky.social) and got the same error:

image

The APP View API seems to be caching the old DID:

image

There's definitely something in Bluesky's backend holding the old DID of the deleted account and locking the handle

@mp-pinheiro mp-pinheiro changed the title Custom domain locked after "Change Handle" [BUG] Custom domain locked after "Change Handle" Oct 28, 2024
@mp-pinheiro
Copy link
Author

mp-pinheiro commented Oct 28, 2024

Here are the steps to reproduce with any handle:

  1. Create an account
  2. Change the handle to a custom domain (in my experiment, follow.yfrit.com
  3. Delete the account
  4. Create a new account (or use another existing account)
  5. Try changing the handle to the domain (follow.yfrit.com)

The resolveHandle method now returns the did of the deleted account:
https://api.bsky.app/xrpc/com.atproto.identity.resolveHandle?handle=follow.yfrit.com

image

@mp-pinheiro
Copy link
Author

Alright so after many days of experimenting and troubleshooting, I finally got it to work with the help of someone from the Bluesky API Touchers Discord Server. I did a changeHandle request through the API instead of doing it via the UI and it worked perfectly.

Here's the request if anyone runs into the same issue:

curl --request POST -k \
  --url "https://${PDS_HOSTNAME}/xrpc/com.atproto.admin.updateAccountHandle" \
  --header "Content-Type: application/json" \
  --user "admin:${PDS_ADMIN_PASSWORD}" \
  --data '{
    "did": "did:plc:admratd7sauyh6fsffv355xi",
    "handle": "yfrit.social"
  }'

I'm keeping the issue open since there's now a confirmed bug in the change handle process done via the UI. This was a long and tiresome ride, hope you guys can take a look on all the info and improve on it!

@V-A-Kaiser
Copy link

V-A-Kaiser commented Nov 9, 2024

I'm running into this exact issue, except on the official bsky.app servers. I'm not running my own PDS, so I don't think this solution would work for me.

Has anyone else managed to resolve this problem without running a PDS?

@mp-pinheiro
Copy link
Author

mp-pinheiro commented Nov 11, 2024

I'm running into this exact issue, except on the official bsky.app servers. I'm not running my own PDS, so I don't think this solution would work for me.

Has anyone else managed to resolve this problem without running a PDS?

On my support ticket, I mentioned there were people in your situation and they instructed to open a ticket with them as well.

image

I did it through here: https://blueskyweb.zendesk.com/hc/en-us

Edit: wrong image.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants