I heard often about activityPub being challenging to implement.

Now I know part of this is because, if you are building on activityPub, you want interop with existing platforms such as mastodon, and they do their own thing.

But ignoring that aspect, what is so hard about activityPub? What could have been done better?

I am a software developer, so feel free to use software dev concepts and terms when explaining. Thanks!

    • RobotToaster@mander.xyz
      link
      fedilink
      English
      arrow-up
      10
      ·
      2 months ago

      the protocol doesn’t define how to ensure activities propagate to every server.

      Outboxes are kinda that, but as I understand it mastodon’s implementation is deliberately defective.

    • diffieQ@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      2 months ago

      What were some of the reasons as to why you “found it impossible to set up everything properly” re: C2S implementation? I’ve been trying to figure out why the C2S isn’t being adopted, as I think it solves many of the fediverse’s current UX challenges

    • JackbyDev@programming.dev
      link
      fedilink
      English
      arrow-up
      1
      ·
      2 months ago

      Unless two instances had the exact same set of servers they’re federated with then I wouldn’t expect any given content to have the same number of likes/comments/etc when viewed from different instances.

  • distant plant@microblog.lakora.us
    link
    fedilink
    arrow-up
    5
    ·
    2 months ago

    I think the biggest issue is HTTP Signatures - they’re not part of the standard, they’re not well-documented, and without them your server won’t federate with anything and so you have no idea whether it works.

    Plus sometimes an implementation works with Mastodon but not something else. I think Mastodon just uses certain headers when calculating the signature, but Bridgy Fed also includes the URL or something. The C# code I’d copied was programmed to exclude the URL always, so I had to change that, but it took a while to figure out that that was the issue.

    @[email protected] @[email protected]