Tipos de Token Personalizados do Markdown-it causando erros no RTE

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:

  1. Abra o Editor
  2. Defina o modo como RTE
  3. Insira BBCode personalizado.
    a. Por exemplo, com Discourse Meta: [wrap=test2 user-id=1]Content[/wrap]
  4. Ignore o erro e alterne entre os modos RTE e md.
    a. O BBCode é escapado

Markdown Primeiro:

  1. Abra o Editor
  2. Defina o modo como Markdown
  3. Insira BBCode personalizado.
  4. Alterne entre os modos md e RTE.
    a. O BBCode não é visível
  5. 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.

2 curtidas

Obrigado por relatar, @renato está de olho em casos extremos como este, o wrap tem sido nossa opção para certos componentes de tema, nós vamos fazê-lo funcionar.

2 curtidas

Recebo uma mensagem de erro semelhante se adicionar a tag Galeria [grid] no Markdown e, em seguida, re-editar minha postagem no modo WYSIWYG.

Entendo que o problema é conhecido e está sendo trabalhado, apenas adiciono a mensagem de erro real:

Nenhum analisador processou o token bbcode_open para a tag: div, attrs: [["class","d-image-grid"]]

Para as pessoas que pesquisarão esta string no meta após experimentar este problema (como eu acabei de fazer). :slight_smile:

1 curtida

Estamos cientes, o problema está sendo trabalhado e deve ser resolvido em algumas semanas.

3 curtidas

Encontrei isso. Fico feliz que esteja sendo trabalhado.

O Grid deixa as postagens bonitas em vez de uma bagunça horrível quando os usuários carregam várias imagens na postagem.