Skip to main content


any one working on full #Punycode support in their #fediverse apps?

@xn--c1h@xn--c1h.tk should really display as @▲@▲.tk and there is no reason that shouldn’t be a valid handle. of course we need security measures in place for homograph attacks but that should not stop us from supporting the worlds languages.

I can think of multiple reasons off the top of my head if it wasn't a figure of speech.
It was a figure of speech but I would be glad to hear your reasons why you think the fediverse should not support punycode the same way that DNS and email do.
#1 I was familiarized with the idea of punycode usernames cause it was very popular on tumblr. my friend James Hicks I became friends with because they had https://xn--c1h.tumblr.com and I was using ▲ as display name and just stumbled on them.
Ah, interesting, so usernames were tied to domain names as well. Where would their username show as punycode? Where would it show as unicode?
https://グリッチ.tumblr.com is an account I have. tumblr used subdomains instead of /username like other services. so my username is xn--yo8hb but in places that support it (like certain browser address bars) it renders my username automatically as グリッチ
Dod you have to type “xn—yo8hb“ anywhere, to log in for example?
#2 the underlying systems that can deal with usernames in the fediverse do not currently expect anything other then ASCII as a username, but that means they would very easily be able to support a punycode, all they would need is to support double hyphens. The idea of the software supporting punycode is that then clients/frontends would be able to start supporting full unicode by displaying the punycode versions to users as their unpacked unicode.
They expect ASCII but if they can store emojis for posts then they can support Unicode usernames as well. It isn’t a capability issue that punycode would advantageously circumvent, that’s why I advocate for using Unicode directly.
but very little would have to be done to support punycode. so all the smaller apps wouldn't have to do anything, where as if servers started supporting full unicode ids now most software today would not work with them *at all*
How do you know? Which current software architecture isn’t capable of handling Unicode strings that we would have to send them punycode ASCII strings?
#3 the security measures need to be implemented regardless of how we implement the system if we want to support languages outside of Latin based scripts. Something I feel is really necessary for all these projects wanting to exist for the world. Currently we are re enforcing the hegemony of English/Latin being the "default" language which is rather racist.
It’s true, but we don’t need punycode to break this hegemony. All these systems support Unicode, they just have to accept it for usernames which is trivial. If some systems are really concerned about impersonation they can *also* support punycode but punycode isn’t a necessary stepping stone to Unicode username support or display.
#4 I personally would love to see what happens if we all just started supporting full Unicode for everything there is *no way* that the majority of projects in the fediverse would support that. I wasn't talking about only the username part. there are already instances that "work" using IDNs/Punycode domain names. Here is an example person @mei23. If we support punycode then part of the fediverse can support that as unicode and the other part can see those users as just the punycode
Got it, and I believe it would actually be technically easier to make these systems also expect Unicode for usernames/domains than add additional support for punycode.
lets say I write a new implementation and make all my usernames out of emoji like @🔴🔵⚪@insance.tld. And I implemented AP in the same way at Mastodon, how would Friendica see my user accounts with out you *adding* support?
If we don’t already accept Unicode usernames, I would have to *remove* the artificial restriction on ASCII. Nothing to add.
hmm interesting thats not how I would have imagined it. Maybe theres a way we could check this.
I'd love too. I have a dev account you can friend once you've set up a Unicode username: @Hypolite Petovan (dev)