@evan@cosocial.ca indeed I have 😄 the issue's come up a bunch but when @edent@mastodon.social ran a public test, his internationalized handle was accepted ok.
It's confirmed in code (all paths run through this regex):
const webfingerRegex = /^(@|acct:)?[\p{L}\p{N}\p{M}_.-]+@.+$/u;
There were two places that could be cause for concern:
-
My Activity Intents implementation (@benpate@mastodon.social) uses a naive regular expression that only accepts ASCII, but this is not webfinger and is a bug I can fix to use the proper regular expression.
-
Requests to NodeBB requesting the unicode form of a domain will not match, because NodeBB expects punycode. This is compliant with the RFC. Likely browsers will natively translate unicode to punycode over the wire, but uncertain here.
Both of those are relatively minor, so broadly, NodeBB checks all the boxes.