Editing event end date → post event date on topic title not updated (since 3.6.0.beta2 update)

Hello,

I opened FIX: Refresh event dates in topic lists - Pull Request #43285 - discourse/discourse - GitHub for this.

I then made a screen recording of manual testing against the PR head commit:

The PR is based on main.

The red timer in the recording counts down to the relevant event boundaries, while the green clock shows the current wall-clock time, so the recording should be self-contained.

I’ve included my exact test timings and BBCode below as supplementary notes.

First test — edit end only

Intended timings:

start edited start end edited end
16:22 no edit 16:25 16:28

The BBCode initially was:

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

I explicitly changed it to:

[event start="2026-09-04 16:22" status=public timezone=Europe/London end="2026-09-04 16:28"]
this is an event description
[/event]
Second test — edit start only

Intended timings:

start edited start end edited end
16:31 16:32 16:35 no edit

I made a setup mistake in this run: the initial BBCode was actually:

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

I then explicitly changed it to:

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

So this particular run should not be treated as a clean 16:3116:32 start-only comparison.

Third test — edit start and end

Intended timings:

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

The BBCode initially was:

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

I explicitly changed it to:

[event start="2026-09-04 16:39" status=public timezone=Europe/London end="2026-09-04 16:45" reminders=notification.15.minutes]
[/event]
Fourth test — edit end only

Intended timings:

start edited start end edited end
16:47 no edit 16:50 16:53

The BBCode initially was:

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

I explicitly changed it to:

[event start="2026-09-04 16:47" status=public timezone=Europe/London end="2026-09-04 16:53"]
[/event]
Fifth test — edit start only

Intended timings:

start edited start end edited end
16:56 16:57 17:00 no edit

The final BBCode was:

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

A database check afterwards confirms that this post was edited once by its author within Discourse’s 300-second editing grace period (self_edits = 1). Because the edit was within that grace period, the post remained at version 1 and no visible revision/pencil was created.

The original raw value is therefore no longer available from post_revisions, but the test was not an unedited post.

Sixth test — edit start and end

Intended timings:

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

The final BBCode was:

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

A database check afterwards confirms that this post was edited once by its author within Discourse’s 300-second editing grace period (self_edits = 1). Because the edit was within that grace period, the post remained at version 1 and no visible revision/pencil was created.

The original raw value is therefore no longer available from post_revisions, but the test was not an unedited post.