Hola,
En una versión reciente de Discourse (Ember 6.6.0), estoy obteniendo este error en la consola del navegador, pero solo cuando mi plugin personalizado está habilitado:
glimmer-site-header.gjs:144 Uncaught TypeError: Cannot read properties of null (reading 'getBoundingClientRect')
at recalculateHeaderOffset (glimmer-site-header.gjs:144)
at setupHeader (glimmer-site-header.gjs:212)
...
Lo que he hecho hasta ahora:
- Con todos los plugins personalizados deshabilitados → no hay error.
- Con solo mi plugin habilitado (en el tema predeterminado) → aparece el error.
- Busqué en el plugin
d-header,site-header,glimmer-site-header,getBoundingClientRect:- El plugin nunca toca la cabecera; solo añade componentes a través de conectores:
discovery-list-area/...below-site-header/...below-main-outlet/...
- El plugin nunca toca la cabecera; solo añade componentes a través de conectores:
- Intenté crear defensivamente un elemento
.d-headersimulado en el inicializador del plugin si no existe, pero el error todavía ocurre. - En las páginas donde se dispara el error,
document.querySelector('.d-header')devuelve un elemento.
Preguntas:
- ¿Bajo qué condiciones
glimmer-site-headerpuede terminar llamando aelement.getBoundingClientRect()ennull? - ¿Hay algo especial en el uso del conector
below-site-headero en la adición de clases al cuerpo (body) que pueda interferir con el nuevo componente de cabecera? - ¿Existe una forma recomendada para que los plugins coexistan de forma segura con
glimmer-site-headerpara que este acceso anullno pueda ocurrir?
Cualquier indicación o problema conocido al respecto sería de gran ayuda.