Glimmer-site-header.gjs:144 Errore getBoundingClientRect solo con plugin personalizzato abilitato

Ciao,

Su una recente versione di Discourse (Ember 6.6.0), sto riscontrando questo errore nella console del browser, ma solo quando il mio plugin personalizzato è abilitato:

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)
    ...

Cosa ho fatto finora:

  • Con tutti i plugin personalizzati disabilitati → nessun errore.
  • Con solo il mio plugin abilitato (sul tema predefinito) → l’errore appare.
  • Ho cercato nel plugin d-header, site-header, glimmer-site-header, getBoundingClientRect:
    • Il plugin non tocca mai l’header; aggiunge componenti solo tramite connettori:
      • discovery-list-area/…
      • below-site-header/…
      • below-main-outlet/…
  • Ho provato a creare in modo difensivo un elemento stub .d-header nell’inizializzatore del plugin se non esiste, ma l’errore si verifica comunque.
  • Nelle pagine in cui viene attivato l’errore, document.querySelector('.d-header') restituisce un elemento.

Domande:

  1. In quali condizioni glimmer-site-header può finire per chiamare element.getBoundingClientRect() su null?
  2. C’è qualcosa di speciale nell’uso del connettore below-site-header o nell’aggiunta di classi al corpo che potrebbe interferire con il nuovo componente header?
  3. Esiste un modo consigliato per i plugin di coesistere in sicurezza con glimmer-site-header in modo che questo accesso a null non possa verificarsi?

Qualsiasi suggerimento o problema noto a riguardo sarebbe molto utile.