Sto analizzando alcuni post che, dopo l’importazione di email da una mailing list, risultano privi di parte del contenuto. Alcune email delimitano intestazioni o sezioni con righe contenenti “~~~~~~~~~~~~~~~~” e la prima occorrenza di tale sequenza su una riga propria, insieme a tutto ciò che segue, viene omessa dal post su Discourse.
Esaminando l’email nel post, vedo che l’email originale è codificata in base64 e, passando alla scheda Testo, posso notare che è stata decodificata senza alcuna omissione.
./launcher enter app
rails c
Post.find_by(id: 154678)
=> #<Post:0x000055b8da925e08
...
Usando Rails, osservo che la colonna raw si interrompe immediatamente prima della prima occorrenza di “~~~~~~~~~~~~~~~~”, mentre la colonna cooked contiene ovviamente lo stesso contenuto di raw, ma formattato in modo appropriato per l’HTML. Ho provato a modificare alcune impostazioni relative all’eliminazione dei contenuti dalle email, ma non sono sicuro di come verificare se tali modifiche abbiano un effetto.
Per quanto ne so, l’uso della funzione Ricrea HTML sul post o l’esecuzione del comando Post.find_by(id: 154678).rebake! in Rails dovrebbe prendere il contenuto di raw e generare l’HTML, aggiornando così la colonna cooked. Non so però se venga presa in considerazione anche la colonna raw_email per un nuovo elaboramento, quindi non sono certo di come verificare se le impostazioni modificate stiano producendo effetti.
Come posso indicare a Discourse di riprocessare raw_email del post, se rebake! non lo fa, per essere sicuro di procedere correttamente con la risoluzione del problema?
Se hai qualche idea su come evitare l’omissione del contenuto, sono ovviamente benvenute.