Prioridade/Severidade: Baixa?
Plataforma: Dispositivos usando o novo RTE.
Descrição: A criação de tipos de token personalizados, que anteriormente funcionavam bem apenas com o motor markdown-it, causa erros com o ProseMirror. Como não há um esquema ProseMirror para lidar com o parse para DOM, quaisquer tipos de token personalizados criam um erro. Da mesma forma, há problemas de comportamento ao alternar entre RTE e Markdown com BBCode.
Passos para Reproduzir:
RTE Primeiro:
- Abra o Editor
- Defina o modo como RTE
- Insira BBCode personalizado.
a. Por exemplo, com Discourse Meta:[wrap=test2 user-id=1]Content[/wrap] - Ignore o erro e alterne entre os modos RTE e md.
a. O BBCode é escapado
Markdown Primeiro:
- Abra o Editor
- Defina o modo como Markdown
- Insira BBCode personalizado.
- Alterne entre os modos md e RTE.
a. O BBCode não é visível
- Alterne de volta para ver o código bruto.
Solução alternativa atual:
Use apenas o modo Markdown.
Receber o erro em si não é um grande problema, o maior problema é o comportamento estranho ao alternar ou ao inserir o código.
A solução ideal seria que cada plugin de markdown criasse um assistente/esquema ProseMirror adequado para lidar com ele.
Com relação ao BBCode genérico [wrap], talvez deixá-lo como texto simples seja o melhor, já que vários componentes podem estar usando o BBCode genérico na mesma instância do Discourse. A solução ideal provavelmente é permitir que os desenvolvedores criem um assistente personalizado e correspondam a saída às suas próprias implementações, e deixá-lo como texto simples se nenhuma correspondência for encontrada.
De forma mais geral, com quaisquer plugins existentes que não foram atualizados para usar ProseMirror, deixá-lo como texto simples (que não é escapado/oculto) seria um bom fallback provisório.


