ActivityPub object identifiers are not IRIs. They are URIs:
https://www.w3.org/TR/activitypub/#obj-id
Unicode characters are not allowed there.
ActivityPub object identifiers are not IRIs. They are URIs:
https://www.w3.org/TR/activitypub/#obj-id
Unicode characters are not allowed there.
@wowaname I saw it in Fedify docs a couple of days ago and today in Forgejo code.
@silverpill That's a disappointing step backwards. English and the Latin Alphabet need to be de-centred in tech. Modern standards should be open to people who speak all languages.
@smacintyre I think URIs are preferable because they are simpler and easier to work with. End users don't normally see those identifiers
@wowaname Mitra doesn't allow IRIs.
In practice, I've only seen an IRI once, and it was from WordPress. Maybe those other developers don't actually use IRIs, just the wrong term.
1. It is not clear what "shares the same URI / IRI conventions" means. This is the only place in the ActivityPub spec where a connection to IRIs is made, and all other statements refer to URIs. The section 3.1. (Object identifiers) says that identifiers must be URIs.
2. Section 2.2 (IRIs and URLs) of ActivityStreams says "This specification uses IRIs", but it doesn't say how it uses them. That statement may refer to names of properties and types, for example, which can be IRIs. What follows after that is just nonsense: "URI may be used wherever an IRI is named". ActivityPub's "shares same conventions" might mean that relative URIs are not allowed, but that's anybody's guess.
4. The vast majority of implementations use URIs for IDs and encode non-ASCII characters.
cc @reiver
@silverpill @wowaname what exactly is the problem with calling them IRIs?
> ActivityPub shares the same URI / IRI conventions as in ActivityStreams.
From: https://www.w3.org/TR/activitypub/#objects
And following the link there, we get to:
> Every URI [RFC3986] is also an IRI, so a URI may be used wherever an IRI is named. There are two special considerations: (1) when an IRI that is not also a URI is given for dereferencing, it MUST be mapped to a URI using the steps in Section 3.1 of [RFC3987] and (2) when an IRI is serving as an "id" value, it MUST NOT be so mapped.
This probably means they don't care what you use, URIs or IRIs.
ActivityPub, on the other hand, has very clear requirements. I don't know how one could possibly interpret a vague reference to that AS section as a proof that ActivityPub identifiers must be IRIs.
@wowaname I find that perfectly understandable: because all printable ASCII characters form a subset of Unicode characters, we can infer that the set of all possible URIs is included in the set of all possible IRIs.
I'm not sure why you're convinced that not all URIs are IRIs.
GNU social JP is a social network, courtesy of GNU social JP管理人. It runs on GNU social, version 2.0.2-dev, available under the GNU Affero General Public License.
All GNU social JP content and data are available under the Creative Commons Attribution 3.0 license.