Ich habe mich mit dem this.router-Fehler im Pavilion Events Plugin beschäftigt und bin auf diesen Fork gestoßen:
Soweit ich das beurteilen kann, ist dieser Fork nur eine Kopie von angusmcleod/discourse-events ohne Commits, die ihn für die neuesten Discourse-Änderungen (einschließlich Ember 5-Unterstützung) aktualisieren. Er scheint die veralteten Code-Pfade, die die aktuellen Fehler verursachen, nicht zu beheben.
Aus Community-Beiträgen und Tests verstehe ich Folgendes:
Das ursprüngliche Events Plugin ist derzeit nicht kompatibel mit dem Ember 5-Upgrade von Discourse.
Benutzer haben Probleme mit den Modals event-rsvp und add-event gemeldet, die zu Fehlfunktionen führen.
Eine vorübergehende Lösung besteht darin, Discourse zu zwingen, Ember 3 zu verwenden, indem EMBER_VERSION=3 in app.yml hinzugefügt wird – dies ist jedoch keine langfristige Lösung und kann zu zukünftigen Problemen führen.
Diese Situation besteht bis Anfang 2025 fort, ohne ein offizielles Update von den Maintainern des Plugins.
Fragen:
Kann jemand bestätigen, ob mein obiges Verständnis korrekt ist?
Hat jemand den awesome-it/discourse-events-Fork erfolgreich auf der neuesten Discourse-Version ohne den Ember 3-Fallback ausgeführt?
Gibt es einen aktiv gepflegten Fork oder ein alternatives Plugin, das die Funktionen des Events Plugins repliziert?
Jede Bestätigung oder Korrektur wäre willkommen, damit ich planen kann, ob ich:
Beim Pavilion-Plugin bleibe und den Ember 3-Fallback verwende
@staff Könnte ich um ein kleines Moderationsupdate für den OP dieses Themas bitten?
Das Plugin hier („Discourse Events“) wird nicht von Pavilion gepflegt und enthält derzeit veralteten Ember-Code (this.router). Dies wurde in diesem Support-Thread bestätigt, wo die Empfehlung lautete, das Plugin zu deaktivieren, falls es installiert ist.
Derzeit macht der OP das nicht deutlich, was zu Verwechslungen mit dem offiziellen Discourse Calendar / Event-Plugin führen kann. Würden Sie erwägen, eine kurze Notiz am Anfang hinzuzufügen (z. B. „ Dieses Plugin ist veraltet und enthält veralteten Code. Nicht zu verwechseln mit dem offiziellen discourse-calendar-Plugin“)?
Auf diese Weise werden zukünftige Leser die beiden nicht verwechseln.
Vielen Dank, angus – ich bin wirklich froh, dass Sie diese Funktionalität beibehalten haben. Ich weiß, dass Sie sich aus der professionellen Unterstützung von discourse-events zurückgezogen hatten, daher bedeutet es viel, dass Sie sich trotzdem die Zeit genommen haben, hier einen Fix zu pushen.
Ich habe den Commit getestet und er hat den Router-Fehler auf meiner Seite behoben.
Ich habe auch gesehen, was Lhc_fl zuvor über den Event-Label-Helfer bemerkt hat, der veralteten Code verwendet – das ist etwas, das in Zukunft noch bereinigt werden muss. Und wie davidtaylor bemerkte, sollten diese Warnungen (verbunden mit veralteten APIs) eine Website nicht von sich aus zum Absturz bringen, daher ist es sinnvoll, dass Ihr Router-Fix das fehlende Stück war, um die Dinge wieder zum Laufen zu bringen.
Ich schätze es, dass Sie dieses Plugin für das aktuelle Discourse am Leben erhalten.