Retrospring / retrospring

Q/A based social network
https://retrospring.net
GNU Affero General Public License v3.0
242 stars 32 forks source link

ActivityPub support #395

Open Ryuno-Ki opened 2 years ago

Ryuno-Ki commented 2 years ago

Hey there :wave:

today I mentioned your service towards Humanetech on Mastodon. I noticed he reached out to you and asked, whether you would be interested in adding support for ActivityPub to join the fediverse.

I'm excited to read your reply and want to open an issue to keep track of it.

Looking at Mastodon (also written in Ruby) it appears that JSON-LD would be recommended:

https://github.com/mastodon/mastodon/blob/620b70c41e4b5d93f2268fd0318bd48e9823a8e1/Gemfile#L97

You can study their implementation over at https://github.com/mastodon/mastodon/tree/6cf57c676550068a59149ca82d63fcb5b5431158/app/lib/activitypub I believe.

pixeldesu commented 2 years ago

In general, we ourselves want ActivityPub support, as we are avid fediverse users too.

Issue is, before we get there, we want to refactor Retrospring, as the current codebase is not up to track to support being usable in multiple cases (data/logic presented in different formats or places).

So, while it's a huge wish of ours, with us being 2-3 volunteers (with full time jobs and other projects to tend to) this will probably take quite a while until it's realized. Unless of course we suddenly get a rush of contributors helping out.

aschrijver commented 2 years ago

Super, great to hear! I have added the project to delightful-fediverse-apps where we track all projects planning or in progress of adding AP support. It is in the 'Other' category.

At Delightful Club you can find 3 curated lists related to the fediverse, with project to be inspired by / learn from. Then the SocialHub is a good community forum for Q&A (for the time being :stuck_out_tongue_winking_eye: ) and has a crowdsourced Guide for new ActivityPub implementers with a ton of info.

Note that ActivityStreams has the as:Question activity, that may interesting to base the federation support on (possibly with a fallback for apps that don't understand the activity).