Wenn die Beschreibung eines Events länger als 1000 Zeichen ist, erscheint sie leer oder es wird die vorherige Event-Beschreibung angezeigt.
Dies wird durch eine feste Grenze in der Tabelle discourse_post_event_events verursacht: descriptioncharacter varying(1000)
Reproduktion #1
Erstelle ein Event
Die Event-Beschreibung (der Text zwischen [event] und [/event]) muss länger als 1000 Zeichen sein
Die Event-Beschreibung wird im gerenderten Beitrag nicht angezeigt
Reproduktion #2
Erstelle ein Event
Die Event-Beschreibung (der Text zwischen [event] und [/event]) muss kürzer als 1000 Zeichen sein
Bearbeite das Event
Die Event-Beschreibung (der Text zwischen [event] und [/event]) muss länger als 1000 Zeichen sein
Die vorherige Event-Beschreibung wird im gerenderten Beitrag angezeigt
Dies ermöglicht auch das Vergiften der Suche (Search Poisoning).
Verwandt
Dasselbe scheint für die Felder url und location zu gelten
Erwartetes Verhalten
Eines der folgenden:
a) Die Event-Beschreibung sollte unbegrenzt sein
b) Eine klare Warnung wird angezeigt, wenn die Event-Beschreibung zu lang ist
c) Die Event-Beschreibung wird beim Rendern abgeschnitten (der vollständige Text bleibt jedoch im Markdown erhalten)
Repro auf der aktuellen Version, heute getestet. Ein Nutzer hat ein Problem gemeldet, bei dem Event-Karten aus unbekannten Gründen nicht angezeigt werden. Das Thema wurde normal gespeichert, die Event-Formatierung war im Roh-Post korrekt, aber es erschien weder im Thema noch an anderer Stelle eine Event-Karte. Es gab keine Warnung im Composer, keinen Speichelfehler, keinen Browser-Konsolenfehler und keinen relevanten Eintrag in /logs.
Ich würde mich für b) eine klare Warnung oder Validierungsfehlermeldung aussprechen.
Da wir gerade dabei sind: Das exakt gleiche Verhalten (stilles Versagen bei der Anzeige der Karte) tritt auch auf, wenn die Event-Formatierung aus irgendeinem anderen Grund nicht korrekt geparst werden kann. Im Fall, den ich vor einigen Monaten untersuchte, hatte ein Nutzer seine Event-Formatierung sorgfältig in Word vorbereitet und sie dann in Discourse kopiert, was zu automatischen „Intelligenten Anführungszeichen“ um die data=-Elemente führte – mit dem erwartbaren Chaos als Folge.
Also ja, ein sichtbarer Fehler, selbst wenn er nur in der Konsole erscheint, wäre reeeeaally schön.