# Repeating Event " going" gets not deleted anymore

**URL:** https://meta.discourse.org/t/repeating-event-going-gets-not-deleted-anymore/335780
**Category:** Bug
**Tags:** events, fixed
**Created:** [November 12, 2024, 2:51pm UTC](https://meta.discourse.org/t/repeating-event-going-gets-not-deleted-anymore/335780 "2024-11-12T14:51:56Z")
**Posts on this page:** 1
**Showing post:** 23

<div class="post-metadata">

### Author: ![zogstrip](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/zogstrip/32/512781_2.png) [@zogstrip](https://meta.discourse.org/u/zogstrip)
#### Post date: [June 11, 2026, 10:18pm UTC](https://meta.discourse.org/t/repeating-event-going-gets-not-deleted-anymore/335780/23 "2026-06-11T22:18:41Z")

</div>

Thanks @anko127 for the report 👍

There is indeed a problem was the **My events** calendar showing the event on _every_ upcoming occurrence even when you’d only RSVPed to the next one.

> <https://github.com/discourse/discourse/pull/40813>
>
> Addresses the \*\*My events\*\* calendar issue reported in \[meta t/335780\](https://m…eta.discourse.org/t/repeating-event-going-gets-not-deleted-anymore/335780), and improves how the event popup loads.
> 
> \## FIX: Single-occurrence RSVPs filled the "My events" calendar
> 
> When a member RSVPs "going" to only the next occurrence of a recurring event (not the whole series), the personal \*\*My events\*\* calendar — and the personal ICS feed — listed the event on \_every\_ occurrence instead of just the one they joined.
> 
> \`EventFinder\` matches an event for \`attending\_user\` whenever the member is a "going" invitee, ignoring the invitee's \`recurring\` flag, and the events endpoint then expands the full recurrence series. The per-occurrence invitee list already filtered single RSVPs out of future occurrences, but the calendar/feed query did not.
> 
> \`ExpandOccurrences\` gains a \`current\_occurrence\_only\` option that returns only the event's current occurrence (when it falls inside the requested window). \`EventsController#index\` sets it for the attending member's non-recurring "going" RSVPs, in both the JSON and ICS responses. RSVPs to every occurrence still expand fully; the non-personal calendars (all events / category) are unaffected.
> 
> This is a targeted fix — properly modelling per-occurrence RSVPs (storing each date instead of only the recurrence formula) remains a larger follow-up.
> 
> \## UX: Render event popup details immediately instead of a spinner
> 
> Clicking an event opened a popup that showed only a loading spinner until a full event fetch resolved — slow on poor connections. The component wrapped its whole body in \`DAsyncContent\`, blocking every field on the request even though the calendar already provides each event's core fields (\`BasicEventSerializer\`) and the inline post widget provides the complete event (\`EventSerializer\`).
> 
> It now renders the data already on the client immediately (title, date, recurrence) and fills in the rest (creator, attendees, RSVP buttons) when the background request returns. Inline event widgets in a topic render fully with no fetch at all (and no longer fire a redundant request). Still-loading sections use core's \`.placeholder-animation\` shimmer.
> 
> \## Testing
> 
> \- Request spec — single-occurrence RSVP returns one occurrence; all-occurrences RSVP returns the series.
> \- Service spec — \`current\_occurrence\_only\` returns the current occurrence only when it is inside the window.
> \- System spec — a daily recurring event RSVPed once shows a single tile on \`/upcoming-events/mine\`.
> \- Existing popup integration + system specs cover the immediate-render behaviour.

---

_[View the full topic](https://meta.discourse.org/t/repeating-event-going-gets-not-deleted-anymore/335780)._
