ActivityPub users need to be identified by some identifier in the URL, and Lemmy chose the user name to be that identifier. As a result, non-Latin usernames become⦠complicated.
Sorry but this is just false. URIs can easily encode UTF-8 characters and it's perfectly standard to do so via percent-encoding. Example: https://en.wikipedia.org/wiki/π. Your browser will even automatically convert that π into the appropriate percent-encoding and will even display the emoji in the address bar, even if that is not the "true" URI.
This is, if you ask me, an unnecessary limitation in Lemmy.
Link is detected without the emoji in my app. You might wanna hardcode the link as https://en.wikipedia.org/wiki/π [https://en.wikipedia.org/wiki/π](https://en.wikipedia.org/wiki/π)
Using ASCII in URLs is simple and is less error prone than "supporting" unicode via percent encoding. It is also just a convention to use ASCII for usernames in many platforms.
ASCII is also supported out of the box in major OSes while some unicode characters might not. What about impersonation? And what about people trying to type in the username of someone that uses unicode?
It is not logical to use unicode in this case.
I believe there is still an open issue on Github for this, but no one was interested to help implement and test it. So use the search function and contribute!
There is also the risk of homograph attacks. The link below is for domain name encoding via IDN, but the same applies to usernames. You could easily impersonate another user by having chars that look similar.
Because URLs are usually in ASCII. That was a standard. Check RFC 1738 and 3986. Now, you can use percent encoding, but why use that. It just complicates things.
Display Name field. You can use whatever you want. Even emojis. The feature is already in Lemmy; but not every instance has it available. Lemmy.World does use it, though.