So like, how does Lemmy work?

When I click on a post, let’s say Lemmy.World, that server sends me the page over the Internet. I get that part. But how does it do comments? Does it tell my phone to go ask lemm.ee and blahaj servers, etc, and fetch the comments?

And why does a post on lemmy.world have have a blahaj URL when I look at it? Is my server making a copy?

  • fuckwit_mcbumcrumble@lemmy.dbzer0.com
    link
    fedilink
    arrow-up
    3
    ·
    7 hours ago

    .worlds server gets told a .ee user replied and stores that internally. Your phone goes to .world and .world says everything it knows.

    Pictures don’t carry over, that’s up to .ee to keep the full photo.

  • bdonvr@thelemmy.club
    link
    fedilink
    arrow-up
    8
    ·
    13 hours ago

    Here’s the basics:

    Pretend that there’s only three lemmy servers in the world, lemmy1/lemmy2/lemmy3.

    At first they will be completely isolated and they won’t talk. Until a user of lemmy1 searches for a community on lemmy2, for example [email protected]. lemmy1 will see that that community belongs to another server, reach out to it and ask for info. The user of lemmy1 will see that the community exists but not much else and unless they subscribe, not much else will happen.

    But if they do subscribe, then the lemmy1 server will reach out to the other and tell them that the user subscribed. From then on out anytime anything happens on [email protected] the lemmy2 server will send a message to the lemmy1 server which will save a local copy. Any time a lemmy1 user comments or votes on content in [email protected] the lemmy1 server will similarly send a message to the other server.

    So let’s say something similar happens with a user on lemmy3 subscribing to that community. Then a user on lemmy1 makes a post to the lemmy2 community. The lemmy1 server will send a message to lemmy2 which will record the post and display it to its users, and then it will send a message to lemmy3 that there’s a new post in the community so that their users can see it too.

    • sem@lemmy.blahaj.zoneOP
      link
      fedilink
      arrow-up
      1
      ·
      5 hours ago

      So the size of the home server grows over time as it stores text comments from other places it federates with.

      One thing I’m confused is if Lemmy1 and Lemmy3 aren’t subscribed to each other, but they both comment on a thread on Lemmy2, will they see each other’s comments?

      • bdonvr@thelemmy.club
        link
        fedilink
        arrow-up
        1
        ·
        4 hours ago

        The size of all involved instances grows since they all store a copy.

        if Lemmy1 and Lemmy3 aren’t subscribed to each other, but they both comment on a thread on Lemmy2, will they see each other’s comments?

        Yes, when lemmy2 receives a comment from an outside instance it will then send that comment to all subscribed instances.

  • Brkdncr@lemmy.world
    link
    fedilink
    arrow-up
    31
    arrow-down
    1
    ·
    18 hours ago

    Your server is retrieving another servers content. Your server is posting your content to other servers.

  • Snot Flickerman@lemmy.blahaj.zone
    link
    fedilink
    English
    arrow-up
    17
    ·
    17 hours ago

    And why does a post on lemmy.world have have a blahaj URL when I look at it? Is my server making a copy?

    Yes, it is, and you’re looking at a local version of it. For Blahaj especially this matter as blahaj doesn’t federate downvotes, so you never see downvotes on the blahaj version of a post.

  • 𞋴𝛂𝛋𝛆@lemmy.world
    link
    fedilink
    English
    arrow-up
    11
    ·
    16 hours ago

    There are transporter bots that admin configure to run in the background. These are what transport the likes and comments between instance servers. You are connected to one of these instance servers. LW has a large volume of interactions so some instances may limit how often or what is transported by the bots between servers. It is all done with activity hub protocol. Take a minute in a desktop browser to view the page source for Lemmy and you’ll better understand what is involved and how information is passed around. It looks like structured text. This is pretty easy to spot even if you are unfamiliar with code. You’ll likely understand why the message exists about DM not being private too, and maybe understand why blocking works poorly on Lemmy as that is pretty much implied.

    If an instance defederates, what that actually means is that the admin is not allowing the automated background bots to carry activities between the two instances. Everything up to that point is already synchronized and does not go away.