Salta al contenuto
Citiverse è uno spazio aperto a tutte le comunità. Se vuoi aprire un gruppo locale o una sezione per la tua organizzazione, puoi contattare gli amministratori: pagina dei contatti.

Internationalized Webfinger Handles in ActivityPub

Social Web Foundation
26 7 29
  • @j12t @evan @evanprodromou @jdlh @Edent

    I am sorry, but without money and income looking for jobs I am holding off on any deeper fedi involvement rn. It just occurred to me there might be a small and steady no. of TF's around various cross-cutting concerns that neatly slice protocol design space into natural parts, and help attract stakeholders other than devs interested in one particular narrow theme.

    More musing out loud..

    - Interoperability and extensibility
    - Security and privacy
    - Connectivity and portability
    - Internationalization and localization
    - Trust and safety (DEI)
    - Fediverse solution development

    The last one would aggregate initiatives to define building blocks for common business and application domains (Groups, Forums, Geosocial). Particularly well-suited to set up a great web portal around.

    For posterity I added this to an existing issue at the SWICG.. https://github.com/swicg/activitypub-api/issues/66

    scritto ultima modifica di
    #17

    @j12t @evan @evanprodromou @jdlh @Edent

    PS. Weird that this time the opengraph preview of the issue carries complete information, including the title.

  • 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.

    scritto ultima modifica di
    #18

    @evanprodromou @jdlh I'm glad to say that the `webfinger` and `activitypub-webfinger` NodeJS libraries now support globally inclusive handles.

    https://www.npmjs.com/package/webfinger
    https://www.npmjs.com/package/activitypub-webfinger

  • @evanprodromou @jdlh I'm glad to say that the `webfinger` and `activitypub-webfinger` NodeJS libraries now support globally inclusive handles.

    https://www.npmjs.com/package/webfinger
    https://www.npmjs.com/package/activitypub-webfinger

    scritto ultima modifica di
    #19

    @evanprodromou @jdlh there are already a few other projects on the list already. I'm excited by these developments!

  • @evanprodromou @jdlh there are already a few other projects on the list already. I'm excited by these developments!

    scritto ultima modifica di
    #20

    @evanprodromou @jdlh OK, I also got the activitypub.bot codebase (tags.pub and groups.pub too) to support it. The new version is 0.53.1, and the relevant ticket is here:

    I'm going to go after onepage.pub next; it's a completely different codebase.

  • 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.

    scritto ultima modifica di julian@activitypub.space
    #21

    @evanprodromou@socialwebfoundation.org you should be able to add NodeBB to that list with ✔ across the board.

    @evan@cosocial.ca

  • scritto ultima modifica di
    #22

    @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?

    scritto ultima modifica di
    #23

    @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:

    1. 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.

    2. 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.

  • scritto ultima modifica di
    #24

    @julian Awesome! Would you mind making a PR?

    I added some implementation notes after implementing this, because there are some really hairy parts. The ASCII punctuation really kicked my butt, as well as the double-encoding of % characters:

    @Edent @benpate @swf

  • 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.

    scritto ultima modifica di
    #25

    I deployed a server with these handles. I hope they get linkified!

    UPDATE: They did not! 0 for 35. 😞

    @français@aŭtomato.swf.pub
    @ελληνικά@aŭtomato.swf.pub
    @русский@aŭtomato.swf.pub
    @հայերեն@aŭtomato.swf.pub
    @ქართული@aŭtomato.swf.pub
    @עברית@aŭtomato.swf.pub
    @العربية@aŭtomato.swf.pub
    @हिन्दी@aŭtomato.swf.pub
    @বাংলা@aŭtomato.swf.pub
    @தமிழ்@aŭtomato.swf.pub
    @తెలుగు@aŭtomato.swf.pub
    @ಕನ್ನಡ@aŭtomato.swf.pub
    @മലയാളം@aŭtomato.swf.pub
    @සිංහල@aŭtomato.swf.pub
    @ไทย@aŭtomato.swf.pub
    @ລາວ@aŭtomato.swf.pub
    @བོདསྐད@aŭtomato.swf.pub
    @မြန်မာ@aŭtomato.swf.pub
    @ភាសាខ្មែរ@aŭtomato.swf.pub
    @አማርኛ@aŭtomato.swf.pub
    @中文@aŭtomato.swf.pub
    @한국어@aŭtomato.swf.pub
    @𞤆𞤵𞤤𞤢𞤪@aŭtomato.swf.pub
    @ひらがな@aŭtomato.swf.pub
    @カタカナ@aŭtomato.swf.pub
    @café-nfc@aŭtomato.swf.pub
    @café-nfd@aŭtomato.swf.pub
    @tiếng-việt@aŭtomato.swf.pub
    @عَرَبِيّ@aŭtomato.swf.pub
    @עִבְרִית@aŭtomato.swf.pub
    @العربية-123@aŭtomato.swf.pub
    @العربية-١٢٣@aŭtomato.swf.pub
    @संस्कृत@aŭtomato.swf.pub
    @한글-jamo@aŭtomato.swf.pub
    @中文中文中文中文中文中文中文中文中文中文中文中文中文中文中文中文@aŭtomato.swf.pub

  • I deployed a server with these handles. I hope they get linkified!

    UPDATE: They did not! 0 for 35. 😞

    @français@aŭtomato.swf.pub
    @ελληνικά@aŭtomato.swf.pub
    @русский@aŭtomato.swf.pub
    @հայերեն@aŭtomato.swf.pub
    @ქართული@aŭtomato.swf.pub
    @עברית@aŭtomato.swf.pub
    @العربية@aŭtomato.swf.pub
    @हिन्दी@aŭtomato.swf.pub
    @বাংলা@aŭtomato.swf.pub
    @தமிழ்@aŭtomato.swf.pub
    @తెలుగు@aŭtomato.swf.pub
    @ಕನ್ನಡ@aŭtomato.swf.pub
    @മലയാളം@aŭtomato.swf.pub
    @සිංහල@aŭtomato.swf.pub
    @ไทย@aŭtomato.swf.pub
    @ລາວ@aŭtomato.swf.pub
    @བོདསྐད@aŭtomato.swf.pub
    @မြန်မာ@aŭtomato.swf.pub
    @ភាសាខ្មែរ@aŭtomato.swf.pub
    @አማርኛ@aŭtomato.swf.pub
    @中文@aŭtomato.swf.pub
    @한국어@aŭtomato.swf.pub
    @𞤆𞤵𞤤𞤢𞤪@aŭtomato.swf.pub
    @ひらがな@aŭtomato.swf.pub
    @カタカナ@aŭtomato.swf.pub
    @café-nfc@aŭtomato.swf.pub
    @café-nfd@aŭtomato.swf.pub
    @tiếng-việt@aŭtomato.swf.pub
    @عَرَبِيّ@aŭtomato.swf.pub
    @עִבְרִית@aŭtomato.swf.pub
    @العربية-123@aŭtomato.swf.pub
    @العربية-١٢٣@aŭtomato.swf.pub
    @संस्कृत@aŭtomato.swf.pub
    @한글-jamo@aŭtomato.swf.pub
    @中文中文中文中文中文中文中文中文中文中文中文中文中文中文中文中文@aŭtomato.swf.pub

    scritto ultima modifica di
    #26

    @evan ah... hmm... <img class="not-responsive emoji" src="/emoji/ap/thinking_face/activitypub.space" title="🤔" />


Citiverse è un progetto che si basa su NodeBB ed è federato! | Categorie federate | Chat | 📱 Installa web app o APK | 🧡 Donazioni | Privacy Policy

Il server utilizzato è quello di Webdock, in Danimarca. Se volete provarlo potete ottenere il 20% di sconto con questo link e noi riceveremo un aiuto sotto forma di credito da usare proprio per mantenere Citiverse.