L'éditeur devient inutilisable car le message s'allonge

J’ai posté ce message sur un forum qui utilise Discourse :

Et j’ai également pu reproduire ce problème sur le forum de démonstration.

Ce message contient de longs extraits de code copié-collé - pour être plus précis, pas exactement du code mais plutôt la sortie de l’exécution de commandes. C’est un cas d’utilisation assez courant dans les forums de support concernant les logiciels et l’informatique.

Pendant que j’écrivais le message, après avoir collé les longs blocs de texte (qui ne sont même pas si longs, juste quelques centaines de lignes), l’éditeur est devenu de plus en plus lent pendant que je tapais. Il a fallu du temps pour voir les lettres que je tapais apparaître à l’écran (et je ne parle pas de l’aperçu en direct, juste de la zone de texte dans laquelle vous tapez). Il devient essentiellement inutilisable.

Non. Discourse est un logiciel libre et open source.

Je suis capable de reproduire cela lorsque je copie/colle ceci dans l’éditeur. Il devient effectivement agaçant et lent.

3 « J'aime »

Intéressant, je n’arrive pas à le reproduire ici :

Je vois que ce forum est en retard sur les mises à jour. La semaine dernière, j’ai fusionné un changement qui met à jour la bibliothèque HighlightJS vers sa dernière version, ce qui rendra cela beaucoup plus rapide.

De plus, l’instance https://forum.manjaro.org a le paramètre autohighlight all code, ce qui n’est pas une bonne idée pour un forum de support où la plupart des messages avec des blocs de code seront de simples fichiers journaux et non du code réel. Je suggérerais à leur équipe de désactiver cela dès que possible.

Par ailleurs, la mise en surbrillance de plus de 10 000 lignes de code dans le thread principal du navigateur sera perceptiblement lente sur certains appareils, ce qui est très facile à voir lors de l’ouverture d’une différence GitHub sur un téléphone Android. Nous avons des projets pour faire cela dans un worker JS en arrière-plan, mais cela présente certains inconvénients et nous n’y sommes pas encore parvenus.

3 « J'aime »

Oh, désolé. Sur la page d’accueil, j’ai vu un gros bouton « essayez gratuitement », ce qui suggérait que vous ne pouviez l’essayer que gratuitement, et dans la section Tarifs, il n’y avait aucune mention d’un plan gratuit. J’aurais dû enquêter davantage, je suppose que ce sont des plans hébergés ou quelque chose comme ça.

De plus, l’instance https://forum.manjaro.org a le paramètre autohighlight all code

Oui, je l’ai déjà remarqué et j’ai supposé que c’était probablement une mauvaise configuration de leur part, mais cela n’est pas pertinent pour le problème. J’aurais pu coller un morceau de code JavaScript légitime tout aussi long. Ou même si le problème est réellement déclenché uniquement par le fait d’avoir du code mis en surbrillance avec la mauvaise syntaxe, cela ne justifie pas que l’éditeur devienne lent en dehors du code.

la mise en surbrillance de plus de 10 000 lignes de code dans le thread principal du navigateur sera perceptiblement lente sur certains appareils

Oui, mais il n’y a aucune raison pour que cela se produise pendant que j’édite le reste du message en dehors du bloc de code qui est mis en surbrillance. Que vous le fassiez dans le thread principal (évidemment faux - je suis content d’apprendre que vous travaillez à corriger cela) ou en arrière-plan, une fois que le code a été mis en surbrillance et que je ne l’édite plus, il ne devrait plus y avoir de travail lié à la mise en surbrillance à effectuer. Toute analyse, calcul, etc. liés à la mise en surbrillance n’a besoin d’être refait que si l’on modifie le contenu du bloc de code.