Abbiamo un problema in cui il menu dell’intestazione del brand in alto a sinistra si espande solo parzialmente su mobile quando viene toccato. L’abbiamo impostato per non visualizzare la barra su mobile. Se tocco solo il menu hamburger, appare così:
Per quanto ne so, menu-panel e slide-in non provengono dal nostro tema. Ma sembra che slide-in sia importante per farlo funzionare. Perché slide-in non viene aggiunto quando il menu viene aperto? Perché il ridimensionamento della finestra del browser dovrebbe farlo aggiungere improvvisamente?
Non ho dovuto ridimensionare per ottenere questo, e quando ridimensiono non ottengo affatto la classe slide-in…
Sembra che tu sia su Discourse 3.2, piuttosto che sull’attuale versione 3.3. Ci sono aggiornamenti a questo componente che dipendono dalla versione 3.3, quindi al momento non li stai ricevendo.
È possibile che l’aggiornamento di Discourse e del componente risolva tutti i tuoi problemi, ma in caso contrario potrebbe esserci un conflitto con altre personalizzazioni.
Hai ragione, stiamo usando Discourse 3.2.3. Pensavo di aver capito da questo post che il problema esistesse anche nella versione 3.3, ma il tuo sembra a posto. Verificherò se è possibile per noi aggiornare alla 3.3, o magari installare una versione precedente del componente brand-header.
È pubblicato da qualche parte che il componente richiede la versione 3.3? Non vedo nulla del genere.
Sai per caso quando sono stati apportati gli aggiornamenti che dipendono dalla 3.3? O qual è l’ultima versione che funziona con la 3.2?
Non lo richiede esplicitamente, ma a volte quando apportiamo aggiornamenti che dipendono da una nuova funzionalità di Discourse, blocchiamo il componente del tema a una versione precedente di Discourse, il che impedirà la ricezione di aggiornamenti incompatibili.
Quando ciò viene fatto, i dettagli sono in un file .discourse-compatibility:
Da quel momento in poi, il codice del componente è stato completamente ristrutturato a causa delle modifiche al funzionamento dell’header in Discourse.
Penso che questo metta in evidenza un buon problema da considerare, queste informazioni sono piuttosto nascoste e tecniche. Forse possiamo aggiungere un messaggio nel pannello di amministrazione che indichi che alcuni componenti hanno smesso di ricevere aggiornamenti perché richiedono funzionalità dall’ultima versione di Discourse.
Ho forkato il componente, l’ho ripristinato al commit 12e6f76 e l’ho installato sul nostro forum, ma il problema persiste. Non dovrebbe risolvere il problema?
Devo star fraintendendo qualcosa. Non avevamo questo problema. A un certo punto il problema si è verificato perché il componente ha apportato modifiche che richiedono Discourse 3.3 e abbiamo aggiornato il componente ma stiamo ancora usando Discourse 3.2. È corretto? Se sì, non sarebbe la soluzione più semplice tornare all’ultima versione del componente che funziona con Discourse 3.2?
Il componente non avrebbe ricevuto tali modifiche per la 3.3. Quando un componente è bloccato a una versione specifica di Discourse, è essenzialmente bloccato nel suo stato attuale finché Discourse non viene aggiornato.
Quindi non dovresti aver bisogno di farlo… il blocco dovrebbe mantenerlo automaticamente all’ultima versione compatibile, ma è possibile che questo bug esistesse già nella versione del componente che stai utilizzando.
Ora capisco… astuto. Si può presumere che non ci sarà alcuno sforzo da parte del manutentore per far funzionare correttamente il componente con la versione 3.2?
Ho fatto una copia del forum e l’ho aggiornata alla versione 3.3 e sì, questo risolve il problema. Sto verificando con il nostro amministratore per vedere se è possibile aggiornare alla versione 3.3 sul forum live.
Sì, sfortunatamente abbiamo solo la larghezza di banda per mantenere i componenti del tema sull’ultima versione di Discourse, quindi questo può accadere di tanto in tanto con versioni precedenti.