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 disponibiliza objetos ActivityPub quando você clica no logo verde do ActivityPub e clica no botão “Note” para copiar a URL: Why are supposedly ActivityPub-federated Discourse threads inaccessible via external AP clients? - #9 by rokejulianlockhart - Bug - Discourse Meta

O Discourse AP precisa fazer o link url voltar para o id de alguma forma, preferencialmente via um redirecionamento em requisições com o cabeçalho de negociação de conteúdo Accept correto.

Consequentemente, definirei isso provisoriamente como um Bug. (Não consigo. 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 pode remover a “Solução”, por favor? E mover este tópico para 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