Je suis en train d’examiner certains messages dont le contenu a été omis après l’importation d’e-mails provenant d’une liste de diffusion. Certains e-mails encadrent les titres ou les sections avec des lignes de « ~~~~~~~~~~~~~~~~~ », et la première occurrence de cette ligne seule, ainsi que tout ce qui suit, est omise du message Discourse.
En inspectant l’e-mail dans le message, je peux voir l’e-mail original encodé en base64. En passant à l’onglet Texte, je constate qu’il a été décodé sans aucune omission.
./launcher enter app
rails c
Post.find_by(id: 154678)
=> #<Post:0x000055b8da925e08
...
En utilisant Rails, je vois que la colonne raw s’arrête immédiatement avant la première ligne de « ~~~~~~~~~~~~~~~~~ », et la colonne cooked contient évidemment la même chose que raw, mais adaptée au format HTML. J’ai essayé de modifier certains paramètres liés au recadrage des e-mails, mais je ne sais pas comment tester si ces modifications ont un effet.
À ma connaissance, l’utilisation de « Rebuild HTML » sur le message ou l’exécution de Post.find_by(id: 154678).rebake! dans Rails permet de prendre le contenu de raw et de générer le HTML, en mettant à jour cooked. Cependant, je ne sais pas si cela prendra également le contenu de raw_email pour le traiter à nouveau, donc je ne suis pas certain de savoir comment vérifier si les paramètres modifiés ont un effet.
Comment puis-je demander à Discourse de retraiter raw_email du message si rebake! ne le fait pas, afin de m’assurer que je dépanne correctement ?
Si vous avez des idées sur la façon d’éviter que le contenu ne soit omis, elles sont bien sûr les bienvenues.