Mehrere Einstellungen stimmen nicht mit der Dokumentation überein und UI-Bugs

Ich fange gerade erst mit Discourse an, vielleicht übersehe ich also etwas Offensichtliches, obwohl ich das nicht glaube. Ich benutze die gehostete Instanz für Open-Source-Projekte, daher weiß ich nicht, ob ich eingeschränkte Optionen habe oder was los ist.

Fehlende Einstellungen

UI-Bugs

  • Das Menü “Plugins” erscheint nicht, außer im Chrome-Inkognito-Modus. Firefox (einschließlich Inkognito-Modus) erscheint nicht, wie hier.


    Chrome Inkognito-Modus unten

    (Gelöst… AdBlocker)

  • Der “Discord”-Button der Discord-Chat-Integration hat keine Funktion und darunter eine seltsame Scrollleiste. Beim Klicken auf den Button werden keine Aktionen ausgeführt oder Fehler im Entwicklermodus angezeigt.

  • Beim Erstellen einer Kategorie schlägt der Button “Erforderliche Tag-Gruppe hinzufügen” fehl “erst nachdem die Kategorie gespeichert wurde”.

1 „Gefällt mir“

Entferne deinen Adblocker :rofl:

Das mit den Webhooks ist in der Discord-Benutzeroberfläche, nicht in Discourse. Vielleicht haben sie geändert, wie es funktioniert?

Diese Einstellungen sind in einigen unserer Hosting-Stufen ausgeblendet.

Adblocker entfernen
Das scheint dem Plugin-Menü geholfen zu haben. Danke!

Das Webhook-Ding ist in der Discord-Benutzeroberfläche, nicht in Discourse. Vielleicht haben sie geändert, wie es funktioniert?
Ich weiß, wie man den Webhook von Discord erhält (das hat sich nicht geändert)… aber ich muss die Webhook-Adresse irgendwo in Discourse hinzufügen, damit sie an Discord gesendet werden kann.

Diese Einstellungen sind in einigen unserer Hosting-Stufen ausgeblendet.

Das ist enttäuschend. Ich möchte einen WidgetBot crate (Discord-Integration) zur Seite hinzufügen… es ist eine viel bessere Lösung als (Deprecated) Display a "Discord Widget" in a dropdown button

<script src="https://cdn.jsdelivr.net/npm/@widgetbot/crate@3" async defer>
  new Crate({
    server: '299881420891881473',
    channel: '355719584830980096',
  })
</script>

Ziemlich einfacher Code. Das Hinzufügen ihres Quell-JavaScript manuell funktioniert nicht.

Ich vermute, es gibt keine alternative Möglichkeit, diese Optionen zu aktivieren?

Vielleicht könnte es einen Anfrageprozess geben, um zu prüfen, ob die Quelle sicher ist und sie zu gehosteten Instanzen hinzugefügt werden könnte? Oder sie einfach zulassen, da das JavaScript sowieso auf dem Client und nicht auf dem Host läuft?

1 „Gefällt mir“

Der richtige Weg ist, eine Theme component zu erstellen, die das tut, was Sie dort möchten. Eine solche Komponente kann den Drittanbieter-JS als First-Party-Asset ausliefern, was sicherer ist und mit CSP kompatibel ist.

Ein aktuelles Beispiel, das ich gemacht habe, ist GitHub - discourse/discourse-orgchart, das 3 verschiedene JS-Bibliotheken unter seinen Assets ausliefert und unter CSP einwandfrei funktioniert.

2 „Gefällt mir“

Okay, das weist mich in die richtige Richtung. Ich war verwirrt wegen der Erweiterung über die settings.yml, aber es beginnt Sinn zu ergeben. Das scheint ein relevantes Beispiel zu sein: discourse-mermaid-theme-component/settings.yml at fa43854e66becf43626063e33dde29f636933d1f · discourse/discourse-mermaid-theme-component · GitHub

Übrigens, ich schätze deine Antworten!

Wenn Sie möchten, ist eine super einfache Methode über die Benutzeroberfläche, einfach den Inhalt von https://cdn.jsdelivr.net/npm/@widgetbot/crate@3 in ein Skript-Tag einzufügen, wie zum Beispiel:

<script>
// fügen Sie hier den gesamten Inhalt von https://cdn.jsdelivr.net/npm/@widgetbot/crate@3 ein
</script>
<script>
  new Crate({
    server: '299881420891881473',
    channel: '355719584830980096',
  })
</script>

Leider hat das nicht funktioniert.

Auch das Erweitern über ein Theme funktioniert nicht. :confused:

Da mein Menü für Plugins jetzt funktioniert… scheint es, dass das Discourse Voting nicht enthalten ist. Ist das beabsichtigt? Ich stellte mir vor, dass offizielle Plugins standardmäßig enthalten wären.

Nicht alle offiziellen Plugins sind in allen Hosting-Plänen enthalten

3 „Gefällt mir“