Olá,
Em uma versão recente do Discourse (Ember 6.6.0), estou recebendo este erro no console do navegador, mas apenas quando meu plugin personalizado está ativado:
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)
...
O que eu fiz até agora:
- Com todos os plugins personalizados desativados → sem erro.
- Com apenas meu plugin ativado (no tema padrão) → o erro aparece.
- Pesquisei no plugin por d-header, site-header, glimmer-site-header, getBoundingClientRect:
- O plugin nunca mexe no cabeçalho; ele apenas adiciona componentes através de conectores:
- discovery-list-area/…
- below-site-header/…
- below-main-outlet/…
- O plugin nunca mexe no cabeçalho; ele apenas adiciona componentes através de conectores:
- Tentei criar defensivamente um stub de elemento
.d-headerno inicializador do plugin se nenhum existir, mas o erro ainda ocorre. - Nas páginas onde o erro ocorre,
document.querySelector('.d-header')retorna um elemento.
Perguntas:
- Sob quais condições o
glimmer-site-headerpode acabar chamandoelement.getBoundingClientRect()emnull? - Há algo de especial em usar o conector
below-site-headerou adicionar classes ao corpo (body) que possa interferir com o novo componente de cabeçalho? - Existe uma maneira recomendada para que plugins coexistam com segurança com o
glimmer-site-headerpara que esse acesso nulo não ocorra?
Quaisquer dicas ou problemas conhecidos sobre isso seriam muito úteis.