• 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.

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

              I see, thanks. That’s a test instance and therefore there may be other restrictions related to federation for that particular example.