Priorität/Schweregrad: Niedrig?
Plattform: Geräte, die die neue RTE verwenden.
Beschreibung: Das Erstellen benutzerdefinierter Token-Typen, die zuvor mit der markdown-it-Engine einwandfrei funktionierten, verursacht Fehler mit ProseMirror. Da es kein ProseMirror-Schema gibt, das die geparsten Daten in DOM verarbeitet, führen benutzerdefinierte Token-Typen zu einem Fehler. Ebenso gibt es Verhaltensprobleme beim Umschalten zwischen RTE und Markdown mit BBCode.
Reproduzierbare Schritte:
RTE zuerst:
- Editor öffnen
- Modus auf RTE setzen
- Benutzerdefinierten BBCode einfügen.
a. Zum Beispiel mit Discourse Meta:[wrap=test2 user-id=1]Inhalt[/wrap] - Fehler schließen und zwischen RTE- und MD-Modus umschalten.
a. BBCode wird escaped
Markdown zuerst:
- Editor öffnen
- Modus auf Markdown setzen
- Benutzerdefinierten BBCode einfügen.
- Zwischen MD-Modus und RTE umschalten.
a. BBCode ist nicht sichtbar
- Zurückschalten, um den Rohinhalt anzuzeigen.
Aktueller Workaround:
Nur den Markdown-Modus verwenden.
Das Auftreten des Fehlers selbst ist nicht das große Problem, das größere Problem ist das seltsame Verhalten beim Umschalten oder beim Einfügen des Codes.
Die ideale Lösung wäre, dass jedes Markdown-Plugin einen ordnungsgemäßen Wizard/ProseMirror-Schema erstellt, um es zu verarbeiten.
In Bezug auf den generischen [wrap] BBCode ist es vielleicht am besten, ihn als einfachen Text zu belassen, da mehrere Komponenten denselben generischen BBCode in derselben Discourse-Instanz verwenden könnten. Die ideale Lösung ist wahrscheinlich, Entwicklern die Erstellung eines benutzerdefinierten Wizards zu ermöglichen und die Ausgabe an ihre eigenen Implementierungen anzupassen, und sie auf einfachen Text zurückfallen zu lassen, wenn keine Übereinstimmungen gefunden werden.
Allgemeiner gesprochen wäre es bei allen bestehenden Plugins, die noch nicht für die Verwendung von ProseMirror aktualisiert wurden, eine gute Übergangslösung, sie standardmäßig auf einfachen Text (der nicht escaped/verborgen ist) zurückfallen zu lassen.


