Añadiendo un widget externo a composer

Hice un intento y obtuve resultados similares. Intenté usar decorateCookedElement porque eventualmente desaprobaremos decorateCooked.

 api.decorateCookedElement(
    (element) => {
      element.childNodes.forEach((node) => {
        if (node.dataset && node.dataset.pawidget) {
          node.insertAdjacentHTML(
            "beforeend",
            "<div id='PurpleAirWidget_11726_module_AQI_conversion_C0_average_0_layer_standard'>Cargando PurpleAir Widget...</div>"
          );

          loadScript(
            `https://www.purpleair.com/pa.widget.js?key=${node.dataset.pawidget}&module=AQI&conversion=C0&average=0&layer=standard&container=PurpleAirWidget_11726_module_AQI_conversion_C0_average_0_layer_standard`
          );
        }
      });
    },
    { id: "widget-append", onlyStream: true, afterAdopt: true }
  );

La ligera diferencia aquí es que pasé la clave con el atributo de datos:

<div data-PAWidget="21R72LUN79CXRZ50"></div>

Esto funciona bien para mí si es la primera vez que se carga el script. Si veo una publicación con el script, luego vuelvo a la lista de temas y vuelvo a ingresar al tema, no funciona (hasta que actualizo). Puedo ver que decorateCookedElement se activa cada vez que se carga la publicación relevante, pero hay algo que impide que el script funcione de nuevo.

No estoy seguro si está relacionado, pero también veo un error Uncaught TypeError: i is null en la consola de pa.widget.js:

Screen Shot 2021-11-08 at 9.11.39 PM