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

Allow changing account's username. #4053

Open
RokeJulianLockhart opened this issue Dec 31, 2022 · 4 comments
Open

Allow changing account's username. #4053

RokeJulianLockhart opened this issue Dec 31, 2022 · 4 comments
Labels
🕸️ ActivityPub Federation-related issue 🧠 Backend Related to server logic and execution 🔧 Compatibility Other software has bugs ➕Enhancement New feature or request 🤔 In-Depth Requires more investigation

Comments

@RokeJulianLockhart
Copy link

RokeJulianLockhart commented Dec 31, 2022

This has been requested for additional federated platforms at https://git.pleroma.social/pleroma/pleroma/-/issues/59#note_97208 and mastodon/mastodon#15320.

@mitexleo
Copy link

mitexleo commented Jan 1, 2023

It's currently available.. But you have to request the admin to change the username

@trwnh
Copy link
Member

trwnh commented Jan 27, 2023

manually changing the username will break federation due to the assumptions that current implementations make. proper username changing support is something we'd like to do, but we'd have to address the elephant in the room...

@trwnh trwnh added ➕Enhancement New feature or request 🕸️ ActivityPub Federation-related issue 🔧 Compatibility Other software has bugs 🧠 Backend Related to server logic and execution 🤔 In-Depth Requires more investigation labels Jan 27, 2023
@trwnh trwnh added this to the 1.0.0 - Stable Release milestone Jan 27, 2023
@RokeJulianLockhart
Copy link
Author

RokeJulianLockhart commented Jan 29, 2023

Before (strangely) switching to using the federated username for all user-facing but internal systems such as the profile URI, my account's URI used to be https://mastodon.social/accounts/106986373252061228.

Using this system – which Instagram, Twitter, and Facebook do – would at least alleviate this problem internally.

However, as #4053 (comment) states, federation is impacted.

Although perhaps this would break federation, that is something that I am comfortable with if the user is duly notified of before the operation commences.

Despite all of those crude methods achieving explicitly what I desire, Federation remains ultimately problematic in this regard.

Consequently, all of this may be unnecessary, because Mastodon has a system of redirection that should remediate all of these concerns:

  1. If desired, the date of the old account is transferred to a new account (which the user has previously created in Mastodon's unnecessarily manual implementation).
  2. Subsequently, the old username (federated, and to an extent internally) redirects to the new username. Consequently, the renaming process is in fact superior to the aforementioned social media accounts’.

https://ems.element.io/tools/matrix-migration and https://mastodon.social/@beedellrokejulianlockhart#:~:text=has%20indicated%20that%20their%20new%20account%20is%20now%3A demonstrate this ability well.

@trwnh
Copy link
Member

trwnh commented Jan 30, 2023

yeah it would be nice if the account URIs actually didn't depend on username, because that's kind of the biggest issue -- see #51 (which i regret partially because i didn't know enough at the time to argue clearly) and also #51 (comment) (by which point i was better at articulating the issue)

for what it's worth, pretty much every single big implementation makes the same mistake in putting the username into their id. mastodon only ever uses those numeric ids for its API and nothing else. operations internally are done on acct which comes from webfinger. activitypub id is not used for anything other than the activitypub serializers and delivery worker.

technically we could do something like this for a one-time migration

  • generate new actor documents at routes that depend on snowflake/hash/etc user ids instead of on usernames
  • set alsoKnownAs appropriately
  • generate a Move activity from /users/username to /users/userid` and deliver to all followers (or maybe all known servers?)

but this would be really expensive and all old posts would be orphaned (since there's no Move handler for posts, only for accounts)

at the very least: we could start assigning new users independent ids. and if you have a "legacy" account that doesn't support username changes, you will have to make a new account and migrate to it if you want to be able to change your username later.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🕸️ ActivityPub Federation-related issue 🧠 Backend Related to server logic and execution 🔧 Compatibility Other software has bugs ➕Enhancement New feature or request 🤔 In-Depth Requires more investigation
Projects
None yet
Development

No branches or pull requests

3 participants