Ereignis schlägt still fehl, wenn die Beschreibung länger als 1000 Zeichen ist

Zusammenfassung:

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: description character 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)

6 „Gefällt mir“

Danke dafür.

Meiner Meinung nach reicht auch Option (c) ohne Warnung nicht aus. Wenn ich abstimfen könnte, wäre (a) die beste Lösung.

1 „Gefällt mir“

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.

2 „Gefällt mir“