• alr@programming.dev
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    That’s a harder proposition than you might think. On the one hand, UUIDs are mathematically guaranteed to be universally unique, which is great. On the other hand, there has to be some way to go from a UUID to a particular post, which suggests a lookup table, but the federated nature of Lemmy basically makes that impossible, since there’s no assurance that any instance is aware of any other instance.

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

      which suggests a lookup table

      No, it only suggests an additional field in the Post table

      since there’s no assurance that any instance is aware of any other instance

      It already works like that, but slightly worse because post IDs aren’t the same across instances. If you search a newly-created community from another instance here, you just won’t find it until it’s synced, despite its URI being unique.

      Thinking about it, it would be possible to have an URI for posts like post:${id}@instance.com, similar to how user URIs and community URIs are made. This way, you could open /post/1772651 on lemmy.world or post:1772651@lemmy.world on, idk, lemmy.blahaj.zone or something.

    • ruffsl@programming.devOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      Another issue is whether the post from a remote instance is colocated on your local instance. It could be the case that your instance never observed the post, as no users on your local instance where first subscribed, to the remote community the post was summited to, before the post was published.

      • canpolat@programming.dev
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        This is probably not the correct place to as this and I don’t know the inner workings of Lemmy, so forgive the stupid question. Does that mean, for an external post to get a programming.dev ID does someone in programming.dev instance to have been subscribed to the community the post was originally shared? Is that why I don’t see any posts at for example https://programming.dev/c/testbot42@voyager.lemmy.ml even though I see them at https://voyager.lemmy.ml/c/testbot42? If that’s the case, it sounds like an important limitation.

        • ruffsl@programming.devOP
          link
          fedilink
          English
          arrow-up
          2
          ·
          1 year ago

          The first link you listed (viewing the remote community from our local instance) shows 0 subscribers from the sidebar. From my understanding, no one from our instance is then subscribed to that remote community, so our instance has no reason to index those posts. Although I could be wrong, and it could be that no one from our local instance is subscribed to any community on the remote instance. I’m unsure if only instance federation or community subscription is necessary for merrioring/indexing remote posts.