Hola @miguelhub, @alba_auto y @silvia94. Entiendo perfectamente vuestra frustración con este tipo de problemas de carga intermitente.
El problema que describes es común cuando se cargan assets de forma global o en un contexto donde no son estrictamente necesarios, lo que puede llevar a conflictos con otros scripts o estilos ya cargados por el PrestaShop core o por otros módulos. En el fragmento que nos muestras, la carga de CSS y JS ocurre en el método run() y se activa simplemente si el controlador de contexto existe y tiene el método addCSS. Esto es demasiado amplio.
La clave está en asegurar que estos assets solo se inyecten cuando el usuario esté activamente en la interfaz de configuración de vuestro módulo Conorderfee. El mismo fragmento de código que has compartido ya contiene una pista con $activeTab = Tools::getValue('conorderfee_tab', 'dashboard');.
La solución más limpia y robusta para PrestaShop 1.7.x es condicionar la carga de esos assets a que el activeTab corresponda a las pestañas principales de vuestro módulo. Así evitamos inyectarlos en otras páginas del back office donde podrían generar conflictos.
Aquí te dejo una adaptación del fragmento que debería resolver el problema. Asegúrate de incluir todos los nombres de las pestañas principales de tu módulo en el array, no solo 'dashboard' o 'policies', si tiene más:
function run()
{
$activeTab = Tools::getValue('conorderfee_tab', 'dashboard');
if (isset($this->context->controller) && method_exists($this->context->controller, 'addCSS')
&& in_array($activeTab, ['dashboard', 'policies', 'otros_tabs_aqui'])) { // Ajusta los tabs de tu módulo
$this->context->controller->addCSS($this->module->getPathUri() . 'views/css/admin_conorderfee.css');
$this->context->controller->addJS($this->module->getPathUri() . 'views/js/adminConditionBuilder.js');
}
Este cambio asegura que los assets se carguen solo cuando el usuario está en una de las pestañas activas del módulo Conorderfee, reduciendo drásticamente las posibilidades de conflicto. Aunque los hacks directos en el código pueden funcionar, para una solución más profesional y mantenible a largo plazo, siempre recomiendo optar por módulos diseñados para añadir recargos de manipulación o servicio condicionales, ya que están optimizados para evitar este tipo de incompatibilidades.
Espero que esto os sirva de ayuda.