Blocos de código em e-mails têm novas linhas vazias

Code blocks appear to be formatted with an empty newline between each line ONLY in the HTML portion of emails. They appear correctly on both the forum itself, and in the plain text portion of the email. This is not an email formatting / CSS problem - there is an actual newline inserted in the source ONLY in the email case.

An example: [iFFT Freeze/Scrub - #25 by toneburst - Questions - scsynth]

The original source text of the post looks like:

The formatted post on the website looks like:

The HTML email received, however, looks like:

In the source for the email, you can see that all newlines have been doubled:

4 curtidas

I agree, this is tends to look quite off.

@techAPJ can you investigate?

3 curtidas

I am unable to repro this on latest Discourse version.

HTML:

Text:

This might be an issue with your email client.

Ainda vejo o problema com os e-mails enviados a partir do 2.9.0.beta1 - por favor, ignore o resto se já foi corrigido desde então :slight_smile:

Isso não está relacionado a um cliente de e-mail específico - a segunda captura de tela que postei é do HTML bruto sendo gerado para os e-mails. Mas, na verdade, é mais esclarecedor olhar o conteúdo real do e-mail (um trecho…):

<pre style="word-wrap: break-word; max-width: 694px;"><code style="display: block; background-color: #f9f9f9; overflow: auto; padding: 5px;; background-color: #f9f9f9; padding: 2px 5px;">
(
// This expects two keys to be defined: ~history (the list) and ~recordKey (which key to record)
Pdef(\keyRecorder, Pbind(
	\callback, Pfunc({
		|event|
		event[\callback].addFunc({ // combine your record func with any previous callback that was there (it's okay if its nil)
			~history.add(currentEnvironment[~recordKey])
		}).postln;
	})
));

Está claro que existem (a) novas linhas REAIS onde haveria novas linhas no código e (b) caracteres =0D (retornos de carro) no final de cada linha. Pelo que sei, todas as novas linhas dentro de um <pre> devem ser interpretadas literalmente, o que explica as novas linhas duplas.

Consigo reproduzir o problema no Gmail e abrindo a parte HTML da mensagem de e-mail diretamente em um navegador (depois de substituir os caracteres quoted-printable como =0D). Isso me deixa curioso:

  • Você vê o mesmo (novas linhas mais =0D’s) quando olha a versão bruta do e-mail que postou?
  • Se sim, como fica o código-fonte HTML da visualização “correta” que você postou? Seu cliente de e-mail está de alguma forma removendo os =0D’s (ou as novas linhas, para esse assunto)?

Em qualquer caso, mesmo que seja um problema específico do Gmail, provavelmente vale a pena dar uma olhada nisso, já que o Gmail é de longe o cliente de e-mail mais comum.