Dopo l’aggiornamento alla versione 3.4.0, il nostro tema non riceve più le definizioni dei colori per la palette di colori selezionata. Vedo un file CSS che dovrebbe contenere le definizioni dei colori, ma risulta vuoto quando il nostro tema è attivo.
Quindi, nessun colore viene impostato e il colore di sfondo di qualsiasi finestra popup è trasparente, il che rende il sito inutilizzabile. Stiamo temporaneamente utilizzando il tema predefinito Light come soluzione alternativa.
Ho provato tutto ciò che mi è venuto in mente. Ad esempio:
Creazione manuale della palette di colori
Disinstallazione e reinstallazione del tema
Molti tentativi ed errori sul forum live e su un forum di staging
Il nostro tema è installato da un repository git. Per un breve periodo, siamo riusciti a far apparire il forum bene ripristinando una vecchia copia di sviluppo del tema (non da un repository git), ma poi la volta successiva che abbiamo riavviato Discourse si è nuovamente verificato il problema.
Sul forum di staging, quando ho disinstallato e reinstallato il tema, sembrava aver risolto il problema. Ma la disinstallazione e reinstallazione sul forum live non ha aiutato.
Quando passo a un tema predefinito come Light o Dark, la palette di colori funziona correttamente, posso vedere tutti i colori definiti in quel file CSS.
Cosa potrebbe causare il ritorno vuoto delle definizioni dei colori per il nostro tema? Avete qualche idea su come risolverlo?
Questo sembra essere una potenziale causa del problema. Il nostro tema ha un’impostazione che memorizza il contenuto della nostra pagina “about”. Non credo che avessimo un errore di compilazione SCSS prima di aggiornare a Discourse 3.4.0. Forse qualcosa è cambiato nella compilazione di sass e ora è più rigoroso?
Ma il problema sembra verificarsi all’avvio di Discourse. Se modifico solo il contenuto in quell’impostazione del tema, non viene registrato alcun errore SCSS. Se riavvio Discourse, si verifica l’errore SCSS e il file CSS delle definizioni dei colori torna vuoto.
Ecco il codice nel tema che utilizza quell’impostazione, in un file hbs. Il contenuto nell’impostazione è solo HTML.
Ho spostato l’HTML da un’impostazione del tema direttamente nel file hbs e questo sembra aver risolto il problema. Non sono sicuro del perché, ma Discourse 3.4.0 non lo gradisce nell’impostazione del tema.
Sembra probabile. C’è qualche documentazione su quell’helper html-safe da qualche parte, così posso vedere cosa fa? Ho provato a cercarlo su Google e non riesco a trovarlo.