Estou investigando alguns posts que tiveram conteúdo omitido após a importação de e-mails de uma lista de distribuição. Alguns e-mails envolvem títulos/seções com linhas de “~~~~~~~~~~~~~~~~”, e a primeira ocorrência disso em uma linha própria, junto com tudo o que vem abaixo, é omitida do post no Discourse.
Ao inspecionar o e-mail no post, posso ver o e-mail original codificado em base64 e, ao alternar para a aba Texto, vejo que ele foi decodificado sem omitir nada.
./launcher enter app
rails c
Post.find_by(id: 154678)
=> #<Post:0x000055b8da925e08
...
Usando o Rails, posso ver que a coluna raw para imediatamente antes da primeira “~~~~~~~~~~~~~~~~” e a coluna cooked, obviamente, contém o mesmo que raw, mas formatado para HTML. Tentei alterar algumas configurações relacionadas ao recorte de e-mails, mas não tenho certeza de como testar se essas alterações fazem diferença.
Pelo que entendi, usar a opção Rebuild HTML no post ou executar Post.find_by(id: 154678).rebake! no Rails pegará o conteúdo de raw e construirá o HTML, definindo cooked. Não sei, no entanto, se ele pegará o conteúdo de raw_email e o processará novamente, então não tenho certeza de como testar se as configurações alteradas estão tendo algum efeito.
Como devo instruir o Discourse a reprocessar o raw_email do post, caso rebake! não faça isso, para que eu possa ter certeza de que estou solucionando o problema corretamente?
Se você tiver alguma ideia sobre como evitar que o conteúdo seja omitido, elas são, claro, bem-vindas também.