Bearbeitungsdatum des Ereignisses → Datum nach dem Ereignis im Thema nicht aktualisiert

Getestet auf 3.6.0.beta2, soweit ich mich erinnere, trat das Problem auf beta1 nicht auf

Schritte:

  1. Erstellen Sie ein neues Thema mit einem Startdatum in der Vergangenheit und einem Enddatum in der Zukunft (z. B. in 3 Stunden).
  2. Veröffentlichen Sie das Thema. Das Veranstaltungsdatum im Thema wird korrekt angezeigt.
  3. Aktualisieren Sie das Enddatum der Veranstaltung auf eine spätere oder frühere Zeit.
  4. Problem tritt auf: Das Veranstaltungsdatum im Thema bleibt gleich.

Ich habe auch versucht, das HTML zu aktualisieren, aber das Problem besteht weiterhin.

Bearbeiten: Ich bin auf dasselbe Problem gestoßen, als ich nur das Startdatum der Veranstaltung bearbeitet habe, konnte es aber noch nicht reproduzieren…

1 „Gefällt mir“

Wie bearbeiten Sie das Ereignis, über die Benutzeroberfläche oder über Markdown?

Verhalten sich beide unterschiedlich?

Soweit ich mich erinnere, trat das Problem in beiden Fällen auf, aber ich erinnere mich nicht zu 100 %.

Manchmal wurde das Startdatum nicht aktualisiert und manchmal war das Enddatum betroffen. Ich hatte keine Gelegenheit, es richtig zu reproduzieren, da es sehr zeitaufwändig ist.

Ich habe einen kleinen PR eingereicht, der es bis zu einem gewissen Grad behoben hat. Wir verwenden ihn derzeit als Hilfs-Plugin.

Die aktuelle Problemumgehung ist auch:

  1. Beitrag bearbeiten und den Event-BBCode entfernen, Beitrag speichern
  2. Beitrag bearbeiten, den Event-BBCode mit dem gewünschten Datum erneut hinzufügen und Beitrag speichern

Dies schreibt die Event-Daten von Grund auf neu in das Thema.

Hallo,

ich habe dafür FIX: Refresh event dates in topic lists - Pull Request #43285 - discourse/discourse - GitHub eröffnet.

Anschließend habe ich eine Aufzeichnung der manuellen Tests gegen den Head-Commit des PRs erstellt:

Der PR basiert auf main.

Der rote Timer in der Aufzeichnung zählt auf die relevanten Ereignisgrenzen herunter, während die grüne Uhr die aktuelle Uhrzeit anzeigt, sodass die Aufzeichnung für sich sprechen sollte.

Meine exakten Testzeiten und BBCode habe ich unten als ergänzende Hinweise beigefügt.

Erster Test — nur Ende bearbeiten

Geplante Zeiten:

start edited start end edited end
16:22 keine Änderung 16:25 16:28

Der BBCode war ursprünglich:

[event start="2026-09-04 16:22" status=public timezone=Europe/London end="2026-09-04 16:25"]
this is an event description
[/event]

Ich habe ihn explizit in Folgendes geändert:

[event start="2026-09-04 16:22" status=public timezone=Europe/London end="2026-09-04 16:28"]
this is an event description
[/event]
Zweiter Test — nur Start bearbeiten

Geplante Zeiten:

start edited start end edited end
16:31 16:32 16:35 keine Änderung

Bei diesem Durchlauf habe ich einen Setup-Fehler gemacht: Der ursprüngliche BBCode war tatsächlich:

[event start="2026-09-04 17:00" end="2026-09-04 18:00" status="public" timezone="Europe/London" reminders="notification.15.minutes"]
[/event]

Ich habe ihn anschließend explizit in Folgendes geändert:

[event start="2026-09-04 16:32" status=public timezone=Europe/London end="2026-09-04 16:35" reminders=notification.15.minutes]
[/event]

Dieser bestimmte Durchlauf sollte daher nicht als sauberer Vergleich von 16:3116:32 (nur Start) behandelt werden.

Dritter Test — Start und Ende bearbeiten

Geplante Zeiten:

start edited start end edited end
16:38 16:39 16:42 16:45

Der BBCode war ursprünglich:

[event start="2026-09-04 16:38" status=public timezone=Europe/London end="2026-09-04 16:42" reminders=notification.15.minutes]
[/event]

Ich habe ihn explizit in Folgendes geändert:

[event start="2026-09-04 16:39" status=public timezone=Europe/London end="2026-09-04 16:45" reminders=notification.15.minutes]
[/event]
Vierter Test — nur Ende bearbeiten

Geplante Zeiten:

start edited start end edited end
16:47 keine Änderung 16:50 16:53

Der BBCode war ursprünglich:

[event start="2026-09-04 16:47" status=public timezone=Europe/London end="2026-09-04 16:50"]
[/event]

Ich habe ihn explizit in Folgendes geändert:

[event start="2026-09-04 16:47" status=public timezone=Europe/London end="2026-09-04 16:53"]
[/event]
Fünfter Test — nur Start bearbeiten

Geplante Zeiten:

start edited start end edited end
16:56 16:57 17:00 keine Änderung

Der finale BBCode war:

[event start="2026-09-04 16:57" status=public timezone=Europe/London end="2026-09-04 17:00" reminders=notification.15.minutes]
[/event]

Eine Datenbankprüfung bestätigte anschließend, dass dieser Beitrag einmal von seinem Autor innerhalb der 300-sekündigen Bearbeitungsfrist von Discourse bearbeitet wurde (self_edits = 1). Da die Bearbeitung innerhalb dieser Frist erfolgte, blieb der Beitrag bei Version 1 und es wurde keine sichtbare Revision/der Bleistift erstellt.

Der ursprüngliche Rohwert ist daher nicht mehr aus post_revisions verfügbar, aber der Test war kein unbearbeiteter Beitrag.

Sechster Test — Start und Ende bearbeiten

Geplante Zeiten:

start edited start end edited end
17:03 17:04 17:07 17:10

Der finale BBCode war:

[event start="2026-09-04 17:04" end="2026-09-04 17:10" status="public" timezone="Europe/London" reminders="notification.15.minutes"]
[/event]

Eine Datenbankprüfung bestätigte anschließend, dass dieser Beitrag einmal von seinem Autor innerhalb der 300-sekündigen Bearbeitungsfrist von Discourse bearbeitet wurde (self_edits = 1). Da die Bearbeitung innerhalb dieser Frist erfolgte, blieb der Beitrag bei Version 1 und es wurde keine sichtbare Revision/der Bleistift erstellt.

Der ursprüngliche Rohwert ist daher nicht mehr aus post_revisions verfügbar, aber der Test war kein unbearbeiteter Beitrag.