DiscoTOC mi mostra un TypeError

Mi sta mostrando l’errore sottostante. Come posso risolverlo?

A proposito, dopo aver aggiunto il TOC in un argomento, devo aggiornare la pagina, altrimenti il link del TOC non funziona. È un comportamento normale?

1 Mi Piace

Ciao @Yt.w, grazie per la segnalazione. Non sono riuscito a riprodurre il problema che hai menzionato. Stai ancora riscontrando questo comportamento? In tal caso, potresti fornire maggiori dettagli sui passaggi per riprodurlo?

Per quanto posso vedere, il ricaricamento della pagina per ricostruire l’HTML è un comportamento previsto. Sebbene potrebbe essere possibile evitarlo, ciò richiederebbe modifiche al modo in cui il componente funziona attualmente.

1 Mi Piace

Ciao, osservo ancora questo comportamento e si è verificato subito dopo l’installazione della mia istanza attuale. Non ho apportato modifiche.

La mia altra istanza non ha questo problema, quindi è piuttosto sconcertante per me.

Dal punto di vista dell’UX, ritengo sia meglio evitare di aggiornare la pagina per mantenere attiva la TOC.

1 Mi Piace

@Yt.w puoi mostrarmi la console del tuo browser quando hai questo errore per favore? Espandi anche l’errore.


Ciao, questo è quello che appare nella mia console

Ho esattamente lo stesso errore su uno dei tre siti che sto ospitando in una configurazione multisito, il che mi porta a credere che una delle impostazioni che ho in quel sito stia causando questo problema. Non ho ancora determinato quale impostazione, ma quando la troverò tornerò indietro e aggiornerò il post, volevo solo aggiungere che sto anche vedendo questo nel mondo reale sulle ultime release che hanno superato i test.

Questo è ciò che c’è nella mia console e sono tutte cose che sono abituato a vedere, nel bene o nel male :slight_smile:

1 Mi Piace

grazie, stiamo ancora lottando con una riproduzione esatta, non siamo in grado di far sì che ciò accada sui nostri siti ospitati multisito.

1 Mi Piace

Questo potrebbe essere o non essere un depistaggio, non ho avuto abbastanza tempo per approfondire ma quando rimuovo e reinstallo il componente ottengo costantemente il seguente errore:

image

Il numero del campo cambia presumo perché viene installato come un numero di componente diverso ad ogni reinstallazione del componente. Continuerò ad approfondire, ma questo non accade quando faccio lo stesso con qualsiasi altro componente.

I miei attuali sospetti sono che il fallimento sia in parte dovuto al fatto che ho annullato alcune modifiche S3 che ho apportato specificamente su questo sito in qualche momento. @Yt.w c’è la possibilità che tu abbia utilizzato S3 in qualche momento anche sulla tua installazione?

2 Mi Piace

Va bene, sono riuscito a far scomparire l’errore e a reproducerlo.

TL;DR

  • Tornare a una configurazione S3 funzionante in precedenza eliminando e reinstallando il componente DiscoTOC porta a un’installazione del componente priva di errori.
  • Disabilitare S3 commentando tutte le direttive S3 in app.yml fa riapparire l’errore al momento dell’installazione del componente, e presumo che all’aggiornamento ritornerà anche l’errore.
  • Impostando DISCOURSE_USE_S3: false non si impedisce a Discourse di usare percorsi S3, sembra un bug o questa impostazione non fa quello che penso faccia.

Panoramica dettagliata

All’inizio ho riattivato la configurazione di minio, decommentato le opzioni in app.yml, ricostruito l’app e assicurato di aver eseguito il task s3:upload_assets. Una volta che il sito era ripartito sono passato alla sezione componenti. Il componente DiscoTOC già installato mostrava ancora l’errore, tuttavia, quando l’ho cancellato e reinstallato l’errore non si è ripresentato. Durante l’installazione del componente DiscoTOC è stato richiesto sprite.svg dal mio server S3.

Nel tentativo di riprodurre il problema sono incappato in una questione interessante. Pare che quando lascio tutte le direttive S3 in app.yml attive, cioè non commentate, ma impostato DISCOURSE_USE_S3: false, il frontend del sito non si carica se minio non è in funzione.

Forse DISCOURSE_USE_S3: false non dovrebbe disabilitare tutto l’accesso S3, suppongo che lo faccia in base al nome, ma chiaramente non è così. Appena riavvio il servizio minio e aggiorno il frontend tutto funziona correttamente. Inoltre posso disinstallare e reinstallare il componente DiscoTOC senza riprodurre l’errore in questo stato. Questo sembra almeno un possibile bug.

Ecco il terzo stato che mi ha portato all’errore riproducibile.

Per far funzionare di nuovo il sito senza minio in funzione ho commentato tutte le voci di configurazione che avevano a che fare con S3. Poi ho ricostruito l’app e ora, senza minio in funzione, il frontend si carica senza problemi. Tuttavia, se disinstallo e reinstallo il componente DiscoTOC l’errore ricompare. Ho anche provato ad avviare minio in questa configurazione, ma l’errore si ripresenta al riinstall, probabilmente perché non ci sono direttive S3 impostate nel file app.yml e quindi, anche se cerca di accedere a S3 dietro le quinte, usa valori di default invece di una configurazione funzionante. Sembra comunque che alcune immagini continuino a essere servite da S3 anche dopo un post:rebake (ad esempio 1531a70abda0d81d1a4039b6f3fa38bea79ef0de_2_180x180.png/xl.meta)

2 Mi Piace

Sì, il forum che aveva problemi utilizzava S3(B2), mentre il forum che non aveva problemi non utilizzava S3.

1 Mi Piace