So, an interesting issue came up in the repo that I've been thinking about: #629.

You know how every server uses schema:PropertyValue in actor attachment for profile metadata fields (like “Website”, “GitHub”, etc.)? Turns out, strict validators like browser.pub reject it, because the AS2 spec says attachment should only contain Object or Link—and PropertyValue is a schema.org type, not an Activity Streams 2.0 type.

The thing is, we can't just drop the type like we did with Endpoints (#576), because Mastodon and others rely on seeing "type": "PropertyValue" to render profile fields. But at the same time, it's technically not spec-compliant.

I'm leaning towards writing a to formalize this existing practice rather than trying to invent a new type (like toot:PropertyValue extending Object), which would be a nightmare to migrate across the whole fediverse.

What do you all think? Has anyone else run into this? Would love to hear thoughts from implementers and spec folks.

@hongminhee洪 民憙 (Hong Minhee) :nonbinary: Lots of interesting issues here. (Note that the schema.org JSON-LD namespace for PropertyValue is incorrect too.) I think brower.pub is arguably being too strict. One must be careful to think about AS2 like data types in a strongly-type programming language. Mastodon could document that PropertyValue is an "extension type" of Object. Implicitly, it is anyway. The type property for an Object is optional and so are all the rest of the properties. A {} is a valid Object.

0

If you have a fediverse account, you can quote this note from your own instance. Search https://social.technoetic.com/users/steve/statuses/116265953001547826 on your instance and quote it. (Note that quoting is not supported in Mastodon.)