Bug Email Transicional e New Relic

Recentemente tive um problema com o email transicional em um Magento EE 1.13.0 rodando Debian no container e o agente PHP da New Relic instalado.
Quando na página para criar um novo template, se você tentar carregar um template em HTML, ele fica girando e depois não carrega o template. Mas funciona com template em texto.

Durante nossos testes identificamos que o agente da New Relic estava adicionando um JavaScript à requisição, que quebrava o carregamento. Por motivos de segurança irei colocar somente parte do JavaScript que era inserido:

s=NREUM;"undefined"==typeof window.newrelic&&(newrelic=s)

Existe explicação do agente aqui: https://docs.newrelic.com/docs/browser/new-relic-browser/getting-started/introduction-new-relic-browser
A New Relic explica como desativar o agente para uma função específica: https://docs.newrelic.com/docs/agents/php-agent/php-agent-api/newrelic_disable_autorum

A função responsável em carregar o template é: public function defaultTemplateAction()
Que está no arquivo: app/code/core/Mage/Adminhtml/controllers/System/Email/TemplateController.php

Basta adicionar o código fornecido pela New Relic logo no começo desta função para não ter mais problemas:

public function defaultTemplateAction()
{
if (extension_loaded('newrelic')) {
newrelic_disable_autorum();
}
$template = $this->_initTemplate('id');
$templateCode = $this->getRequest()->getParam('code');
$template->loadDefault($templateCode, $this->getRequest()->getParam('locale'));
$template->setData('orig_template_code', $templateCode);
$template->setData('template_variables', Zend_Json::encode($template->getVariablesOptionArray(true)));
$templateBlock = $this->getLayout()->createBlock('adminhtml/system_email_template_edit');
$template->setData('orig_template_used_default_for', $templateBlock->getUsedDefaultForPaths(false));
$this->getResponse()->setBody(Mage::helper('core')->jsonEncode($template->getData()));
}

Como não é recomendado atualizar o arquivo core do Magento, copie o arquivo para a pasta local: app/code/local/Mage/Adminhtml/controllers/System/Email/TemplateController.php
Agora você pode fazer a alteração diretamente neste arquivo. Caso o seu Magento tenha bastante modificações, é capaz de não funcionar desta maneira.

É por isso que criei um módulo bem simples para ficar fácil a implementação. Você pode baixar ele aqui: https://github.com/CajuCLC/MageBR_Newrelicfix/releases/latest
Caso queira ajudar no projeto: https://github.com/CajuCLC/MageBR_Newrelicfix

Eu não consegui replicar o problema em servidores utilizando CentOS 6 e Amazon Linux.

Espero que este tutorial tenha servidor e ajudado vocês. Não se esqueça de adicionar nosso site aos favoritos.

Até a próxima!