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

FEP-3b86 #5453

Open
5 tasks done
benpate opened this issue Feb 23, 2025 · 4 comments
Open
5 tasks done

FEP-3b86 #5453

benpate opened this issue Feb 23, 2025 · 4 comments
Labels
area: federation support federation via activitypub enhancement New feature or request

Comments

@benpate
Copy link

benpate commented Feb 23, 2025

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.
  • Do you agree to follow the rules in our Code of Conduct?

Is your proposal related to a problem?

FEP-3b86: Activity Intents is a small change to the data published by WebFinger that would improve how Lemmy connects to other Fediverse servers.

Describe the solution you'd like.

Implementing this FEP is as simple updating WebFinger results to include the URLs that let website visitors perform Activities on their own server (such as Follow, Like, or Announce). Then, other websites can use this information to display interactive buttons to take those actions.

Describe alternatives you've considered.

Activity Intents is similar to the old oStatus "remote follows" but it is 1) works for any kind of Activity, not just Follow, and 2) has actual documentation instead of linking to a Chinese gambling site.

Additional context

Activity Intents make it possible for a remote server to display (for example) "Share" or "Like" buttons that lets Lemmy users interact with the remote pages using their home Lemmy account.

This is an easy addition that helps connect the social web together, in more ways than just through their timeline.

I am not a Rust developer, so I probably shouldn't try to make this change to Lemmy myself, but I'm happy to work with anyone who's interested in making this enhancement.

@benpate benpate added the enhancement New feature or request label Feb 23, 2025
@benpate
Copy link
Author

benpate commented Feb 25, 2025

Sorry, RUST. I’m not a RUST developer either. Edited. :)

@dessalines dessalines added the area: federation support federation via activitypub label Feb 25, 2025
@Nutomic
Copy link
Member

Nutomic commented Feb 26, 2025

Not sure which other endpoints there are, at least /create_post takes query parameters for url, title, body etc. So it should probably look like this:

    {
      "rel": "https://w3id.org/fep/3b86/Create",
      "href": "https://example.com/create_post?title={name}&body={content}"
    },

In this case there is no param for url. Generally the FEP relies on Activitypub IDs for many parameters, but Lemmy uses simple int ids for the API. So this approach is not going to work well unless someone decides to implement new endpoints for all these (which is not really wirth the effort).

@benpate
Copy link
Author

benpate commented Feb 26, 2025

Hey, thanks for taking a look at this!

Implementing inbound shares activities should be straightforward, and definitely SHOULD NOT require new endpoints.

For create activities, I’m expecting the URL would be put in the content field, which mirrors how Mastodon handles “share” pages now.

If Lemmy requires a URL separate from the content, we should probably update the FEP.

@dessalines
Copy link
Member

I spose this is about the webfinger actions for persons and groups: https://github.com/LemmyNet/lemmy/blob/main/crates/routes/src/webfinger.rs#L96

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

No branches or pull requests

3 participants