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?
1 Like
What the heck has occurred here? I have never written like the undermentioned:
RokeJulianLockhart:
Discuss this on our forum.
...and someone's taken a sledgehammer to my markup.
1 Like
Oh! They’re federated now! I didn’t post that comment here . They’re merely rather broken in their federation:
The formatting isn’t conserved.
I am able to like my own posts.
It’s a separate user account, since it’s registered on another domain.
@icaria36 , no. Do you know of any?
I believe this is a WordPress site, and I just tested with a recent article, and I can find the URL on Mastodon indeed: Nature Holds Awe, Man – NHAM Mixtape 11 – NHAM
@icaria36 , I don’t think so. Discourse has native AP integration.
@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.
1 Like
@icaria36 , it’s probably a fault of Mastodon’s, then, since Discourse federates it:
Although meta.discourse.org/t/356997/8 is federated via ActivityPub to alternative Discourse instances, like socialhub.activitypub.rocks/t/5123/7, the URI is inaccessible at every Mastodon instance...
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: Why are supposedly ActivityPub-federated Discourse threads inaccessible via external AP clients? - #9 by rokejulianlockhart - Support - Discourse Meta
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.)
But the URLs provided by the “Notes” icon don’t throw any results when pasted on i.e. mastodon.social/search
.
Problem not solved.
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.
1 Like
Well, no, it seems that it might be a Discourse bug after all: Posts from Discourse do not resolve via the Search API · Issue #34632 · mastodon/mastodon · GitHub
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…
1 Like
@rokejulianlockhart or a mod can you remove the “Solution”, please? And move this topic to Bug (or create a new bug report) based on Mastodon’s assessment on Posts from Discourse do not resolve via the Search API · Issue #34632 · mastodon/mastodon · GitHub .
2 Likes
angus
(Angus McLeod)
May 19, 2025, 3:50pm
16
I’m not sure this is a bug in Discourse. I’ve responded on the issue on Mastodon. Cross posting here for convenience:
The reason we return a 400 in that scenario is that the ActivityPub spec seems to require it .
POST requests (eg. to the inbox) MUST be made with a Content-Type of application/ld+json; profile=“ActivityStreams 2.0 Terms ” and GET requests (see also 3.2 Retrieving objects ) with an Accept header of application/ld+json; profile=“ActivityStreams 2.0 Terms ”
@ClearlyClaire Is there a need to add text/html;q=0.1
to the Accept
header?
3 Likes
angus
(Angus McLeod)
May 20, 2025, 8:11am
17
This will be resolved soon. See further:
opened 02:05AM - 07 May 25 UTC
api
activitypub
### Steps to reproduce the problem
Call `/api/v2/search` with `resolve=true` fo… r a `q`uery of a Discourse post -- for example, https://meta.discourse.org/ap/object/5874fad7df806caa1fe34c382c1d2991
### Expected behaviour
The object should be resolved as a Status
### Actual behaviour
The search returns no results
### Detailed description
Per https://browser.pub/https://meta.discourse.org/ap/object/5874fad7df806caa1fe34c382c1d2991 the payload is as follows:
```http
HTTP/1.1 200 OK
cache-control: no-cache, no-store
cf-cache-status: DYNAMIC
cf-ray: 93bd1fc4d4df6773-ATL
connection: keep-alive
content-type: application/activity+json; charset=utf-8
cross-origin-opener-policy: same-origin
date: Wed, 07 May 2025 02:00:30 GMT
referrer-policy: strict-origin-when-cross-origin
server: cloudflare
strict-transport-security: max-age=31536000
transfer-encoding: chunked
vary: Accept
x-content-type-options: nosniff
x-discourse-route: discourse_activity_pub/ap/objects/show
x-frame-options: SAMEORIGIN
x-permitted-cross-domain-policies: none
x-request-id: d70bb69f-bf6b-4084-9d6a-342fa1c33df9
x-xss-protection: 0
{
"id": "https://meta.discourse.org/ap/object/5874fad7df806caa1fe34c382c1d2991",
"type": "Note",
"audience": "https://meta.discourse.org/ap/actor/a1ba34f9dd25f8ad96ce6efcbfb931e5",
"to": [
"https://www.w3.org/ns/activitystreams#Public",
"https://meta.discourse.org/ap/actor/a1ba34f9dd25f8ad96ce6efcbfb931e5"
],
"cc": [
"https://meta.discourse.org/ap/actor/a1ba34f9dd25f8ad96ce6efcbfb931e5"
],
"published": "2025-05-04T09:22:51Z",
"updated": "2025-05-04T09:22:51Z",
"url": "https://meta.discourse.org/t/why-are-supposedly-activitypub-federated-discourse-threads-inaccessible-via-external-ap-clients/356997/9",
"attributedTo": "https://meta.discourse.org/ap/actor/d721191fe3a461470f2dbbf85c1cc98e",
"context": "https://meta.discourse.org/ap/collection/0a5f1ca375b3dd95ce3e810e567f305c",
"content": "icaria36:<blockquote><p><code>https://meta.discourse.org/t/why-are-supposedly-activitypub-federated-discourse-threads-inaccessible-via-external-ap-clients/356997</code> cannot be found on Mastodon.</p></blockquote><p>@icaria36, it's probably a fault of Mastodon's, then, since Discourse federates it:</p><p><a href=\"https://github.com/mastodon/mastodon/discussions/34600#discussion-8278099\">https://github.com/mastodon/mastodon/discussions/34600#discussion-8278099</a></p><br><br><a href=\"https://meta.discourse.org/t/why-are-supposedly-activitypub-federated-discourse-threads-inaccessible-via-external-ap-clients/356997/9\">Discuss this on our forum.</a>",
"inReplyTo": "https://meta.discourse.org/ap/object/fda0d57b504bbfdfd91ec1f80bce1742",
"@context": "https://www.w3.org/ns/activitystreams"
}
```
The only things that look potentially off to me are:
- The `Content-Type` header has a `charset=utf-8` parameter on it
- The addressee `https://meta.discourse.org/ap/actor/a1ba34f9dd25f8ad96ce6efcbfb931e5` is present in both `to` and `cc`
### Mastodon instance
mastodon.social
### Mastodon version
v4.4.0-nightly.2025-05-07-security
### Technical details
_No response_
main
← angusmcleod:allow_text_html_get_requests
opened 08:02AM - 20 May 25 UTC
See further: https://github.com/mastodon/mastodon/issues/34632#issuecomment-2893… 266537
2 Likes