Prioridad/Severidad: ¿Baja?
Plataforma: Dispositivos que usan el nuevo RTE.
Descripción: La creación de tipos de tokens personalizados, que anteriormente funcionaban bien solo con el motor markdown-it, causa errores con ProseMirror. Como sin un esquema de ProseMirror para manejar el parseo a DOM, cualquier tipo de token personalizado crea un error. De manera similar, hay problemas de comportamiento al alternar entre RTE y Markdown con BBCode.
Pasos para reproducir:
Primero RTE:
- Abrir Editor
- Establecer modo a RTE
- Insertar BBCode personalizado.
a. Por ejemplo con Discourse Meta:[wrap=test2 user-id=1]Contenido[/wrap] - Descartar error y alternar entre modo RTE y md.
a. BBCode se escapa
Primero Markdown:
- Abrir Editor
- Establecer modo a Markdown
- Insertar BBCode personalizado.
- Alternar entre modo md y RTE.
a. BBCode no es visible
- Volver a alternar para ver el código fuente.
Solución alternativa actual:
Usar solo el modo Markdown.
Obtener el error en sí no es un gran problema, el problema mayor es el comportamiento extraño al alternar o al insertar el código.
La solución ideal sería que cada plugin de markdown creara un asistente/esquema de ProseMirror adecuado para manejarlo.
Con respecto al BBCode genérico [wrap], quizás lo mejor sea dejarlo en texto plano, ya que varios componentes podrían estar usando el BBCode genérico en la misma instancia de Discourse. La solución ideal probablemente sea permitir a los desarrolladores crear un asistente personalizado y que la salida coincida con sus propias implementaciones, y que recurra a texto plano si no se encuentran coincidencias.
De manera más general, con cualquier plugin existente que no se haya actualizado para usar ProseMirror, permitir que recurra a texto plano (que no se escape/oculte) sería una buena solución provisional.


