I wrote a blog post about various #forge #federation myths: https://ta180m.exozy.me/posts/forge-federation-myths/
As usual, feel free to ask me questions about forge or #Gitea federation!
I wrote a blog post about various #forge #federation myths: https://ta180m.exozy.me/posts/forge-federation-myths/
As usual, feel free to ask me questions about forge or #Gitea federation!
@helene we'll be using mixture of ForgeFed types and core AS types. We plan on having features like commenting on an issue with a Mastodon account, but currently Mastodon violates the AP spec by ignoring any ForgeFed types: https://github.com/mastodon/mastodon/issues/18806
According to my nginx log, 85.49% of the viewers of that post were bots ?
@helene iirc the AP spec required servers to continue processing types that they don't recognize as best as they can. Mastodon could extract the name and content of ForgeFed ticket objects and render them as posts, for instance.
Type arrays are another solution, but Mastodon doesn't support them and go-ap, the library Gitea is using for federation, also doesn't support them the last time I checked.
@mike @helene Thanks for the correction. I'm actually not working on Gitea-Mastodon interoperability right now, and it was someone else that told me Mastodon was the problem and supposedly violating the spec. Also, Mastodon and go-ap (the AP library Gitea is using) both don't support type arrays, so that complicates any solution involving type arrays.
Yea, I don't think "violate spec" is accurate. #ActivityStreams-core:
> Consuming implementations that encounter unfamiliar extensions MUST NOT stop processing or signal an error and MUST continue processing the items as if those properties were not present. Note that support for extensions can vary across implementations and no normative processing model for extensions is defined.
Type as arrays is planned for go-activitypub.
@helene I think you're working with the assumption that all clients must work with all activity types. That in my opinion is wrong. Doing a "best effort" thing on what a client doesn't understand seems enough to me. Best effort being handling the properties that the client already understands (attributedTo, inReplyto, name, summary, To, CC, samd)
@humanetech @helene interesting, thanks for the clarification.
@helene @mariusor yes, that's right that this is about servers, not clients since Gitea isn't planning on implementing C2S, at least for now.
@helene for all the examples you gave above, I think they're all reasonable examples of servers processing types they don't understand. For instance treating repos as accounts is perfectly fine because you can follow repos, and treating issues as posts also makes sense so fediverse users can comment on them or even do emoji reacts.
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.