¿Por qué los hilos de Discourse supuestamente federados por ActivityPub son inaccesibles desde clientes AP externos?

Ejemplo

Si introduzco 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 (o https://meta.discourse.org/ap/object/bc8f042ccca5ef56734c5f2460aa45cc) [1] en mastodon.social/search, me da 404: [2] [3]

Si esto no es culpa de Discourse, lo llevaré a Mastodon. Sin embargo, la mayoría de las otras plataformas AP que he probado (que esperaba que funcionaran) han funcionado.


  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. search?q=https%3A%2F%2Fmeta.discourse.org%2Fap%2Fobject%2Fbc8f042ccca5ef56734c5f2460aa45cc ↩︎

  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 ↩︎

1 me gusta

También extraño esto. Sin esto, es difícil o imposible interactuar con publicaciones federadas a menos que ya estén en tu línea de tiempo.

@rokejulianlockhart, solo tengo curiosidad, ¿has probado con URLs de instancias de WordPress que usan el plugin WP ActivityPub?

1 me gusta

¿Qué demonios ha ocurrido aquí? Nunca he escrito como lo siguiente:

RokeJulianLockhart:

Discute esto en nuestro foro.

...y alguien le ha dado un mazazo a mi marcado.

1 me gusta

¡Oh! ¡Ahora están federados! No publiqué ese comentario aquí. [1] Simplemente están bastante rotos en su federación:

  1. El formato no se conserva.

  2. Puedo dar “me gusta” a mis propias publicaciones.

    Es una cuenta de usuario separada, ya que está registrada en otro dominio.

@icaria36, no. ¿Conoces alguna?


  1. socialhub.activitypub.rocks/t/5123/3 ↩︎

Creo que este es un sitio de WordPress y acabo de probar con un artículo reciente y, de hecho, puedo encontrar la URL en Mastodon: Nature Holds Awe, Man – NHAM Mixtape 11 – NHAM

@icaria36, no lo creo. Discourse tiene integración AP nativa.

@rokejulianlockhart A tu punto cuando creaste este tema, mientras tanto, https://meta.discourse.org/t/why-are-supposedly-activitypub-federated-discourse-threads-inaccessible-via-external-ap-clients/356997 no se puede encontrar en Mastodon.

1 me gusta

@icaria36, entonces probablemente sea un fallo de Mastodon, ya que Discourse lo federa:

1 me gusta

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

El plugin Discourse AP hace que los objetos de ActivityPub estén disponibles cuando haces clic en el logo verde de ActivityPub y luego en el botón “Note” para copiar la URL: Why are supposedly ActivityPub-federated Discourse threads inaccessible via external AP clients? - #9 by rokejulianlockhart - Bug - Discourse Meta

Discourse AP necesita que el enlace url apunte de nuevo al id de alguna manera, preferiblemente mediante una redirección en las solicitudes con la cabecera de negociación de contenido Accept correcta.

Por consiguiente, tentativamente lo marcaré como un Bug. (No puedo. Demasiado antiguo.)

Pero las URL proporcionadas por el icono de “Notas” no arrojan ningún resultado cuando se pegan en, por ejemplo, mastodon.social/search.

Problema no resuelto.

1 me gusta

@icaria36, por favor comenta eso en la discusión de GitHub. Que otra persona cuestione la respuesta le da más credibilidad que si yo fuera el enlace.

1 me gusta

Parece ser esto:

1 me gusta

Bueno, no, parece que después de todo podría ser un error de Discourse: Posts from Discourse do not resolve via the Search API · Issue #34632 · mastodon/mastodon · GitHub

Investigando un poco más, Mastodon solicita el recurso con la siguiente cabecera Accept:

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

Consultar Discourse con esto da como resultado la respuesta HTTP 400.

Omitir text/html;q=0.1 devuelve un objeto ActivityStreams. Por lo tanto, parece ser un error de Discourse, que parece devolver un 400 siempre que text/html sea parte de los tipos aceptados…

1 me gusta

@rokejulianlockhart o un moderador, ¿pueden eliminar la “Solución”, por favor? Y mover este tema a Bug (o crear un nuevo informe de error) según la evaluación de Mastodon en Posts from Discourse do not resolve via the Search API · Issue #34632 · mastodon/mastodon · GitHub.

2 Me gusta

No estoy seguro de que esto sea un error en Discourse. He respondido en el problema en Mastodon. Publicando aquí para mayor comodidad:

La razón por la que devolvemos un 400 en ese escenario es que la especificación de ActivityPub parece requerirlo.

Las solicitudes POST (por ejemplo, a la bandeja de entrada) DEBEN realizarse con un Content-Type de application/ld+json; profile=“ActivityStreams 2.0 Terms” y las solicitudes GET (ver también 3.2 Recuperación de objetos) con una cabecera Accept de application/ld+json; profile=“ActivityStreams 2.0 Terms

@ClearlyClaire ¿Es necesario añadir text/html;q=0.1 a la cabecera Accept?

2 Me gusta

Esto se resolverá pronto. Ver más detalles:

3 Me gusta