this post was submitted on 15 Jan 2023
7 points (100.0% liked)

Lemmy Support

157 readers
1 users here now

Support / questions about Lemmy.

Matrix Space: #lemmy-space

founded 5 years ago
MODERATORS
 

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?

you are viewing a single comment's thread
view the rest of the comments
[–] 0x1C3B00DA@lemmy.ml 5 points 2 years ago (2 children)

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 2 points 2 years ago (1 children)

Out of curiosity, how come Lemmy can't expose communities as "@!community@domain" instead?

[–] 0x1C3B00DA@lemmy.ml 4 points 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.

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.