Priorité/Gravité : Faible ?
Plateforme : Appareils utilisant le nouveau RTE.
Description : La création de types de jetons personnalisés, qui fonctionnait auparavant bien avec le seul moteur markdown-it, provoque des erreurs avec ProseMirror. Comme il n’y a pas de schéma ProseMirror pour gérer l’analyse en DOM, tout type de jeton personnalisé crée une erreur. De même, il y a des problèmes de comportement lors du passage du RTE à Markdown avec BBCode.
Étapes reproductibles :
RTE d’abord :
- Ouvrir l’éditeur
- Définir le mode sur RTE
- Insérer du BBCode personnalisé.
a. Par exemple avec Discourse Meta :[wrap=test2 user-id=1]Contenu[/wrap] - Ignorer l’erreur et passer du mode RTE au mode md.
a. Le BBCode est échappé
Markdown d’abord :
- Ouvrir l’éditeur
- Définir le mode sur Markdown
- Insérer du BBCode personnalisé.
- Passer du mode md au mode RTE.
a. Le BBCode n’est pas visible
- Revenir en arrière pour voir le brut.
Solution de contournement actuelle :
Utiliser uniquement le mode Markdown.
Recevoir l’erreur elle-même n’est pas un gros problème, le plus gros problème réside dans le comportement étrange lors du passage ou lors de l’insertion du code.
La solution idéale serait que chaque plugin markdown crée un assistant/schéma ProseMirror approprié pour le gérer.
Concernant le BBCode générique [wrap], peut-être qu’il vaut mieux le laisser en texte brut, car plusieurs composants pourraient utiliser le BBCode générique dans la même instance Discourse. La solution idéale est probablement de laisser les développeurs créer un assistant personnalisé et de faire correspondre la sortie à leurs propres implémentations, et de laisser le texte brut par défaut s’il n’y a pas de correspondance.
Plus généralement, avec tous les plugins existants qui n’ont pas été mis à jour pour utiliser ProseMirror, laisser le comportement par défaut sur du texte brut (qui n’est pas échappé/caché) serait une bonne solution intermédiaire.


