LemmyNet / lemmy

🐀 A link aggregator and forum for the fediverse
https://join-lemmy.org
GNU Affero General Public License v3.0
13.29k stars 882 forks source link

[Bug]: Cannot distinguish between the user and the community if the usernames are the same #5052

Open sorairolake opened 2 months ago

sorairolake commented 2 months ago

Requirements

Summary

I tried to search https://lemmy.ml/c/linux from Misskey to follow this community but couldn't. Unlike this, https://lemmy.ml/c/opensource was able to search successfully. The difference between these is that the former has a user with the same name as the community.

I tried searching !linux@lemmy.ml in https://misskey.io/ and https://mastodon.social/ (using https://lemmy.ml/c/linux, !linux@lemmy.ml and @linux@lemmy.ml), both returned only the user (@linux@lemmy.ml) as a search result, and sometimes the search failed (depending on the syntax).

https://github.com/misskey-dev/misskey/issues/14614#issuecomment-2371138023 states:

I don't think there's a clean way for Misskey to resolve this. The preferredUsername in both ActivityPub JSONs of u/linux and c/linux in lemmy.ml are linux. The webfinger for acct:linux@lemmy.ml also doesn't show a clear distinction between the user/person and group/community.

IMO this is Lemmy's bug and they should resolve it.

I think that other ActivityPub implementations such as Mastodon, PeerTube, and Pixelfed, may also be unable to distinguish between the user and the community in such cases.

Steps to Reproduce

  1. Discover a user or a community with the same username
  2. Try searching for an account in other ActivityPub implementations

Technical Details

See above

Version

BE: 0.19.6-beta1

Lemmy Instance URL

lemmy.ml

Nutomic commented 2 months ago

This was previously discussed in https://github.com/LemmyNet/lemmy/issues/2037. Basically Lemmy stores users and communities in different database tables (namespaces), so there is no problem having a user and community with the same name. The only possible solution would be to prevent community creation if a user with that name already exists (and vice versa).

sorairolake commented 2 months ago

Is there any possibility to provide additional solutions to distinguish between the user and the community even in ActivityPub implementations such as Misskey and Mastodon which cannot distinguish between those?

informapirata commented 1 month ago

Is there any possibility to provide additional solutions to distinguish between the user and the community even in ActivityPub implementations such as Misskey and Mastodon which cannot distinguish between those?

No. Unfortunately, the choice of the Lemmy developers was a bit naive, because it did not take into account the serious limitations that today what is considered the "de facto standard" of the Fediverse and which is the most used software has.

However, the problem is that Mastodon is an ergonomically perfect software, but architecturally it is crap... Mastodon, Pleroma and Misskey are not able to distinguish between a normal user and a group user and this is ridiculous!

But if, instead of Mastodon, you used Friendica you would not have this problem and you would only have to search for the complete handle of the Lemmy community (https://lemmy.ml/c/linux), to find it, follow it and manage that user as an Activitypub group.... But not only that: if you also searched for the user @linux@lemmy.ml, you would find both, the user and the community!

This is why you should stop using Mastodon... :-)

image