Shields.io non riesce a recuperare le statistiche dell'API Discourse

Ciao a tutti,

Abbiamo avuto uno scudo Discourse nel nostro repository per un po’ di tempo, ma recentemente ha smesso di funzionare.

Se vai su 404: badge not found e selezioni uno scudo Discourse, puoi inserire l’indirizzo del tuo dominio Discourse e ti mostrerà lo scudo con le statistiche corrette. Puoi provare questo con meta.discourse.org.

Tuttavia, quando inseriamo il nostro indirizzo host Discourse (https://discuss.grakn.ai), per qualsiasi statistica e sia per http che per https, restituisce sempre “invalid”.

Discussion Forum

Quando un host non viene trovato, Shields.io restituirebbe “inaccessible”. Quindi assumiamo che “invalid” significhi che è accessibile ma ci sono problemi di diritti di accesso o risposte non valide.

È possibile che un recente aggiornamento abbia rotto qualcosa nell’API delle statistiche di Discourse che Shields.io utilizza?

Grazie mille!

Funziona per me sul mio sito, forse non stai impostando correttamente il protocollo? O forse la versione di Grakn su Discourse ha qualche modifica che interrompe quell’endpoint.

immagine

Forse è meglio chiedere a Shields.io riguardo a quel problema. Funziona con tutti gli altri siti che ho testato, quindi non si tratta di un nostro bug.

@marianord è esattamente la mia domanda: dove sono i “protocolli” che menzioni? Come possono essere configurati? Non ho modificato alcuna impostazione.

@gerhard dato che shields.io funziona per altri siti Discourse, non sembra probabile che il problema sia dalla loro parte. A meno che non stiano leggendo male l’output delle statistiche del nostro sito, ma come possiamo scoprirlo? Qual è l’endpoint di Discourse utilizzato per interrogare le statistiche? Forse dovremmo iniziare da lì?

Sto facendo riferimento a http rispetto a https.

Ciò è accaduto perché la nostra installazione di Discourse ha bloccato l’user agent di Shields.io (Shields.io). Questa impostazione si chiama whitelisted crawler user agents e può essere modificata in
<discourse_server>/admin/site_settings/category/all_results?filter=crawler

Interessante! Grazie @max_grakn! Abbiamo aggiunto Googlebot alla whitelist di recente, penso che possa essere la causa.

@codinghorror, dovremmo usare Blacklist e Whitelist contemporaneamente? Nel senso che, se aggiungi elementi alla whitelist, significa che tutto il resto è automaticamente blacklistato (rendendo quindi la blacklist ridondante)?

No, la whitelist dei crawler è molto pericolosa e dovrebbe essere utilizzata con cautela, come indicato nel testo di aiuto.

User agent dei crawler web che dovrebbero essere autorizzati ad accedere al sito. ATTENZIONE! IMPOSTARE QUESTA OPZIONE ESCLUDERÀ TUTTI I CRAWLER NON ELENcati QUI!

Ciao, ho lo stesso problema quando un test riceve dati non validi… hai qualche idea?

È tutto a posto ora, è necessario attivare le statistiche anonime in:

Admin → impostazioni → altro → condividi statistiche anonime = Abilitato

e ora funziona correttamente per shields.io

Ho lo stesso problema, ma la condivisione di statistiche anonime è già abilitata
:cry:

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

[Racket Discourse]

Correlato a:

È perché alcuni campi sono stati rinominati nella loro forma plurale.

topic_counttopics_count
post_countposts_count
user_countusers_count
like_countlikes_count

Qualcuno dovrà modificare il codice qui per eseguire il fallback alla forma plurale:

Ancora non funziona: funziona per qualcun altro?

Racket Discourse

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

È stata aperta una PR qualche giorno fa:

Ma naturalmente questo cambiamento pone un onere su shields.io per supportare entrambe le versioni (perennemente, immagino) poiché non vi è alcuna garanzia che qualsiasi istanza di Discourse abbia aggiornato o meno, quindi non è così semplice come passare al plurale.