DiscoTOC zeigt mir TypeError

Es wird mir der folgende Fehler angezeigt. Wie kann ich ihn beheben?

Übrigens, nachdem ich ein Inhaltsverzeichnis zu einem Thema hinzugefügt habe, muss ich die Seite aktualisieren, sonst funktioniert der Link zum Inhaltsverzeichnis nicht. Ist das ein normales Verhalten?

1 „Gefällt mir“

Hallo @Yt.w, danke für den Bericht. Ich konnte das von Ihnen erwähnte Problem nicht reproduzieren. Treten dieses Verhalten immer noch auf? Wenn ja, könnten Sie bitte weitere Details zu den Schritten zur Reproduktion angeben?

Soweit ich sehen kann, ist das Aktualisieren der Seite, um das HTML neu zu erstellen, das erwartete Verhalten. Obwohl es möglich sein könnte, dies zu vermeiden, wären Änderungen an der Funktionsweise der Komponente erforderlich.

1 „Gefällt mir“

Hallo, ich beobachte dieses Verhalten immer noch, und es trat tatsächlich unmittelbar nach der Installation meiner aktuellen Instanz auf. Ich habe keine Änderungen vorgenommen.

Meine andere Instanz hat dieses Problem nicht, daher ist es für mich ziemlich verwirrend.

Aus der Sicht der Benutzererfahrung (UX) glaube ich, dass es besser ist, das Aktualisieren der Seite zu vermeiden, um das Inhaltsverzeichnis (TOC) aktiv zu halten.

1 „Gefällt mir“

@Yt.w Können Sie mir bitte Ihre Browserkonsole zeigen, wenn Sie diesen Fehler haben? Erweitern Sie auch den Fehler.


Hallo, das wird in meiner Konsole angezeigt

Ich habe genau denselben Fehler auf einer der drei Websites, die ich in einem Multi-Site-Setup hoste, was mich vermuten lässt, dass eine der Einstellungen auf dieser Website dies verursacht. Ich habe noch nicht herausgefunden, welche Einstellung es ist, aber wenn ich sie gefunden habe, werde ich zurückkommen und den Beitrag aktualisieren. Ich wollte nur hinzufügen, dass ich dies auch in der Praxis mit der neuesten Release, bei der die Tests bestanden wurden, sehe.

Dies ist das, was sich in meiner Konsole befindet, und es sind alles Dinge, die ich kenne, ob zum Besseren oder Schlechteren :slight_smile:

1 „Gefällt mir“

Danke, wir haben immer noch Schwierigkeiten mit einer genauen Reproduktion, wir können dies auf unseren Multisite-gehosteten Websites nicht geschehen lassen.

1 „Gefällt mir“

Dies ist möglicherweise ein Ablenkungsmanöver, ich hatte noch nicht genug Zeit, um nachzuforschen, aber wenn ich die Komponente entferne und neu installiere, erhalte ich durchweg die folgende Fehlermeldung:

image

Die Feldnummer ändert sich vermutlich, weil sie bei jeder Neuinstallation der Komponente als andere Komponentennummer installiert wird. Ich werde weiter nachforschen, aber das passiert nicht, wenn ich dasselbe mit anderen Komponenten mache.

Mein aktueller Verdacht ist, dass das Versagen teilweise darauf zurückzuführen ist, dass ich einige S3-Änderungen rückgängig gemacht habe, die ich speziell an dieser Website vorgenommen habe. @Yt.w, besteht die Möglichkeit, dass Sie S3 ebenfalls irgendwann bei Ihrer Installation verwendet haben?

2 „Gefällt mir“

In Ordnung, ich konnte den Fehler beheben und reproduzieren.

TL;DR

  • Das Zurücksetzen auf eine zuvor funktionierende S3-Konfiguration und das Löschen sowie die Neuinstallation des DiscoTOC-Komponenten führen zu einer fehlerfreien Installation der Komponente.
  • Das Deaktivieren von S3 durch Auskommentieren aller S3-Direktiven in app.yml führt dazu, dass der Fehler wieder auftritt, wenn die Komponente installiert wird, und ich vermute, beim Aktualisieren wird der Fehler auch wieder erscheinen.
  • Das Setzen von DISCOURSE_USE_S3: false stoppt nicht, dass Discourse S3-Pfade verwendet; das wirkt wie ein Fehler oder diese Einstellung tut nicht das, was ich denke, dass sie tut.

Detaillierte Übersicht

Zunächst habe ich mein Minio-Setup wieder aktiviert, die Konfigurationsoptionen in my app.yml auskommentiert, die App neu gebaut und die Aufgabe s3:upload_assets ausgeführt. Sobald die Seite wieder online war, navigierte ich zum Abschnitt Komponenten. Die bereits installierte DiscoTOC-Komponente zeigte noch den Fehler, aber als ich sie löschte und neu installierte, trat der Fehler nicht wieder auf. Während der Installation der DiscoTOC-Komponente wurde sprite.svg von meinem S3-Server angefordert.

Bei dem Versuch, das Problem zu reproduzieren, stieß ich auf ein interessantes Problem. Es scheint, dass wenn ich alle S3-Direktiven in meiner app.yml aktiv lasse, also nicht auskommentiere, aber DISCOURSE_USE_S3: false setze, die Frontend-Seite nicht lädt, wenn Minio nicht läuft.

Vielleicht ist DISCOURSE_USE_S3: false nicht dazu gedacht, den gesamten S3-Zugriff zu deaktivieren. Ich vermute es aufgrund des Namens, aber das scheint nicht der Fall zu sein. Sobald ich den Minio-Dienst neu starte und die Seite aktualisiere, funktioniert alles einwandfrei. Ich kann in diesem Zustand auch die DiscoTOC-Komponente deinstallieren und neu installieren, ohne den Fehler zu reproduzieren. Das scheint mindestens ein Fehler zu sein.

Hier ist der dritte Zustand, der mich zum reproduzierbaren Fehler geführt hat:

Um meine Seite ohne laufendes Minio wieder zum Arbeiten zu bringen, habe ich alle Einträge auskommentiert, die mit S3 zu tun hatten. Dann habe ich die App neu gebaut, und auch wenn Minio nicht läuft, lädt das Frontend ohne Probleme. Wenn ich aber die DiscoTOC-Komponente deinstalliere und wieder installiere, erscheint der Fehler erneut. Ich habe es auch versucht, Minio in diesem Zustand zu starten, aber der Fehler trat erneut bei der Neuinstallation auf, vermutlich weil keine S3-Direktiven in app.yml gesetzt waren und sie somit im Hintergrund vielleicht auf Standardwerte zugreifen. Es scheint jedoch, dass einige Bilder auch nach einem posts:rebake noch von S3 geladen werden (z.B. 1531a70abda0d81d1a4039b6f3fa38bea79ef0de_2_180x180.png/xl.meta).

2 „Gefällt mir“

Ja, das Forum, das Probleme hatte, verwendete S3(B2), während das Forum ohne Probleme kein S3 verwendete.

1 „Gefällt mir“