Ho pubblicato questo post su un forum che utilizza Discourse:
E ho anche potuto riprodurre questo problema nel forum Demo.
Quel post contiene lunghi estratti di codice copiato e incollato - per essere più precisi, non esattamente codice ma piuttosto l’output dell’esecuzione di comandi. Questo è un caso d’uso abbastanza comune nei forum di supporto su software e argomenti informatici.
Mentre scrivevo il post, dopo aver incollato i lunghi blocchi di testo (che non sono nemmeno così lunghi, solo poche centinaia di righe), l’editor è diventato sempre più lento mentre digitavo. Ci è voluto tempo per vedere le lettere che digitavo apparire sullo schermo (e non sto parlando dell’anteprima live, solo della textarea in cui digiti). Diventa fondamentalmente inutilizzabile.
Vedo che questo forum è indietro con gli aggiornamenti. La settimana scorsa ho unito una modifica che aggiorna la libreria HighlightJS alla sua ultima versione, il che renderà questo molto più veloce.
Inoltre, l’istanza https://forum.manjaro.org ha l’impostazione autohighlight all code, che non è una buona idea per un forum di supporto in cui la maggior parte dei post con blocchi di codice saranno semplici file di log e non codice effettivo. Suggerirei al loro team di disabilitarla al più presto.
Oltre a ciò, evidenziare oltre 10.000 righe di codice nel thread principale del browser sarà percettibilmente lento su alcuni dispositivi, il che è facilissimo da vedere quando si apre un diff di GitHub su un telefono Android. Abbiamo in programma di farlo in un worker JS in background, ma presenta alcuni svantaggi e non ci siamo ancora arrivati.
Oh, scusa. Sulla home page ho visto un grande pulsante “provalo gratis”, che suggeriva che puoi solo provarlo gratuitamente, e nella sezione Prezzi non c’era menzione di un piano gratuito. Avrei dovuto indagare ulteriormente, immagino che si tratti di piani ospitati o qualcosa del genere.
Sì, l’ho già notato e ho ipotizzato che fosse probabilmente una errata configurazione da parte loro, ma ciò non è rilevante per il problema. Avrei potuto incollare un pezzo di codice javascript legittimo ugualmente lungo. O anche se il problema è effettivamente innescato solo dall’evidenziazione con la sintassi sbagliata, ciò non giustifica il fatto che l’editor diventi lento al di fuori del codice.
evidenziare oltre 10k+ righe di codice nel thread principale del browser sarà percepibilmente lento su alcuni dispositivi
Sì, ma non c’è motivo per cui ciò debba accadere mentre modifico il resto del post al di fuori del blocco di codice che viene evidenziato. Indipendentemente dal fatto che tu lo faccia nel thread principale (ovviamente sbagliato - sono contento di sentire che ci stai lavorando per risolvere quel problema) o in background, una volta che il codice è stato evidenziato e non lo sto più modificando, non dovrebbe esserci alcun lavoro relativo all’evidenziazione da fare. Qualsiasi analisi, calcolo, ecc. relativi all’evidenziazione deve essere rifatto solo se si modificano i contenuti del blocco di codice.