¿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 indica:

El plugin Discourse AP hace que los objetos ActivityPub estén disponibles cuando haces clic en el logotipo verde de ActivityPub y luego en el botón «Nota» para copiar la URL: https://meta.discourse.org/ap/object/5874fad7df806caa1fe34c382c1d2991

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

Por consiguiente, marcaré esto provisionalmente como un Contribute > Bug. (No puedo. Está 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, ¿podrían eliminar la “Solución”, por favor? Y muevan este tema a Contribute > Bug (o creen un nuevo informe de error) basándose en 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