this post was submitted on 03 Mar 2025
1 points (100.0% liked)

ActivityPub

0 readers
2 users here now

Focused discussion related to ActivityPub integration in NodeBB


This is a forum category containing topical discussion. You can start new discussions by mentioning this category.

founded 1 month ago
 

Wanted to start a convo with @johnonolan@mastodon.xyz from Ghost and @angus@socialhub.activitypub.rocks from Discourse about AP resource discovery.

A common use case from fediverse users is to be linked out to a site, and attempt to "bring it in" to their local instance/app of choice. This is done by taking the browser URL and pasting it into their site/app's search bar, or equivalent.

For example:

For context, last night I discovered that Ghost's latest blog post didn't make it into NodeBB, due to a bug on my end. I attempted to resolve it via URL but there was no AP resource at that URL. I ended up having to query the instance actor (which I happened to already know), and looking at the outbox.

To my knowledge there is no way to find a Discourse post or topic's AP resource ID without having a local Discourse account.

Would it be possible for you to send back an HTTP 301 Moved Permanently (or similar) if the Accepts header contains one of the AP-related types?

N.B. This probably has some overlap with @evan@cosocial.ca's HTTP Discovery Task Force, a 308 is recommended there.

top 12 comments
sorted by: hot top controversial new old
[–] evan@cosocial.ca 1 points 2 weeks ago (1 children)

@julian @johnonolan @angus there's a whole task force for this. You've commented on it. Why does this need to be discussed?

[–] julian@community.nodebb.org 1 points 2 weeks ago

@evan@cosocial.ca this was to ask the mentioned parties for Ghost and Discourse to implement.

I mentioned you to keep you in the loop because task forces achieve nothing without implementors doing the work.

[–] rimu@piefed.social 1 points 2 weeks ago (1 children)

Object IDs should really be retrievable by http GET. See section 3.2 of https://www.w3.org/TR/activitypub

[–] julian@community.nodebb.org 1 points 2 weeks ago (1 children)

@rimu@piefed.social yes, that's right. I'm specifically referring to object urls though, which tend to be more user facing.

[–] rimu@piefed.social 1 points 2 weeks ago

You could save yourself some hassle and make urls and IDs the same value. But you do you :)

[–] silverpill@mitra.social 1 points 2 weeks ago (1 children)

@julian @johnonolan @angus @evan

Why 301 and not 302?
I am using 302. Probably chose it because everyone else was using it.

[–] julian@community.nodebb.org 1 points 2 weeks ago

@silverpill@mitra.social 302/307 is also fine by me. Probably safer from being accidentally cached and may be more appropriate in this situation.

[–] johnonolan@mastodon.xyz 1 points 2 weeks ago (1 children)

@julian @angus @evan interesting problem! Redirect feels like a slightly weird pattern to me, intuitively, but open to implementing any preferred approach

[–] julian@community.nodebb.org 1 points 2 weeks ago (1 children)

@johnonolan@mastodon.xyz A solution is only needed if the resource id is different from the URL (which in Ghost's case, is true).

You don't have to use a redirect. If your software is capable of doing it, you can serve the ActivityPub object directly from that route's controller; that's what NodeBB does.

[–] johnonolan@mastodon.xyz 1 points 1 week ago (1 children)

@julian If you want to make an issue here about what you'd like to see I'll make sure the team sees it :)

https://github.com/TryGhost/ActivityPub

[–] johnonolan@mastodon.xyz 1 points 1 week ago (1 children)

@julian (Thank you for the ping btw, I appreciate the note - this wasn't on my radar)

[–] julian@community.nodebb.org 1 points 1 week ago

@johnonolan@mastodon.xyz no worries, and thanks! Will do.