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