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

Support 301 redirection for account migration #8465

kevinmarks opened this Issue Aug 26, 2018 · 0 comments


None yet
1 participant

kevinmarks commented Aug 26, 2018

Mastodon now has UX for account migration - hooray!
However, it doesn't actually redirect the account and followers . I can still post in the old instance, and my followers still see it, they still have to follow me in my new instance separately.

Now deep down at the HTTP level, there is an answer for this - the 301 redirect, which says 'go to this new URL instead, and remember that for next time you look (as opposed to the 302 redirect, which says 'go to this new URL for now, but check the original one again next time).

Websub (the OStatus way of sending posts to followers) explicitly recommends this - this was clarified with mastodon in mind and has a test.

ActivityPub (the other way of doing this that Mastodon implements) doesn't specify migration directly, but does normatively reference HTTP so 301 should apply there too.

This has 2 components - serving 301s correctly, which presumably would use the moved_to_account_id field to get the updated values when information is requested, and responding to 301s correctly, which should just involve updating the various URLs and domains in the account record.

Lack of this is widely noted as a problem with federation, as people stumble onto an instance initially, and then are unsure how to move fully to another one e.g.

Migrating does not retain your followers. Anybody who follows you will be left following your old dead account

Forked from the old migration issue as that has got into the weeds of compromised instances. This is for the relatively simple 'I have moved from instance a to instance b' case that we have UI for.
set it up in settings
and it shows up on profile

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment