Nessun HTML nell'avviso globale

Questo argomento è stato risolto dal team di Discourse. Lascio il topic originale attivo a scopo di archiviazione, ma la questione è stata risolta da @Roman e dal team.


Ho recentemente ricostruito Discourse per aggiornare le mie impostazioni SMTP e i tag HTML del mio avviso globale vengono ora visualizzati come testo.

Ecco come appare con i tag:

Benvenuti nei NUOVI forum di Motor Sports Real Racin' USA!


I vostri desideri e le vostre preghiere sono stati esauditi.

Abbiamo preparato un'esperienza di forum più veloce, nuova e facile da usare per voi, copiando tutto dal vecchio forum a questo. Tutti i vostri argomenti, post e profili utente sono rimasti intatti, esattamente come li avevate lasciati!

Leggete il nostro post "Voglio riavere il mio account!" per le istruzioni su come accedere nuovamente al vostro account.

Ora che la polvere si è quasi posata, continuiamo a verificare che il forum funzioni correttamente per tutti.

Per tutti gli aggiornamenti sul forum e per ricevere assistenza, visitate la pagina Facebook di Sunshine State Racing.

Ma dopo la ricostruzione, ottengo questo:

Ho notato alcune modifiche ai messaggi globali in un commit recente che hanno disabilitato questa funzionalità.

Quindi, c’è qualche modo per includere collegamenti nelle notifiche globali ora?

La mia alternativa era creare un post e fissarlo come argomento in evidenza.

Sì, non consentiamo più che l’impostazione del sito ‘Avviso globale’ contenga HTML, ma solo testo semplice. Abbiamo scelto di trattarla come qualsiasi altro input utente e di sanificarla.

Come menzionato sopra, l’alternativa è utilizzare un argomento banner.

Peccato, era davvero utile.

Grazie per aver chiarito.

Hm, giusto il mio parere, ma i due hanno scopi molto diversi.

Il banner globale c’è per uno scopo specifico, ovvero quando voglio notificare al forum un argomento importante. Se un utente ha chiuso il banner, questa impostazione rimane e non può vedere un aggiornamento che altrimenti sarebbe visibile con un avviso globale.

Sì, abbiamo deciso di mantenere l’impostazione perché sappiamo quanto sia utile avere un banner non dismissibile in situazioni urgenti, ma permettere HTML non sanificato potrebbe essere potenzialmente pericoloso.

Se qualcuno ha i permessi per impostare un avviso globale, allora è anche autorizzato a creare un componente del tema? Quindi non c’è alcun vettore di attacco aggiuntivo qui?

Per chiarezza, non consideriamo questo un problema di sicurezza, dato che solo gli amministratori possono aggiornare questa impostazione. Fa parte di uno sforzo in corso per disabilitare l’uso di HTML nelle impostazioni del sito e utilizzare altri strumenti progettati a tale scopo.

Permettetemi di esporre un caso a favore della possibilità di utilizzare HTML. Sto lavorando con un cliente che sta avviando un forum per investitori. (La beta chiusa è iniziata ieri, per la precisione.) Il loro team legale insiste su un disclaimer. Deve:

  • Essere visualizzato in modo prominente su ogni pagina del forum.
  • Non essere eliminabile.

In altre parole, un avviso globale.[1]

Per un esempio (non il sito su cui sto lavorando, ma nello stesso settore), consultate il disclaimer su Freetrade. È importante notare che al legale non importa se l’avviso include HTML. Vogliono solo vederlo presente e assicurarsi che gli utenti non possano sostenere di non averlo visto.

Sfortunatamente, l’avviso è un po’ bruttino perché è un grande blocco di testo. Per fortuna, il legale è d’accordo con un carattere più piccolo e l’uso di un link al disclaimer completo. La settimana scorsa il team ha inviato al legale un testo che includeva un link al disclaimer. Questa settimana abbiamo scoperto che non è più consentito l’HTML in un avviso globale. Che bello.

