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?

  • @0x1C3B00DA@lemmy.ml
    link
    fedilink
    61 year 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】OP
      link
      fedilink
      21 year ago

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

      • @0x1C3B00DA@lemmy.ml
        link
        fedilink
        41 year 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.

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