Home | Notifications | New Note | Local | Federated | Search | Logout
Note Detail
Reply to @grindhold@23.social
silverpill@silverpill@mitra.social (2026-06-14 04:00:06)
@grindhold
e.g. we had this situation where content was defined as a Proposal as string, whereas in Note it was common to have a mapping from lang-code to a string in the according language as content.
I'm not sure if I understand. Mapping from lang-code to string it not content, it's contentMap: https://www.w3.org/TR/activitystreams-core/#naturalLanguageValues.
Proposal was designed with duck typing in mind. Proposal.content is same as Note.content, Proposal.attributedTo is same as Note.attributedTo. If everyone designs their extensions this way, duck typing works great.
The conflicts might occur but the solution to this is to use better names. So far I seen only one conflict: between Bookwyrm's quote and Mastodon's quote. In such cases you can use type for disambiguation - I am not saying that we should drop type completely. Ironically, though, Bookwyrm does use content negotiation. When it thinks that remote server is not Bookwyrm, it sends a Note instead of the original type, Quotation, thus making disambiguation impossible.
That's exactly how content negotiation will work in practice.
@sabrinkmann @Profpatsch
---Reply---
grindhold@grindhold@23.social (2026-06-14 19:48:46)
@silverpill @sabrinkmann @Profpatsch in this particular case you are right. in the general case, as the fediverse is a decentral system, it might occur, that developer group A creates APObjectTypeA with a field named "foo" that does a specific thing. developer group B will create APObjectTypeB with a field named "foo" that does another thing. these object types will not be composable. as only one meaning of "foo" can exist simultaneously in a specific object.
Reply
---Replies---
Beady Belle Fanchannel@Profpatsch@mastodon.xyz (2026-06-14 23:14:39)
@grindhold @silverpill @sabrinkmann I think we should at least use a system that’s somewhat resistant to semantic overload, like CSS vendor prefixes.
e.g. add "flohmarkt:foobar" as a new field, and when it receives an FEP you can drop the prefix. So “on the edge” software can start by using the prefixed field, and then slowly migrate to unprefixed FEP once that’s there.