Shields.io não consegue recuperar estatísticas da API do Discourse

Olá a todos,

Temos usado um escudo do Discourse em nosso repositório há algum tempo, mas ele parou de funcionar recentemente.

Se você acessar 404: badge not found e selecionar qualquer escudo do Discourse, poderá inserir o endereço do seu domínio do Discourse e o escudo será exibido com as estatísticas corretas. Você pode testar isso com meta.discourse.org.

No entanto, quando inserimos o endereço do nosso host do Discourse (https://discuss.grakn.ai), para qualquer estatística e tanto para HTTP quanto para HTTPS, sempre retorna “invalid”.

Discussion Forum

Quando um host não é encontrado, o Shields.io retorna “inaccessible”. Portanto, assumimos que “invalid” significa que o host é acessível, mas há problemas de permissões de acesso ou respostas inválidas.

É possível que uma atualização/recente tenha quebrado algo na API de estatísticas do Discourse que o Shields.io utiliza?

Muito obrigado!

Está funcionando para mim no meu site. Talvez você não esteja configurando corretamente o protocolo? Ou o Grakn Discourse tem alguma modificação que quebra esse endpoint.

imagem

Talvez você queira perguntar ao Shields.io sobre esse problema. Ele funciona com todos os outros sites que testei, então esse não é um bug nosso.

@marianord essa é exatamente a minha pergunta: onde estão os “protocolos” que você está mencionando? Como eles podem ser configurados? Eu não alterei nenhuma configuração.

@gerhard, considerando que o shields.io está funcionando para outros sites Discourse, não parece provável que seja um problema do lado deles. A menos que eles não estejam lendo corretamente a saída das estatísticas do nosso site — mas como podemos descobrir isso? Qual é o endpoint do Discourse usado para consultar as estatísticas? Talvez devêssemos começar por aí?

Estou mencionando http vs https.

Isso ocorreu porque nossa instalação do Discourse bloqueou o user agent do Shields.io (Shields.io). Essa configuração é chamada de whitelisted crawler user agents e pode ser editada em
<discourse_server>/admin/site_settings/category/all_results?filter=crawler

Interessante! Obrigado, @max_grakn! Nós adicionamos o Googlebot à lista de permissões recentemente; acho que isso pode ser a causa.

@codinghorror, devemos usar a Lista Negra e a Lista de Permissões ao mesmo tempo? Ou seja, se você adicionar itens à lista de permissões, isso significa que tudo o mais está na lista negra (o que tornaria a lista negra redundante)?

Não, a lista de permissões para crawlers é muito perigosa e deve ser usada com cuidado, conforme o texto de ajuda.

User agents dos crawlers da web que devem ter permissão para acessar o site. AVISO! DEFINIR ISSO IMPEDIRÁ O ACESSO DE TODOS OS CRAWLERS NÃO LISTADOS AQUI!

Olá, estou com o mesmo problema quando recebo dados inválidos em um teste… você tem alguma ideia?

Já está tudo bem agora. É necessário ativar a estatística anônima em:

Admin → Configurações → Outros → Compartilhar estatísticas anonimizadas = Ativado

E agora está funcionando para o shields.io.

Eu tenho o mesmo problema, mas as estatísticas anônimas já estão habilitadas
:cry:

[![Racket Discourse](upload://6fa5jbSn04vRLXdubAYmFJt5emf.svg)]

[Racket Discourse]

Relacionado a:

É porque alguns campos foram renomeados em sua forma plural.

topic_counttopics_count
post_countposts_count
user_countusers_count
like_countlikes_count

Alguém precisará modificar o código aqui para usar a forma plural como fallback:

Isso ainda está com defeito - está funcionando para mais alguém?

Racket Discourse

![Racket Discourse](upload://7asTK98zfWLXRebm11uEN3KPM5N.svg)

Houve um PR aberto há alguns dias:

Mas, naturalmente, essa mudança impõe um ônus ao shields.io para suportar ambas as versões (em perpetuidade, eu acho), pois não há garantia de que qualquer instância do Discourse tenha sido atualizada ou não, então não é tão simples quanto mudar para plurais.