Internationalized Webfinger Handles in ActivityPub
-
ActivityPub software usually (but not always!) uses a handle format defined by RFC 7033, Webfinger, which looks like username@domain.example. There’s a ActivityPub and Webfinger report from the Social Web Community Group that details how this interaction works.
All parts of this handle format can include non-ASCII Unicode characters, like accented Latin, Chinese, Arabic, or Hindi scripts. But it takes extra work, so users can’t count on non-ASCII characters being supported in their own or others’ software.
This is a problem for the Fediverse. Of the most-spoken human languages, only three primarily use only ASCII characters (English, Malaysian, Indonesian), for a total of about 500 million people. That means about 90% of humans use languages with non-Latin, or accented, character sets. We are missing an opportunity to include more people worldwide with internationalized handles with names, words and domains in their native languages.
Jim DeLaHunt @jdlh has been doggedly pursuing better support for internationalized Webfinger handles in ActivityPub. To this end, the Social Web Community Group started tracking Internationalized Webfinger Handle Adoption. Covering dozens of servers, clients, and libraries that implement ActivityPub, the tracker helps to discovery which software can interoperate with inclusive handles.
If you know of ActivityPub software that isn’t on this list, or that doesn’t have its adoption tracked (question mark in the matrix), please add an issue or open a PR in the ActivityPub Webfinger task force repository.
@evanprodromou@socialwebfoundation.org you should be able to add NodeBB to that list with
across the board. -
@julian @evanprodromou @swf I mean, yeah, I *should* be able to. Have you tested it?
-
@julian @evanprodromou @swf I mean, yeah, I *should* be able to. Have you tested it?
@evan@cosocial.ca indeed I have <img class="not-responsive emoji" src="/emoji/ap/smile/activitypub.space" title="
" /> 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.
-
Ciao! Sembra che tu sia interessato a questa conversazione, ma non hai ancora un account.
Stanco di dover scorrere gli stessi post a ogni visita? Quando registri un account, tornerai sempre esattamente dove eri rimasto e potrai scegliere di essere avvisato delle nuove risposte (tramite email o notifica push). Potrai anche salvare segnalibri e votare i post per mostrare il tuo apprezzamento agli altri membri della comunità.
Con il tuo contributo, questo post potrebbe essere ancora migliore 💗
Registrati Accedi
Citiverse è un progetto che si basa su NodeBB ed è federato! | Categorie federate | Chat | 📱 Installa web app o APK | 🧡 Donazioni | Privacy Policy