Risoluzione dei problemi dell'integrazione di Ghost commenting su Discourse

Un enorme grazie per questo, poiché la nuova configurazione trasforma davvero Discourse in un legittimo sistema di commenti, specialmente per l’uso di combinare i sistemi di commenti di diversi blog aggregati in un unico sistema di forum. Detto questo, purtroppo sto riscontrando una serie di problemi.

Tralasciando per il momento le questioni estetiche, comincio col precisare che sto cercando di farlo funzionare con un blog Ghost, un blog che integra i sistemi di iscrizione di Ghost e Discourse con l’integrazione Discourse on Ghost (DoG) (annunciata sul forum di Discourse qui). Sono certo che alcuni dei problemi che sto riscontrando siano direttamente dovuti all’uso di DoG, altri no, e altri… forse?

Il primo a cui voglio fare riferimento è il modo in cui sembra che non stia ottenendo il sistema di commenti “completo”, ma piuttosto solo la metà.

Sì, dopo aver completato l’intero processo di registrazione con DoG, vedo effettivamente il popup “Consenti accesso”, che accetto.

Tuttavia, dopo questo, non solo non vedo i pulsanti “Rispondi” dopo ogni commento come ho visto nei post del blog di dimostrazione di Discourse (mentre l’icona del link è anche notevolmente diversa dall’icona del link che vedo sul blog di Discourse), ma quando scorro verso il basso fino alla fine del post, vedo che, sebbene una parte della nuova configurazione sia presente, i pulsanti Condividi e Risposta che pensavo sarebbero apparsi sulla sinistra non ci sono e l’unico pulsante Risposta si trova invece sulla destra (con un’icona di freccia diversa da quella visibile sul blog di Discourse, un’icona che penso sia un richiamo al sistema di incorporamento originale – anche se potrebbe essere semplicemente un effetto del tema utilizzato dal forum di Discourse).

Inoltre, quando faccio clic su quel pulsante Risposta, vengo reindirizzato alla homepage del forum del mio blog invece di vedere apparire la nuova casella di commenti integrata. Detto questo, se faccio clic sul pulsante del conteggio dei commenti “37/37” sopra, vedo effettivamente apparire la casella, il pulsante “Vai a”, nonché la possibilità di “scorrere” tra i commenti, anche se quando “scorro” fino a un commento e lascio il pulsante del mouse, la posizione nell’incorporamento dei commenti non si sposta (la casella si chiude semplicemente).

Per essere chiari, il codice del mio incorporamento è il seguente:

<section itemscope itemtype="http://schema.org/UserComments" class="post-item post-comments" id="comments" loading="lazy">
    <div class="wrapper post-wrapper{{#is "post"}} no-post-border{{/is}}">
        <h2 class="comments-title">
            <a href="#comments" class="heading-link">
                <svg aria-hidden="true" class="aal_svg" version="1.1" viewBox="0 0 16 16">
                    <path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path>
                </svg>
            </a>
            Commenti</h2>
        <div id='discourse-comments'></div>
        <script type="text/javascript">
            if (window.location.pathname.indexOf('/p/') < 0) {
                DiscourseEmbed = {
                    discourseUrl: 'https://ff2f.discourse.group/',
                    discourseEmbedUrl: '{{url absolute="true"}}',
                    fullApp: true,
                    dynamicHeight: true,
                    };
                (function() {
                    var d = document.createElement('script'); d.type = 'text/javascript'; d.async = true;
                    d.src = DiscourseEmbed.discourseUrl + 'javascripts/embed.js';
                    (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(d);
                })();
            }
        </script>
    </div>
</section>

E sì, ho attivato l’interruttore Modalità app completa nelle impostazioni del forum del mio sito.

È possibile che abbia semplicemente dimenticato di attivare qualche interruttore insignificante o di includere una riga di codice, oppure potrebbe essere dovuto a qualche tipo di incompatibilità tra il nuovo sistema di commenti completo e DoG?

È esattamente per questo che lo abbiamo creato!

Vale la pena menzionare che questo è un requisito valido solo per Safari.

Si tratta semplicemente della modalità “non collegato”, quando l’utente che visualizza il post del blog non è collegato a Discourse.

Se, sullo stesso browser, funziona correttamente su blog.discourse.org, allora è molto probabile che si tratti di un problema legato alla configurazione personalizzata di DoG.

Se con questo intendi non solo “un sistema di commenti legittimo”, ma piuttosto una configurazione per “unire i sistemi di commenti di diversi blog aggregati in un unico sistema di forum” (come l’ho definito io), allora sto guidando in parte questa iniziativa attraverso l’uso di Ghost in vari modi. Con DoG già costruito, sto attualmente aiutando qualcuno a testare la funzionalità di digest delle newsletter, che permetterebbe ai lettori di scegliere tra una varietà di argomenti e/o autori per personalizzare la propria email settimanale/mensile, da un singolo blog o da un sito aggregatore. Il prossimo passo sarà la funzionalità di aggregazione stessa, e questo nuovo sistema completo di commenti di Discourse sarà la ciliegina sulla torta. Speriamo che tutto sia pronto prima che tardi.

Ha senso, poiché stavo accedendo tramite browser diversi per provare diversi ruoli utente e non avevo notato che quel popup si presentava solo in Safari. Ma grazie alla tua precisazione e a un altro problema di Safari legato alla modalità scura (su cui scriverò a Thiago nel thread separato), ho notato che il problema dello scorrimento che avevo, dove rilasciando la barra di scorrimento la posizione non si aggiorna, si verifica non solo in Safari, ma solo quando certi parametri sono omessi. Se mentre usi Safari apri un post del blog condiviso da Thiago, vedrai che la barra di scorrimento funziona come previsto. La sua configurazione è la seguente:

fullApp: true,
lazyLoad: true, // disabilita il caricamento lazy dell'iframe
lazyLoadMargin: '1500', // pixel prima della viewport per iniziare il caricamento
dynamicHeight: true,
embedMinHeight: '400',
embedMaxHeight: '1500',

Tuttavia, quando visiti un post del blog dal mio sito usando Safari e provi a usare la barra di scorrimento, vedi che non funziona. Rilasciare la barra di scorrimento provoca un piccolo salto su e giù di pochi pixel, ma nient’altro. Questa è la configurazione del mio blog:

fullApp: true,
dynamicHeight: true,

Quando ho provato a sostituire la mia configurazione con quella di Thiago, il problema è scomparso.

Tutto questo è un po’ al di sopra del mio “livello di competenza”, ma dopo aver parlato con il creatore di DoG, mi ha detto che pensa che potrebbe effettivamente essere un problema da parte di Discourse. Come mi ha dichiarato:

Non sono d’accordo, è qualcosa legato all’autenticazione in un contesto incorporato. Se apro l’URL incorporato in una nuova scheda, funziona. Ma se visualizzo l’incorporamento, non funziona. Ho fatto un aggiornamento forzato per assicurarmi che non fosse un problema mio.

E queste sono le due immagini che ha condiviso con me:

Ti sembra plausibile?