• Ethereal Zucchini@lemmy.world
    link
    fedilink
    English
    arrow-up
    3
    ·
    1 year ago

    How does this work exactly? If another instance blocks lemmy.world for example can I still see (but not interact with) content on the other instance, or is it completely invisible?

    • CthuluVoIP@lemmy.world
      link
      fedilink
      English
      arrow-up
      18
      ·
      1 year ago

      Basically it works like this:

      Instances A, B, and C are federated initially. When a user posts on Instance A, users on Instances B & C can see and interact with the post directly. Any comments they make will be sent back to Instance A as the “home” instance for that content.

      Now let’s say Instance A decides they don’t care for the type of interaction they’re getting from Instance C’s users and decides to block - or defederate - Instance C.

      To users on instance A, nothing changes other than new posts and comments from users on Instance C will no longer show up. To users on Instance B, nothing changes other than new comments from users on Instance C won’t appear in posts they interact with on Instance A. However, for Instance C, things are suddenly branched.

      On Instance C, any posts that were created prior to defederation still exist in Instance C’s record. However, any comments that users on Instance C commit to those posts will no longer be distributed to users on Instances A or B, because Instance A maintains the “primary” record of the post. Similarly, Instance C’s users will not receive updated comments from users on Instance A OR Instance B, because again, Instance A is what determines which comments appear in federated instances. Furthermore, new posts created on Instance A will no longer show up in users’ feeds on Instance C. From the moment of defederation, Instance C’s copies of all posts on Instance A are now distinct, and the only new comments or updates they will receive will be from local users on Instance C.

      • AnonymousLlama@kbin.social
        link
        fedilink
        arrow-up
        4
        ·
        1 year ago

        Cheers on the detailed explanation. At some point we should get a GIF going to visualize it, it’ll be much easier to explain to new people

      • mauve@lemmy.pro
        link
        fedilink
        English
        arrow-up
        2
        ·
        1 year ago

        Thanks, very helpful! What about posts from instance B and comments in instance B post? I’m assuming instance B users can see both comments from instance A users and instance C users but for them (instance A and C users), they can only see their respective instance users’ comments and instance B users’ comments?

        • CthuluVoIP@lemmy.world
          link
          fedilink
          English
          arrow-up
          2
          ·
          1 year ago

          The most important part of the federation process is played by whichever instance hosts the original post. They’re the hub and all other instances are the spokes.

          So once Instance A defederates from Instance C, nothing Instance C users add to posts hosted by Instance A will be added to the master manifest. Basically, everyone is updating Instance A’s copy of the post, and that copy is then being redistributed to all other federated Instances.

          Once Instance A defederates from Instance C, the only time their users will interact from that point forward is on a mutually federated instance. Both communities can comment and interact on a post hosted by Instance B.