LemmyNet / lemmy

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

Interact with Mastodon #3434

Closed Madis0 closed 1 year ago

Madis0 commented 1 year ago

Requirements

Is your proposal related to a problem?

I'd like to follow and interact with Mastodon users from Lemmy.

Describe the solution you'd like.

A protocol-level way to subscribe to, reply to and otherwise interact with Mastodon users. As Mastodon is on ActivityPub, and as Mastodon users can already interact with Lemmy (although the UI interaction is clumsy in that direction), this should be possible to do.

Describe alternatives you've considered.

Well, there is Kbin which kind of allows that (limited by server capacity or something, not sure) and is said to be compatible with Lemmy... but I still prefer Lemmy itself for various reasons right now.

Additional context

As for the how, I'd imagine the interaction to be like this:

JupiterRowland commented 1 year ago

Keep in mind that the Fediverse is not only Mastodon, Lemmy and /kbin.

If this is built specifically and only against Mastodon, it will discriminate against anything that's neither of these three by disregarding them.

So either this needs to be done on a broader and more general level to enhance compatibility with everything out there that isn't Lemmy or /kbin, or if there has to be specific code for Mastodon, there might also have to be specific code for Pleroma, for Akkoma, for MissKey, for CalcKey, for FoundKey, for Mitra, for Socialhome, for GoToSocial, for Friendica, for Hubzilla, for (streams)...

mpeter50 commented 1 year ago

It might be useful to mention that Mastodon user profiles can currently be opened with a profile name like this: /u/<profilename>@<instance name>. (example: /u/elonjet@mastodon.social). This does not seem to work in the search menu, but if you find it in the content of a post or a comment, it should work both on the official web ui, and also in the liftoff android app.

However, there is no option to subscribe to it, and since no one did so from my instance, the profile's history is empty.

maegul commented 1 year ago

Generally I like the How you've come up with (though I'm confused as to the difference between Toot replies and replies to toots).

Thinking about this, though ignorant of the code base, I'm thinking mapping someone's microblog to the idea of a community with a single author makes a lot of sense as that structure is already available in the code base. Should the way in which it gets federated be sorted it out, it feels like it wouldn't require a massive amount of work, unless the creation of multitudes of communities for each user interacting with an instance disrupts the schemas of the database.

Moreover, extending this, each lemmy user could also have their own microblogging community in which they are the sole possible author. This would then make lemmy a multi paradigm platform, and actually be quite cool!

Madis0 commented 1 year ago

though I'm confused as to the difference between Toot replies and replies to toots

Good point, clarified now.

basxto commented 1 year ago

I might be to much used to reddit, but that sounds a lot like it’s profile posts.

Those get put in /user/*/comments/ for some reason and only show up in a users profile.

Nutomic commented 1 year ago

Like you said, Kbin already supports this. No need to reimplement it in Lemmy, definitely wouldnt be worth all the effort.

mpeter50 commented 1 year ago

Sorry, I don't understand. Do you recommend everyone to also register a Kbin account to read Mastodon user pages?

Nutomic commented 1 year ago

You can also use Mastodon or Pleroma or Akkoma or Misskey. There is really no lack of platforms which can do that. I dont see why Lemmy should also implement that.

TheAwiteb commented 2 months ago

Could we consider reopening this issue? I really like Lemmy, and this feature is quite important. The last commit to Kbin was made in 2023, and it's now August 2024! Even the kbin.pub site just displays a 'Welcome to nginx!' page, which suggests that the project may no longer be active.

CC: @Nutomic @dessalines

dessalines commented 2 months ago

We have way too much on our plate to support user-following right now, and it'd be quite a large rework. If someone wanted to add it they could start, but its a large task.

TheAwiteb commented 2 months ago

If someone wanted to add it they could start, but its a large task.

Great, so could you reopen the issue? For someone to claim it

dessalines commented 2 months ago

I'll do that if someone wants to take it on, and I'll assign it to them.

dullbananas commented 2 months ago

@dessalines I think instead of closing issues, separation of issues that no one feels like working on should instead be done with labels or milestones. I feel like the best option would be a "future" milestone that doesn't include what no one feels like working on.

mpeter50 commented 2 months ago

I agree, closing an issue is like marking it as done, either because it was solved (completed as github calls it) or because it is "wontfix" (not planned as github calls it).

If you are open to this being implemented, I think having it open with a special label that means not on the roadmap would be more appropriate. Or if not, the "not planned" status is more appropriate, which is an alternative you can set with the close button. But currently this is closed as "completed", which signals to someone searching the issues that it was implemented.

Nutomic commented 2 months ago

I am completely against this feature, Lemmy should be focused on community following. User following would require tons of work to implement, for a feature that is already supported in KBin and a dozen other platforms.

mpeter50 commented 2 months ago

for a feature that is already supported in KBin and a dozen other platforms

Which all require a different registration and different client software, and which will not make followed users' posts appear in the same feed. Also, KBin is not being maintained anymore, or it has a longer break for now at least. Sadly Ernest may have burnt out from the high moderation needs.

Please dont take this personally, but this attitude is like saying why keep federation with other ActivityPub platforms when you can just register to them, and then closing the issue with an unspoken wontfix.

Lemmy should be focused on community following.

Why do you think so? It can be a totally valid vision, but right now I dont see why that is beneficial, especially that it essentially blocks following content from user-centric platforms, where there are no communities but only users. Why is it better that Lemmy is only about following communities? I'm asking this with interest, not as an attack or something.

Being able to follow Mastodon hashtags might be some kind of a solution to the main problem stated in this issue, but as I see with Mastodon-like platforms the focus is on specific people and brands, not necessarily specific topics. To be clear, with brands I mean those like F-droid, LineageOS, Mastodon itself, Pixelfed, Proton and Tutanota, and with people I mostly mean iconic people like IzzyOnDroid, you and Nutomic, Eugen of Mastodon, your followed content creators, and such.

User following would require tons of work to implement

That I understand. But, I think its fine to just keep the door open, without actively working on it yourselves, to let whoever do the required work who feels they could do it.

Nutomic commented 2 months ago

Its basically the unix philosphy, do one thing and do it well. Even with the current feature set we are unable to keep up with all the feature requests and bug reports. That would get even worse if we were to add such a complex new feature. If someone else implements the feature that wont help with the maintenance work afterwards.

I might change my mind on this if our development resources increase by 10x or more and we run out of features to work on, but thats not going to happen anytime soon.

dessalines commented 1 month ago

@mpeter50 If anyone wants to do that work, we can re-open and assign it to them. But as this is an issue-tracker for active devs, we're so overloaded with other things that we can't see working on it atm.