Benutzerdefinierte Themakomponente wird beim ersten Rendern nicht angezeigt

Ich habe eine einfache Komponente erstellt, die ein einfaches anklickbares Banner für eingeloggte Benutzer anzeigt. Sie funktioniert einwandfrei, bis ich auf 2.9.0.beta5: Security Fixes, Block Hotlinked Media, PM Tagging, Search Improvements, and more aktualisiere.

Die Komponente wird nur angezeigt, wenn ich die Seite 2-3 Mal aktualisiere, und sie verschwindet jedes Mal, wenn ich meine Website in einem neuen Tab/Fenster öffne. Ich sehe, dass dasselbe Problem im Theme-Creator auftritt.

Irgendwelche Ideen, warum das passiert? Hier ist der Code, den ich verwende.

<script type="text/discourse-plugin" version="0.8">
const h = require("virtual-dom").h;

let user = api.getCurrentUser();

if(user){
 api.createWidget("fixed-banner", {
     tagName: "div.container-row",

     html() {
         return h('div.content', [
             h('a.bannerLink', {
                href: '/categories',
             }, 'test'),
    ]);
     }
 });
  
}
</script>
1 „Gefällt mir“

Finden Sie heraus, warum ich Folgendes verwendet habe:

<script type="text/x-handlebars" data-template-name="/connectors/above-site-header/theme-component">
    {{mount-widget widget="theme-component"}}
</script>

im <body>-Tag. Das Verschieben in den <head>-Tag hat dieses Problem behoben. Aber es ist seltsam, dass das Problem nach dem letzten Upgrade plötzlich auftrat, es hat früher gut funktioniert.