Let’s say we have lemmy instances A, B, C.

alice from A makes a post “Hello, world” to B. What happens? How is it processed on servers A, B, C and how do users from A, B, C receive her post?

      • AbouBenAdhem@lemmy.world
        link
        fedilink
        English
        arrow-up
        4
        arrow-down
        1
        ·
        12 days ago

        Why not a binary flag or something? Is it just to avoid making it a formal part of the protocol?

        • flamingos-cant@feddit.uk
          link
          fedilink
          English
          arrow-up
          4
          ·
          12 days ago

          I actually don’t know, you’d need to ask someone privy to design decisions made with ActivityPub, like Prodromou or Lemmer-Webber. It’s definitely not to avoid making it part of the protocol, because it already is (see the link in the last comment).

          • AbouBenAdhem@lemmy.world
            link
            fedilink
            English
            arrow-up
            2
            ·
            edit-2
            12 days ago

            Thanks—I meant “formal” as in “formal grammar”, not that it wasn’t described in the published protocol. As in, there’s nothing in the protocol’s explicit form that distinguishes between this implied meaning and a real extra recipient—so it simplifies the parsing but adds an extra post-parsing step.

            • flamingos-cant@feddit.uk
              link
              fedilink
              English
              arrow-up
              1
              ·
              8 days ago

              What about JSON-LD makes it so they have to include the “this is public” declaration in the to field instead of having an as:public property on the object? (I don’t know a whole lot about JSON-LD or RDF more broadly)

        • JackbyDev@programming.dev
          link
          fedilink
          English
          arrow-up
          2
          arrow-down
          1
          ·
          edit-2
          10 days ago

          Because it is JSON-LD and that’s how JSON-LD works. It’s an extensible format. Similar to XML namespaces.

            • JackbyDev@programming.dev
              link
              fedilink
              English
              arrow-up
              1
              arrow-down
              1
              ·
              10 days ago

              I don’t understand the comment. It’s like calling the fact that firstName is in the JSON {"firstName": "Bob"} “over engineered bullshit” when they should’ve made some application specific protocol instead of using JSON. ActivityStreams and ActivityPub are built on top of JSON-LD to utilize existing libraries to represent linked data (that’s what the LD is). To specify what schemas are used there is a “context” field. There are other schemas as well. Take a look at https://schema.org/ to see them.

              If it feels over engineered it’s because it’s meant to be able to represent a wide variety of types of social media and typical interactions with them. I seriously doubt Mastodon (micro blogging) and Lemmy (link aggregation forum) would be able to interact easily if they weren’t “over engineered”.