diff --git a/assets/javascripts/discourse/components/discourse-post-event/dates.gjs b/assets/javascripts/discourse/components/discourse-post-event/dates.gjs index 00a43df7..da0efdd8 100644 --- a/assets/javascripts/discourse/components/discourse-post-event/dates.gjs +++ b/assets/javascripts/discourse/components/discourse-post-event/dates.gjs @@ -2,7 +2,7 @@ import Component from "@glimmer/component"; import { tracked } from "@glimmer/tracking"; import { action } from "@ember/object"; import didInsert from "@ember/render-modifiers/modifiers/did-insert"; -import { schedule } from "@ember/runloop"; +import { next, schedule } from "@ember/runloop"; import { service } from "@ember/service"; import { htmlSafe } from "@ember/template"; import { applyLocalDates } from "discourse/lib/local-dates"; @@ -59,13 +59,19 @@ export default class DiscoursePostEventDates extends Component { const result = await cook(this.datesBBCode.join("")); this.htmlDates = htmlSafe(result.toString()); - schedule("afterRender", () => { - applyLocalDates( - element.querySelectorAll( - `[data-post-id="${this.args.event.id}"] .discourse-local-date` - ), - this.siteSettings - ); + next(() => { + schedule("afterRender", () => { + if (this.isDestroying || this.isDestroyed) { + return; + } + + applyLocalDates( + element.querySelectorAll( + `[data-post-id="${this.args.event.id}"] .discourse-local-date` + ), + this.siteSettings + ); + }); }); } else { let dates = `${this.startsAt.format(this.format)}`;