Durante la modifica di un post che utilizza un modello di modulo, l’anteprima del compositore renderizza qualsiasi campo composer multilinea come una singola riga continua: i titoli sono uniti alla frase successiva, elenchi e BBCode vengono visualizzati come testo letterale. Il post salvato viene elaborato correttamente: solo l’anteprima è errata.
Causa: form-template-field/composer.gjs duplica ogni campo del compositore in un <input type="text"> nascosto per la validazione nativa:
<input id={{this.validationInputId}} type="text" name={{@id}} value={{this.composerValue}} ... class="form-template-field__composer-hidden-input" />
La risposta del compositore — che è ciò che l’anteprima elabora — viene assemblata da quegli input. Secondo le regole di sanitizzazione dei valori HTML, un input type="text" rimuove CR/LF durante l’assegnazione, quindi ogni carattere di a capo nel valore del campo scompare prima che l’anteprima lo visualizzi. Il salvataggio legge direttamente l’editor, motivo per cui il contenuto grezzo memorizzato non viene influenzato.
Riproduzione (2026.9.0-latest): qualsiasi modello di modulo con un campo composer → inserisci testo contenente righe vuote (ad esempio un ## heading, un paragrafo, un elenco) → apri la modifica sul post salvato → l’anteprima lo mostra appiattito in una singola riga, mentre il post stesso viene renderizzato correttamente.
Soluzione temporanea che stiamo utilizzando come tema: cambiare gli input nascosti in type="hidden" (che preserva i caratteri di a capo durante l’assegnazione), riparare il valore già appiattito dall’editor del campo e inviare un evento input affinché la risposta venga ricostruita. Questo ripristina completamente l’anteprima.
Nota per una correzione nel codice principale: type="hidden" salta la validazione nativa dei vincoli required, quindi il controllo sostitutivo dovrebbe probabilmente essere un <textarea> visivamente nascosto anziché un input di testo.