Nel frattempo, se lo stessimo utilizzando per lo scopo previsto (“AVVISO URGENTE, EMERGENZA, avviso globale non eliminabile per tutti i visitatori”), non sarebbe comodo avere un modo per collegarsi a una pagina di stato o ad altro luogo per saperne di più?

In realtà non è “qualsiasi altro input dell’utente”, vero? È una configurazione del sito che può modificare solo una manciata di persone. Dal punto di vista dei proprietari del sito, questo non è input dell’utente, ma parte dell’interfaccia fornita agli utenti.[2]

Esiste una spiegazione del ragionamento da qualche parte? Se state lavorando a un altro strumento per supportare avvisi globali non eliminabili che consentono link,[3] sarebbe utile sapere quando sarà pronto. Preferirei evitare di dover impostare una personalizzazione se possibile.

Mi scuso se sembro un po’ scontroso. Non sapevamo che questo cambiamento stesse arrivando e ci mette in una posizione scomoda. La comunità sarebbe stata aperta a un pubblico più ampio la prossima settimana e questo cambiamento getta un bastone tra le ruote.



  1. Posso vedere un argomento secondo cui questo è un uso improprio della funzionalità. Ma se dovessimo costruire questa funzionalità noi stessi, funzionerebbe esattamente come un avviso globale. :man_shrugging: ↩︎

  2. Capisco che dal punto di vista di Discourse gli amministratori siano utenti. Semplicemente, in questo caso, sembra il modo sbagliato di vederla. ↩︎

  3. E anche lo stile, ma quello è secondario. ↩︎

La mia motivazione iniziale è stata quella di proteggere ulteriormente le voci del database, principalmente a causa di problemi di codifica con un vecchio forum che ho utilizzato.

Gli emoji sul forum venivano convertiti nel formato &# e, quando citati, causavano errori “Sequenza di byte non valida in utf-8” durante la conversione, mentre il forum visualizzava gli emoji come simboli �.

Pensavo che lo stesso potrebbe verificarsi con i tag HTML in un futuro aggiornamento, causando problemi al database e rendendo tutte le community inoperabili.

Qualcuno che conosce meglio il codice potrebbe probabilmente rassicurare sul fatto che ciò non accadrà, grazie ai numerosi controlli che ogni correzione supera prima di essere unita al ramo principale per il download/aggiornamento. Il team di Discourse si impegna a mantenere il sistema come una soluzione autonoma, priva di problemi e a un clic per tutti coloro che desiderano una community online, e ci sono riusciti molto bene!

Tuttavia, la mia semplice correzione è stata sufficiente per ora, in attesa di una nuova soluzione. È anche piacevole avere meno disordine sullo schermo, dato che è possibile chiudere gli argomenti dei banner.

Ci scusiamo per l’inconveniente. Per creare un banner non eliminabile, consulta questo componente del tema:

È molto più potente e personalizzabile rispetto all’avviso globale.

Abbiamo riattivato il supporto HTML nell’impostazione degli avvisi globali. Vogliamo trovare un modo migliore per garantire una transizione fluida.

Nella descrizione sotto il campo Avviso globale, potresti inserire:

“Il supporto HTML verrà rimosso in una versione futura”

Inoltre, quando è stato disabilitato, la descrizione riportava ancora “HTML consentito”.

@Roman_Rizzi Quando verrà pubblicato il rilascio con l’avviso globale?

Ne abbiamo discusso e abbiamo deciso di mantenere il supporto HTML per l’impostazione dell’avviso globale, quindi non verrà rimosso a breve.

Cosa mi sta sfuggendo allora? Perché non funziona sul nostro forum?

Aggiorna il tuo Discourse. È stato riattivato alcuni giorni fa, quindi esegui un aggiornamento e il problema dovrebbe essere risolto.

Grazie per la risposta super veloce! Ho appena aggiornato, ma non funziona ancora (si sta mostrando l’HTML).