Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reposting/crossposting to a community #4187

Open
4 tasks done
grahhnt opened this issue Nov 21, 2023 · 4 comments
Open
4 tasks done

Reposting/crossposting to a community #4187

grahhnt opened this issue Nov 21, 2023 · 4 comments
Labels
enhancement New feature or request

Comments

@grahhnt
Copy link

grahhnt commented Nov 21, 2023

Requirements

  • Is this a feature request? For questions or discussions use https://lemmy.ml/c/lemmy_support
  • Did you check to see if this issue already exists?
  • Is this only a feature request? Do not put multiple feature requests in one issue.
  • Is this a backend issue? Use the lemmy-ui repo for UI / frontend issues.

Is your proposal related to a problem?

If I see a post in the fediverse that would fit a community, it would be nice to crosspost/repost into that community

Describe the solution you'd like.

The ability to take any activitypub post and have the community boost it (similar to how communities "boost" posts made to them)

Some additional metadata (via activitypub addon) to show who crossposted/reposted the content to the community would be helpful

Describe alternatives you've considered.

Current solution to this is creating a URL post with the link to the content, but that prevents comments/upvotes from being federated back to the original content

Additional context

No response

@grahhnt grahhnt added the enhancement New feature or request label Nov 21, 2023
@bjoern-tantau
Copy link

Yeah, it would be nice if I could share one post across multiple communities and then have all the comments in just one place. As it is now everyone has to decide for themselves where to comment.

It would also help with seeing the same post multiple times if one is subscribed to multiple similar communities.

@db0
Copy link
Contributor

db0 commented Jan 30, 2024

@bjoern-tantau this is something else entirely. Check #818

This is about crossposting from the larger fediverse if I understand correctly, which could make a lot of sense to facilitate interaction.

Currently the only way to crosspost from somewhere like mastodon is to link to the post, which requires people to visit the post to read it (loading new pages etc). It would be nicer if lemmy could use an embed, so that it could expand the microbloging post directly from the UI, or even just create a crosspost in a community with the content of the microblogging post as text.

@grahhnt
Copy link
Author

grahhnt commented Jan 30, 2024

@db0 it could be a half implementation of #818, just requiring a lot more manual effort (which would also be used as a "proof-of-concept" for usage of the multi-community)

but the original intention of this request would to help facilitate larger fediverse interation ("this post would benefit from a larger audience and it fits this topic in this community")

I also looked into creating a PR for this feature because it's already implemented for Mastodon (and other fedi services) to mention the community's actor and have it appear in the community. the implementation I was thinking of is using the URL field on new posts to determine what to crosspost into the community

Going that way would also already trigger the authorization rules for posting to a community (preventing banned users from crossposting content into a community)

Although I haven't made any meaningful contributions to any Rust project, so we will see if I can accomplish that 😅

@grahhnt
Copy link
Author

grahhnt commented Mar 11, 2024

for anyone that knows rust, here's my findings for how this would be implemented

Lemmy handles incoming ActivityPub posts that should be posted into a community (eg via a mention of a community's actor on mastodon for example) in this file

using the logic in place from that, you should be able to intercept a post being created by a user to check if the URL provided is another ActivityPub object, and if it is (given the user can post in the community) use the above mentioned logic to handle it as a mention

  • this check would only be done for local users on local communities to prevent issues with other instances not supporting creating new posts that you don't own

that could only be used as a tech demo as it does cause a couple issues:

  • if a post was previously purged by an admin, this will re-fetch it and put it back in the database
  • this has no way to determine who caused the crosspost as it will not show up as the person who started the interaction
  • post title & body will be lost as it's no longer handling that

benefits:

  • since the post created is the same ActivityPub object, if one gets purged, presumably the rest will be
  • individual creators will get more direct recognition for their posts (and keep comment sections unified)
  • more interop between fediverse services, no longer requiring opening a URL to see the post and not being able to interact with it via your Lemmy account
  • this should not require changes in any frontend due to posts (eg from mastodon) already being displayed currently

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants