Skip to content

v1.3.0: Show every occurrence of repeating calendar events

Choose a tag to compare

@dsputa4197 dsputa4197 released this 05 Sep 20:39
· 3 commits to main since this release

Show every occurrence of repeating calendar events

Google publishes a repeating event as one VEVENT with an RRULE, not as one
VEVENT per occurrence. The parser read only the master, so a weekly or
monthly event appeared once and then vanished from the schedule for good
once its first date had passed — and "Refresh now" couldn't reveal that,
since it reported success unconditionally and discarded refresh()'s result.

  • Expand RRULE (DAILY/WEEKLY/MONTHLY/YEARLY, INTERVAL, COUNT, UNTIL, BYDAY)
    over a 24-month horizon, honoring EXDATE, RECURRENCE-ID overrides and
    STATUS:CANCELLED. Monthly steps are anchored to the series start so a run
    on the 31st skips short months instead of sliding onto the 1st.
  • Report the real refresh outcome: the event count on success, or the
    underlying HTTP/parse error, noting that the last saved copy is still live.
  • Pin all-day events to midnight; they were inheriting the current time and
    sorting into the wrong day.
  • Honor a DTSTART's own TZID rather than assuming the site's timezone.
  • Drop the feed cache on version upgrade, so a parser change takes effect on
    the next page view instead of up to wcal_cache_hours later.

Co-Authored-By: Claude Opus 5 noreply@anthropic.com