Мне тоже не хватает этого. Без этого взаимодействовать с федеративными постами сложно или невозможно, если они еще не появились в вашей ленте.
@rokejulianlockhart , просто интересно: пробовали ли вы работать с URL-адресами экземпляров WordPress, использующими плагин WP ActivityPub?
1 лайк
Что, черт возьми, здесь произошло? Я никогда не писал так, как ниже:
RokeJulianLockhart:
Обсудите это на нашем форуме.
...и кто-то разнес мой разметку кувалдой.
1 лайк
О! Теперь они федерированы! Я не публиковал этот комментарий здесь . У них просто федерация работает со сбоями:
Форматирование не сохраняется.
Я могу лайкать свои собственные посты.
Это отдельная учётная запись, так как она зарегистрирована на другом домене.
@icaria36 , нет. Вы знаете какие-нибудь?
Я считаю, что это сайт на WordPress, и я только что протестировал его на недавней статье: действительно, я смог найти ссылку в Mastodon: Nature Holds Awe, Man – NHAM Mixtape 11 – NHAM
@icaria36 , я так не думаю. В Discourse есть нативная интеграция с AP.
@rokejulianlockhart Касательно вашего замечания, которое вы высказали при создании этой темы, между тем ссылка https://meta.discourse.org/t/why-are-supposedly-activitypub-federated-discourse-threads-inaccessible-via-external-ap-clients/356997 не находится в Mastodon.
1 лайк
@icaria36 , это, скорее всего, ошибка Mastodon, так как Discourse обеспечивает федерацию:
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 лайк
github.com/mastodon/mastodon/discussions/34600#discussioncomment-13031935 утверждает:
Плагин Discourse AP делает объекты ActivityPub доступными, если вы нажмёте на зелёный логотип ActivityPub и затем кнопку «Note», чтобы скопировать URL: Why are supposedly ActivityPub-federated Discourse threads inaccessible via external AP clients? - #9 by rokejulianlockhart - Bug - Discourse Meta
Discourse AP должен каким-то образом связывать ссылку url с id, предпочтительно через редирект при запросах с правильным заголовком согласования содержимого Accept.
Следовательно, я пока поставлю этому метку bug . (Не могу. Слишком старая запись.)
Но URL-адреса, предоставляемые иконкой «Заметки», не дают никаких результатов при вставке, например, в mastodon.social/search .
Проблема не решена.
1 лайк
@icaria36 , пожалуйста, прокомментируйте это в обсуждении на GitHub. Когда кто-то другой оспаривает ответ, это придает ему больше авторитета, чем если бы я выступал в качестве посредника.
1 лайк
Что ж, нет, похоже, что это всё-таки ошибка в Discourse: Posts from Discourse do not resolve via the Search API · Issue #34632 · mastodon/mastodon · GitHub
Проведя дополнительное расследование, обнаружено, что Mastodon запрашивает ресурс со следующим заголовком Accept:
Accept: application/activity+json, application/ld+json; profile="https://www.w3.org/ns/activitystreams", text/html;q=0.1
Запрос к Discourse с таким заголовком приводит к ответу HTTP 400.
Если исключить text/html;q=0.1, возвращается объект ActivityStreams. Похоже, это ошибка в Discourse, который возвращает 400 всякий раз, когда text/html входит в список принимаемых типов…
1 лайк
@rokejulianlockhart или модератор, пожалуйста, удалите «Решение» и переместите эту тему в bug (или создайте новый отчёт об ошибке) на основе оценки Mastodon: Posts from Discourse do not resolve via the Search API · Issue #34632 · mastodon/mastodon · GitHub .
2 лайка
angus
(Angus McLeod)
19.Май.2025 15:50:07
16
Я не уверен, что это ошибка в Discourse. Я ответил на эту проблему в Mastodon. Дублирую здесь для удобства:
Мы возвращаем 400 в этом сценарии, потому что спецификация ActivityPub кажется, требует этого .
POST-запросы (например, в почтовый ящик) ДОЛЖНЫ выполняться с Content-Type: application/ld+json; profile=“ActivityStreams 2.0 Terms ”, а GET-запросы (см. также 3.2 Получение объектов ) — с заголовком Accept: application/ld+json; profile=“ActivityStreams 2.0 Terms ”
@ClearlyClaire Нужно ли добавлять text/html;q=0.1 в заголовок Accept?
2 лайка
angus
(Angus McLeod)
20.Май.2025 08:11:36
17
Это будет решено в ближайшее время. Подробнее:
opened 02:05AM - 07 May 25 UTC
closed 12:01PM - 21 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
merged 07:52PM - 20 May 25 UTC
See further: https://github.com/mastodon/mastodon/issues/34632#issuecomment-2893… 266537
3 лайка