Por que os threads do Discourse supostamente federados pelo ActivityPub são inacessíveis por clientes AP externos?

Exemplo

Se eu inserir 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 (ou https://meta.discourse.org/ap/object/bc8f042ccca5ef56734c5f2460aa45cc) [1] em mastodon.social/search, ele retorna 404: [2] [3]

Se isso não for culpa do Discourse, levarei isso para o Mastodon. No entanto, a maioria das outras plataformas AP que tentei (que eu esperava que funcionassem) funcionaram.


  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 curtida

Estou sentindo falta disso também. Sem isso, fica difícil ou impossível interagir com publicações federadas a menos que elas já estejam na sua linha do tempo.

@rokejulianlockhart, apenas por curiosidade, você já tentou com URLs de instâncias WordPress usando o plugin WP ActivityPub?

1 curtida

O que diabos aconteceu aqui? Eu nunca escrevi como o abaixo:

RokeJulianLockhart:

Discuta isso em nosso fórum.

...e alguém pegou um marreta para minha marcação.

1 curtida

Oh! Eles estão federados agora! Eu não postei esse comentário aqui. [1] Eles estão apenas bastante quebrados em sua federação:

  1. A formatação não é conservada.

  2. Sou capaz de curtir minhas próprias postagens.

    É uma conta de usuário separada, pois está registrada em outro domínio.

@icaria36, não. Você conhece alguma?


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

Acredito que este seja um site WordPress e acabei de testar com um artigo recente, e realmente consigo encontrar o URL no Mastodon: Nature Holds Awe, Man – NHAM Mixtape 11 – NHAM

@icaria36, acho que não. O Discourse tem integração nativa com AP.

@rokejulianlockhart Para o seu ponto quando você criou este tópico, enquanto isso, https://meta.discourse.org/t/why-are-supposedly-activitypub-federated-discourse-threads-inaccessible-via-external-ap-clients/356997 não pode ser encontrado no Mastodon.

1 curtida

@icaria36, então provavelmente é uma falha do Mastodon, já que o Discourse o federa:

1 curtida

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

O plugin Discourse AP torna os objetos ActivityPub disponíveis quando você clica no logotipo verde do ActivityPub e no botão „Nota“ para copiar a URL: https://meta.discourse.org/ap/object/5874fad7df806caa1fe34c382c1d2991

O Discourse AP precisa fazer com que o link url retorne ao id de alguma forma, preferencialmente por meio de um redirecionamento em solicitações com o cabeçalho de negociação de conteúdo Accept correto.

Consequentemente, vou marcar isso provisoriamente como um Contribute > Bug. (Não posso. Está muito antigo.)

Mas os URLs fornecidos pelo ícone "Notas" não retornam nenhum resultado quando colados em, por exemplo, mastodon.social/search.

Problema não resolvido.

1 curtida

@icaria36, por favor, comente isso na Discussão do GitHub. Ter outra pessoa contestando a resposta confere mais credibilidade do que eu ser o intermediário.

1 curtida

Parece isso:

1 curtida

Bem, não, parece que pode ser um bug do Discourse, afinal: Posts from Discourse do not resolve via the Search API · Issue #34632 · mastodon/mastodon · GitHub

Investigando um pouco mais, o Mastodon solicita o recurso com o seguinte cabeçalho Accept:

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

Consultar o Discourse com isso resulta na resposta HTTP 400.

Omitir text/html;q=0.1 retorna um objeto ActivityStreams. Portanto, isso parece ser um bug com o Discourse, que parece retornar um 400 sempre que text/html faz parte dos tipos aceitos…

1 curtida

@rokejulianlockhart ou um moderador, você pode remover a “Solução”, por favor? E mover este tópico para Contribute > Bug (ou criar um novo relatório de bug) com base na avaliação do Mastodon em Posts from Discourse do not resolve via the Search API · Issue #34632 · mastodon/mastodon · GitHub.

2 curtidas

Não tenho certeza se este é um bug no Discourse. Respondi à questão no Mastodon. Cruzando postagens aqui para conveniência:

O motivo pelo qual retornamos um 400 nesse cenário é que a especificação do ActivityPub parece exigi-lo.

Requisições POST (por exemplo, para a caixa de entrada) DEVEM ser feitas com um Content-Type de application/ld+json; profile=“ActivityStreams 2.0 Terms” e requisições GET (veja também 3.2 Recuperando objetos) com um cabeçalho Accept de application/ld+json; profile=“ActivityStreams 2.0 Terms

@ClearlyClaire É necessário adicionar text/html;q=0.1 ao cabeçalho Accept?

2 curtidas

Isso será resolvido em breve. Veja mais:

3 curtidas