Why are supposedly ActivityPub-federated Discourse threads inaccessible via external AP clients?

Example

If I enter [https://meta.discourse.org/t/uris-to-the-origin-of-a-thread-that-has-since-been-merged-should-503-to-the-merged-comment/342417?u=rokejulianlockhart][1] (or [https://meta.discourse.org/ap/object/bc8f042ccca5ef56734c5f2460aa45cc][2]) [^1] into [mastodon.social/search][3], it 404s: [^2] [^3]

If this isn't Discourse's fault, I'll take this to Mastodon. However, most other AP platforms that I've tried (that I've expected to work) have worked.

[1]: https://meta.discourse.org/t/uris-to-the-origin-of-a-thread-that-has-since-been-merged-should-503-to-the-merged-comment/342417?u=rokejulianlockhart[2]: https://meta.discourse.org/ap/object/bc8f042ccca5ef56734c5f2460aa45cc[3]: https://mastodon.social/search[4]: https://mastodon.social/search?q=https%3A%2F%2Fmeta.discourse.org%2Fap%2Fobject%2Fbc8f042ccca5ef56734c5f2460aa45cc#:~:text=Posts-,No%20results.,-Explore[5]: https://mastodon.social/search?q=https%3A%2F%2Fmeta.discourse.org%2Ft%2Furis-to-the-origin-of-a-thread-that-has-since-been-merged-should-503-to-the-merged-comment%2F342417%3Fu%3Drokejulianlockhart#:~:text=Posts-,No%20results.,-Explore

[^1]: [https://meta.discourse.org/t/uris-to-the-origin-of-a-thread-that-has-since-been-merged-should-503-to-the-merged-comment/342417?u=rokejulianlockhart][1][^2]: [search?q=https%3A%2F%2Fmeta.discourse.org%2Fap%2Fobject%2Fbc8f042ccca5ef56734c5f2460aa45cc][4][^3]: [search?q=https%3A%2F%2Fmeta.discourse.org%2Ft%2Furis-to-the-origin-of-a-thread-that-has-since-been-merged-should-503-to-the-merged-comment%2F342417%3Fu%3Drokejulianlockhart][5]



Discuss this on our forum.
1 Like

I'm missing this as well. Without this, it is hard or impossible to interact with federated posts unless they are in your timeline already.

@rokejulianlockhart, just curious, have you tried with URLs of WordPress instances using the WP ActivityPub plugin?



Discuss this on our forum.
2 Likes

What the heck has occurred here? I have never written like the undermentioned:

…and someone’s taken a sledgehammer to my markup.

RokeJulianLockhart1:

What the heck has occurred here?

Oh! They’re federated now! I didn’t post that comment here. [^1] They’re merely rather broken in their federation:

  1. The formatting isn’t conserved.

  2. I am able to like my own posts.

    It’s a separate user account, since it’s registered on another domain.

[^1]: socialhub.activitypub.rocks/t/5123/3

icaria36:

@rokejulianlockhart, just curious, have you tried with URLs of WordPress instances using the WP ActivityPub plugin?

@icaria36, no. Do you know of any?



Discuss this on our forum.

I believe this is a WordPress site, and I just tested with a recent article, and I can find the URL on Mastodon indeed: https://nham.co.uk/2025/05/nature-holds-awe-man-nham-mixtape-11/



Discuss this on our forum.

@icaria36, I don't think so. Discourse has native AP integration.



Discuss this on our forum.

@rokejulianlockhart To your point when you created this topic, meanwhile, https://meta.discourse.org/t/why-are-supposedly-activitypub-federated-discourse-threads-inaccessible-via-external-ap-clients/356997 cannot be found on Mastodon.



Discuss this on our forum.
1 Like

icaria36:

Why are supposedly ActivityPub-federated Discourse threads inaccessible via external AP clients? - Support - Discourse Meta cannot be found on Mastodon.

@icaria36, it’s probably a fault of Mastodon’s, then, since Discourse federates it:

https://github.com/mastodon/mastodon/discussions/34600#discussion-8278099



Discuss this on our forum.

1 Like

github.com/mastodon/mastodon/discussions/34600#discussioncomment-13031935 states:

The Discourse AP plugin makes ActivityPub objects available when you click the green ActivityPub logo and click the "Note" button to copy the URL: https://meta.discourse.org/ap/object/5874fad7df806caa1fe34c382c1d2991

Discourse AP needs to make the url link back to the id in some way, preferably via a redirect on requests with the correct Accept content negotiation header.

~~Consequently, I'll tentatively set this as a #bug.~~ (I can't. Too old.)



Discuss this on our forum.

But the URLs provided by the "Notes" icon don't throw any results when pasted on i.e. mastodon.social/search.

Problem not solved.



Discuss this on our forum.
1 Like

@icaria36, please comment that on the GitHub Discussion. Having someone else challenge the response lends some more credibility than having me be the liason.



Discuss this on our forum.
1 Like

rokejulianlockhart:

it’s probably a fault of Mastodon’s, then

Looks like that:

https://github.com/mastodon/mastodon/issues/34632



Discuss this on our forum.

1 Like

Well, no, it seems that it might be a Discourse bug after all: https://github.com/mastodon/mastodon/issues/34632#issuecomment-2858004832

Investigating a bit more, Mastodon requests the resource with the following Accept header:

Accept: application/activity+json, application/ld+json; profile="https://www.w3.org/ns/activitystreams", text/html;q=0.1

Querying discourse with this results in the HTTP 400 response.

Omitting the text/html;q=0.1 returns an ActivityStreams object. So this seems to be a bug with Discourse, which seems to return a 400 anytime text/html is part of the accepted types…



Discuss this on our forum.