When I follow a community remotely, its handle always mimicks that of a user. E.g, asklemmy is @asklemmy@lemmy.ml

Does this imply that communities can reserve usernames? If not, how does Lemmy distinguish between users and communities remotely?

    • zergling_man@lemmy.perthchat.org
      link
      fedilink
      arrow-up
      3
      ·
      2 years ago

      The followup question then is whether a community and a user can have the same name, because to other AP software they both just become @name@instance. How does that get resolved?

      • 0x1C3B00DA@lemmy.ml
        link
        fedilink
        arrow-up
        5
        ·
        2 years ago

        Yes, lemmy allows communities and users to have the same name. Other software may not be able to handle this, e.g. mastodon. This causes compatibility issues with mastodon if you search for a user and a community with the same name. I think mastodon will just ignore the community because the name is already reserved on that instance. But if you search for a community that doesn’t overlap with a user, mastodon will resolve it correclty

        • 【alma】@lemmy.ml
          cake
          OP
          link
          fedilink
          arrow-up
          2
          ·
          2 years ago

          Out of curiosity, how come Lemmy can’t expose communities as “@!community@domain” instead?

          • 0x1C3B00DA@lemmy.ml
            link
            fedilink
            arrow-up
            4
            ·
            2 years ago

            I’m not a lemmy contributor so everything i’m saying here is conjecture.

            The problem is when any software does a webfinger request to get the Actor (which could be a user or community) they send a request that looks like GET lemmy.ml/.well-known/webfinger?acct=community@example.tldand lemmy’s response may contain multiple actors but mastodon expects only one actor. Lemmy handles this by fetching both actors in the webfinger response and checking their type, which will be User or Group (which is what lemmy calls communities).

            Note that the webfinger request doesn’t include the leading @ or ! character because those character are just UI affordances to linkify the community. The !community@domain.tld format isn’t a part of any standard and is never exposed to other software.

        • zergling_man@lemmy.perthchat.org
          link
          fedilink
          arrow-up
          1
          ·
          2 years ago

          I started reading the page on lemmy federation details (I don’t know when that appeared, but it’s going to make better AP docs than the RFC, surely), and realised that in fact the @user@instance syntax isn’t even real AP. Now it makes sense.